From 46df670b794c7788d9c47d46795767eda6c1f8c0 Mon Sep 17 00:00:00 2001 From: JBBgameich Date: Tue, 1 May 2018 12:15:44 +0200 Subject: [PATCH 01/13] Add script to extract wiki content --- extract-content.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 extract-content.py diff --git a/extract-content.py b/extract-content.py new file mode 100644 index 0000000..d13234a --- /dev/null +++ b/extract-content.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess +from bs4 import BeautifulSoup +from progress.bar import Bar + +pages = [] + +# Create a list of all pages to convert +for path, subdirs, files in os.walk("wiki"): + for name in files: + if not "?" in name and not ".." in name and ".html" in name: + pages.append(os.path.join(path, name)) + +# Also convert the toplevel index.html +pages.append("index.html") + +# Progress bar +numPages = len(pages) +bar = Bar('Converting pages', max=numPages) + +# Actual extraction +for count, page in enumerate(pages): + pageFile = open(page, "r") + pageSoup = BeautifulSoup(pageFile, 'html.parser') + pageFile.close() + + content = pageSoup.find(id="content") + #print(content) + + contentPage = open(page + ".content", "w") + if not type(content) is None: + contentPage.write(str(content)) + + contentPage.close() + + subprocess.call(["pandoc", "-f", "html", "-t", "markdown-header_attributes-link_attributes-native_divs-native_spans", page + ".content", "-o", page.replace(".html", ".md")]) + + os.remove(page + ".content") + bar.next() + +bar.finish() From d916c9010da77f2e5305145058fe3632d47d78e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= Date: Sat, 23 Mar 2019 21:24:07 +0100 Subject: [PATCH 02/13] Convert content to sphinx documentation --- .gitignore | 1 + .nojekyll | 0 .travis.yml | 11 + Makefile | 19 + conf.py | 173 ++ extract-content.py | 25 +- index.rst | 518 +++++ make.bat | 35 + wiki/Download.rst | 182 ++ wiki/FAQ.en.rst | 1077 ++++++++++ wiki/FAQ.rst | 1612 +++++++++++++++ wiki/FreetzConf2011.rst | 31 + wiki/Impressum.rst | 48 + wiki/Press.en.rst | 18 + wiki/Press.rst | 42 + wiki/common/source_code.en.rst | 91 + wiki/common/source_code.rst | 114 + wiki/costumscript_dublesyslog.rst | 148 ++ wiki/freetz.en.rst | 157 ++ wiki/freetz.rst | 165 ++ wiki/help.rst | 41 + wiki/help/fritz_faq.rst | 339 +++ wiki/help/howtos.rst | 121 ++ wiki/help/howtos/common.rst | 320 +++ wiki/help/howtos/common/busybox_httpd.rst | 225 ++ wiki/help/howtos/common/create_swap.rst | 56 + wiki/help/howtos/common/external.rst | 178 ++ wiki/help/howtos/common/first_trunk.rst | 515 +++++ wiki/help/howtos/common/freetz_linux.rst | 235 +++ wiki/help/howtos/common/install.en.rst | 687 ++++++ wiki/help/howtos/common/install.rst | 800 +++++++ .../help/howtos/common/install/menuconfig.rst | 193 ++ wiki/help/howtos/common/newbie.en.rst | 372 ++++ wiki/help/howtos/common/newbie.rst | 448 ++++ wiki/help/howtos/common/newbie/errors.rst | 82 + .../howtos/common/newbie/errors.rst.content | 106 + wiki/help/howtos/common/newbie/other.rst | 964 +++++++++ wiki/help/howtos/common/shutdown.rst | 163 ++ wiki/help/howtos/common/user.rst | 164 ++ wiki/help/howtos/common/wol.rst | 106 + wiki/help/howtos/development.rst | 85 + wiki/help/howtos/development/adam2.rst | 760 +++++++ .../development/analyse_image_names.rst | 698 +++++++ .../help/howtos/development/bandwidth_svg.rst | 56 + .../howtos/development/compile_own_progs.rst | 382 ++++ .../create_cross-compiler_toolchain.rst | 487 +++++ wiki/help/howtos/development/create_gui.rst | 714 +++++++ .../development/developer_information.rst | 161 ++ .../package_development.rst | 68 + .../package_development_advanced.rst | 310 +++ .../package_development_dynamic.rst | 168 ++ .../package_development_start.rst | 323 +++ .../package_development_start/.language.rst | 21 + .../package_development_start/example_1.rst | 404 ++++ .../package_development_start/example_2.rst | 369 ++++ .../package_development_start/example_3.rst | 280 +++ .../example_config_handling.rst | 37 + .../webinterface_example_1.en.rst | 3 + .../webinterface_example_1.rst | 368 ++++ .../post_commit_hook.rst | 71 + .../shell_coding_conventions.rst | 422 ++++ .../developer_information/webif/libmodcgi.rst | 207 ++ .../development/firmware_update_details.rst | 457 ++++ wiki/help/howtos/development/flash.rst | 711 +++++++ wiki/help/howtos/development/freetz_make.rst | 771 +++++++ .../help/howtos/development/install_addon.rst | 359 ++++ .../development/integrate_own_files.rst | 594 ++++++ .../howtos/development/integrate_patches.rst | 362 ++++ wiki/help/howtos/development/make_busybox.rst | 360 ++++ wiki/help/howtos/development/make_kernel.rst | 359 ++++ wiki/help/howtos/development/make_room.rst | 798 +++++++ .../development/manipulation_detection.rst | 792 +++++++ wiki/help/howtos/development/menuconfig.rst | 379 ++++ .../howtos/development/package_creation.rst | 473 +++++ .../howtos/development/release_management.rst | 120 ++ wiki/help/howtos/development/repack_fw.rst | 214 ++ wiki/help/howtos/development/save_mtd_1.rst | 812 ++++++++ wiki/help/howtos/development/save_mtd_2.rst | 594 ++++++ wiki/help/howtos/development/sign_image.rst | 147 ++ .../help/howtos/development/urlader_flags.rst | 611 ++++++ wiki/help/howtos/security.rst | 84 + .../howtos/security/router_and_firewall.rst | 265 +++ wiki/help/howtos/security/split_wlan_lan.rst | 140 ++ wiki/help/howtos/security/switch_config.rst | 461 +++++ wiki/help/howtos/security/user_management.rst | 162 ++ wiki/help/howtos/troubleshoot.rst | 36 + wiki/help/howtos/troubleshoot/reboots.rst | 34 + .../howtos/troubleshoot/recover_firmware.rst | 33 + .../howtos/troubleshoot/repair_phonebook.rst | 71 + wiki/help/irc.en.rst | 17 + wiki/help/irc.rst | 92 + wiki/help/trouble_shooting.rst | 63 + wiki/help/wikiedit.rst | 141 ++ wiki/help/wikiedit/formatting_guide.rst | 239 +++ wiki/help/wikiedit/goodies.rst | 285 +++ wiki/help/wikiedit/screenshots.rst | 190 ++ wiki/help/wikiedit/tables.rst | 306 +++ wiki/help/wikiedit/tagging.rst | 159 ++ wiki/help/wikiedit/toc.rst | 176 ++ wiki/index.en.rst | 135 ++ wiki/index.rst | 144 ++ wiki/kernel.rst | 1412 +++++++++++++ wiki/libs.rst | 115 ++ wiki/libs/ftdi.en.rst | 109 + wiki/libs/ftdi.rst | 162 ++ wiki/libs_tagged.rst | 100 + wiki/packages.rst | 1839 +++++++++++++++++ wiki/packages/DemoPackageA.rst | 36 + wiki/packages/aiccu.en.rst | 126 ++ wiki/packages/aiccu.rst | 249 +++ wiki/packages/apache.rst | 250 +++ wiki/packages/asterisk.rst | 10 + wiki/packages/authorized-keys.en.rst | 18 + wiki/packages/authorized-keys.rst | 26 + wiki/packages/autofs.rst | 106 + wiki/packages/avm-firewall.rst | 243 +++ wiki/packages/bash.rst | 114 + wiki/packages/bftpd.rst | 123 ++ wiki/packages/bind.rst | 47 + wiki/packages/bip.rst | 111 + wiki/packages/bird.rst | 20 + wiki/packages/bluez-utils.rst | 21 + wiki/packages/bluez.rst | 172 ++ wiki/packages/br2684ctl.en.rst | 230 +++ wiki/packages/br2684ctl.rst | 30 + wiki/packages/bridge-utils.rst | 32 + wiki/packages/callmonitor.rst | 142 ++ wiki/packages/callmonitor/actions.rst | 236 +++ wiki/packages/callmonitor/actions/call.rst | 42 + wiki/packages/callmonitor/actions/config.rst | 164 ++ wiki/packages/callmonitor/actions/dbox.rst | 50 + wiki/packages/callmonitor/actions/dial.rst | 25 + .../packages/callmonitor/actions/dreambox.rst | 114 + wiki/packages/callmonitor/actions/getmsg.rst | 60 + wiki/packages/callmonitor/actions/mail.rst | 86 + .../packages/callmonitor/actions/musicpal.rst | 32 + .../packages/callmonitor/actions/password.rst | 54 + wiki/packages/callmonitor/actions/rawmsg.rst | 29 + wiki/packages/callmonitor/actions/relook.rst | 21 + wiki/packages/callmonitor/actions/samsung.rst | 62 + .../callmonitor/actions/self-defined.rst | 13 + wiki/packages/callmonitor/actions/snarl.rst | 66 + .../callmonitor/actions/soundbridge.rst | 35 + wiki/packages/callmonitor/actions/vdr.rst | 14 + wiki/packages/callmonitor/actions/wol.rst | 24 + wiki/packages/callmonitor/actions/xbox.rst | 91 + wiki/packages/callmonitor/actions/yac.rst | 16 + wiki/packages/callmonitor/adapt_messages.rst | 26 + wiki/packages/callmonitor/config.rst | 151 ++ wiki/packages/callmonitor/events.rst | 79 + wiki/packages/callmonitor/faq.rst | 14 + wiki/packages/callmonitor/listeners.rst | 405 ++++ wiki/packages/callmonitor/maintenance.rst | 75 + wiki/packages/callmonitor/phonebook.rst | 84 + wiki/packages/callmonitor/reverse_search.rst | 84 + wiki/packages/callmonitor/testcall.rst | 80 + wiki/packages/checkmaild.rst | 149 ++ wiki/packages/cifsmount.rst | 80 + wiki/packages/cpmaccfg.rst | 19 + wiki/packages/ctorrent.rst | 39 + wiki/packages/curl.rst | 21 + wiki/packages/davfs2.rst | 176 ++ wiki/packages/debootstrap.rst | 262 +++ wiki/packages/deco.rst | 27 + wiki/packages/digitemp.rst | 144 ++ wiki/packages/dns2tcp.rst | 92 + wiki/packages/dnsd.en.rst | 30 + wiki/packages/dnsd.rst | 27 + wiki/packages/dnsmasq.rst | 519 +++++ wiki/packages/downloader.rst | 59 + wiki/packages/dropbear.en.rst | 55 + wiki/packages/dropbear.rst | 481 +++++ wiki/packages/dtach.rst | 67 + wiki/packages/dtmfbox.rst | 292 +++ wiki/packages/e2fsprogs.rst | 31 + wiki/packages/emailrelay.rst | 34 + wiki/packages/empty.rst | 24 + wiki/packages/espeak.rst | 82 + wiki/packages/fhem.rst | 45 + wiki/packages/fhzctrl.rst | 27 + wiki/packages/fortune.rst | 90 + wiki/packages/fritzload.rst | 54 + wiki/packages/fstyp.rst | 17 + wiki/packages/fuse.rst | 47 + wiki/packages/gw6.rst | 23 + wiki/packages/haserl.rst | 88 + wiki/packages/hd-idle.rst | 24 + wiki/packages/hiawatha.rst | 69 + wiki/packages/hol.rst | 70 + wiki/packages/hp-utils.rst | 39 + wiki/packages/hplip.rst | 18 + wiki/packages/htpdate.rst | 15 + wiki/packages/httptunnel.rst | 51 + wiki/packages/igmpproxy.rst | 86 + wiki/packages/imapproxy.en.rst | 43 + wiki/packages/inadyn-mt.en.rst | 102 + wiki/packages/inadyn-mt.rst | 50 + wiki/packages/inetd.rst | 101 + wiki/packages/inotify-tools.rst | 344 +++ wiki/packages/iodine.rst | 102 + wiki/packages/iptables-cgi.rst | 160 ++ wiki/packages/iptables.en.rst | 416 ++++ wiki/packages/iptables.rst | 463 +++++ wiki/packages/irssi.rst | 31 + wiki/packages/jamvm.rst | 56 + wiki/packages/knock.rst | 34 + wiki/packages/ldd.rst | 35 + wiki/packages/lighttpd.rst | 143 ++ wiki/packages/lsof.rst | 28 + wiki/packages/ltrace.rst | 27 + wiki/packages/lua.rst | 33 + wiki/packages/lynx.rst | 37 + wiki/packages/m-i-t.rst | 21 + wiki/packages/madplay.rst | 29 + wiki/packages/matrixtunnel.rst | 32 + wiki/packages/mc.rst | 28 + wiki/packages/mcabber.rst | 39 + wiki/packages/mediaserver.rst | 156 ++ wiki/packages/mediatomb.rst | 37 + wiki/packages/microperl.rst | 32 + wiki/packages/mini_fo.rst | 132 ++ wiki/packages/minidlna.rst | 30 + wiki/packages/mod.rst | 192 ++ wiki/packages/mtr.rst | 30 + wiki/packages/nagios.rst | 52 + wiki/packages/nano-shell.rst | 127 ++ wiki/packages/nano.rst | 24 + wiki/packages/ncftp.rst | 134 ++ wiki/packages/ndas.en.rst | 367 ++++ wiki/packages/ndas.rst | 360 ++++ wiki/packages/netatalk.rst | 5 + wiki/packages/netcat.rst | 36 + wiki/packages/netsnmp.en.rst | 169 ++ wiki/packages/netsnmp.rst | 53 + wiki/packages/netsnmp/mrtg.en.rst | 1612 +++++++++++++++ wiki/packages/nfs-utils.rst | 35 + wiki/packages/nfs.rst | 56 + wiki/packages/nfsd.en.rst | 270 +++ wiki/packages/nfsd.rst | 118 ++ wiki/packages/nhipt.en.rst | 311 +++ wiki/packages/nhipt.rst | 440 ++++ wiki/packages/nmap.rst | 101 + wiki/packages/ntfs-3g.rst | 37 + wiki/packages/obexftp.rst | 33 + wiki/packages/onlinechanged.rst | 18 + wiki/packages/onlinechanged_cgi.rst | 37 + wiki/packages/opendd.rst | 118 ++ wiki/packages/openntpd.rst | 98 + wiki/packages/openvpn.rst | 693 +++++++ wiki/packages/owfs.rst | 48 + wiki/packages/pciutils.rst | 27 + wiki/packages/php.rst | 51 + wiki/packages/phpxmail.en.rst | 166 ++ wiki/packages/phpxmail.rst | 10 + wiki/packages/pingtunnel.rst | 100 + wiki/packages/polipo.en.rst | 116 ++ wiki/packages/portmap.rst | 32 + wiki/packages/ppp.rst | 197 ++ wiki/packages/pptp.rst | 58 + wiki/packages/pptpd.rst | 85 + wiki/packages/pptpd/config.rst | 169 ++ wiki/packages/pptpd/install.rst | 216 ++ wiki/packages/pptpd/webif.rst | 100 + wiki/packages/privoxy.rst | 180 ++ wiki/packages/prosody.en.rst | 47 + wiki/packages/prosody.rst | 259 +++ wiki/packages/quagga.rst | 49 + wiki/packages/radvd.en.rst | 159 ++ wiki/packages/radvd.rst | 22 + wiki/packages/rrdstats.rst | 291 +++ wiki/packages/rrdtool.rst | 48 + wiki/packages/ruby.rst | 59 + wiki/packages/rudi-shell.rst | 168 ++ wiki/packages/rudi-shell/functions.rst | 108 + wiki/packages/rudi-shell/install.rst | 88 + wiki/packages/rudi-shell/limits.rst | 82 + wiki/packages/rudi-shell/tips.rst | 366 ++++ wiki/packages/rudi-shell/usage.rst | 187 ++ wiki/packages/s3fslite.rst | 64 + wiki/packages/samba.rst | 272 +++ wiki/packages/sane-backends.rst | 291 +++ wiki/packages/screen.rst | 85 + wiki/packages/ser2net.rst | 15 + wiki/packages/siproxd.rst | 9 + wiki/packages/sispmctl.rst | 223 ++ wiki/packages/smartmontools.rst | 37 + wiki/packages/smstools3.rst | 59 + wiki/packages/socat.rst | 19 + wiki/packages/spindown.rst | 28 + wiki/packages/strace.rst | 96 + wiki/packages/streamripper.rst | 54 + wiki/packages/stunnel.rst | 80 + wiki/packages/subversion.rst | 113 + wiki/packages/sundtek.rst | 69 + wiki/packages/syslogd.en.rst | 51 + wiki/packages/syslogd.rst | 78 + wiki/packages/tcp_wrappers.rst | 43 + wiki/packages/tcpdump.rst | 50 + wiki/packages/tinc.rst | 62 + wiki/packages/tinyproxy.rst | 69 + wiki/packages/tor.rst | 242 +++ wiki/packages/transmission.en.rst | 120 ++ wiki/packages/transmission.rst | 35 + wiki/packages/trickle.rst | 139 ++ wiki/packages/unbound.rst | 25 + wiki/packages/usbip.rst | 62 + wiki/packages/usbroot.rst | 192 ++ wiki/packages/usbutils.rst | 30 + wiki/packages/vim.rst | 48 + wiki/packages/virtualip.rst | 119 ++ wiki/packages/vpnc.rst | 24 + wiki/packages/vsftpd.rst | 382 ++++ wiki/packages/vtund.rst | 68 + wiki/packages/wget.rst | 34 + wiki/packages/wol.rst | 82 + wiki/packages/wput.rst | 22 + wiki/packages/xmail.rst | 15 + wiki/packages/xrelayd.rst | 83 + wiki/packages/xyssl.rst | 14 + wiki/packages/ziproxy.rst | 99 + wiki/packages_tagged.rst | 436 ++++ wiki/patch.rst | 235 +++ wiki/patches.rst | 540 +++++ wiki/patches/alarmclock.rst | 12 + wiki/patches/custom_udev_rules.rst | 16 + wiki/patches/enum.en.rst | 12 + wiki/patches/enum.rst | 13 + wiki/patches/exec_autorun.rst | 59 + wiki/patches/freetzmount.en.rst | 44 + wiki/patches/freetzmount.rst | 47 + wiki/patches/maxdevcount.rst | 10 + wiki/patches/multpile_printers.rst | 56 + wiki/patches/onlinechanged.rst | 53 + wiki/patches/remove_assistant.rst | 16 + wiki/patches/remove_aura_usb.rst | 40 + wiki/patches/remove_capi.rst | 58 + wiki/patches/remove_dsld.rst | 31 + wiki/patches/remove_ftpd.rst | 23 + wiki/patches/remove_help.rst | 18 + wiki/patches/remove_mediasrv.rst | 36 + wiki/patches/remove_minid.rst | 34 + wiki/patches/remove_myfritz.rst | 35 + wiki/patches/remove_samba.rst | 19 + wiki/patches/remove_support.rst | 36 + wiki/patches/remove_tr069.rst | 98 + wiki/patches/remove_upnp.rst | 73 + wiki/patches/remove_usermand.rst | 30 + wiki/patches/remove_vpn.rst | 44 + wiki/patches/replace_onlinechanged.rst | 61 + wiki/patches/signed.rst | 19 + wiki/patches/usb_names.rst | 25 + wiki/style.rst | 46 + wiki/style/favicons.rst | 110 + wiki/style/mounted.rst | 47 + wiki/style/skins.rst | 41 + wiki/style/tagging.rst | 9 + wiki/ticket.rst | 105 + 357 files changed, 58712 insertions(+), 2 deletions(-) create mode 100644 .nojekyll create mode 100644 .travis.yml create mode 100644 Makefile create mode 100644 conf.py create mode 100644 index.rst create mode 100644 make.bat create mode 100644 wiki/Download.rst create mode 100644 wiki/FAQ.en.rst create mode 100644 wiki/FAQ.rst create mode 100644 wiki/FreetzConf2011.rst create mode 100644 wiki/Impressum.rst create mode 100644 wiki/Press.en.rst create mode 100644 wiki/Press.rst create mode 100644 wiki/common/source_code.en.rst create mode 100644 wiki/common/source_code.rst create mode 100644 wiki/costumscript_dublesyslog.rst create mode 100644 wiki/freetz.en.rst create mode 100644 wiki/freetz.rst create mode 100644 wiki/help.rst create mode 100644 wiki/help/fritz_faq.rst create mode 100644 wiki/help/howtos.rst create mode 100644 wiki/help/howtos/common.rst create mode 100644 wiki/help/howtos/common/busybox_httpd.rst create mode 100644 wiki/help/howtos/common/create_swap.rst create mode 100644 wiki/help/howtos/common/external.rst create mode 100644 wiki/help/howtos/common/first_trunk.rst create mode 100644 wiki/help/howtos/common/freetz_linux.rst create mode 100644 wiki/help/howtos/common/install.en.rst create mode 100644 wiki/help/howtos/common/install.rst create mode 100644 wiki/help/howtos/common/install/menuconfig.rst create mode 100644 wiki/help/howtos/common/newbie.en.rst create mode 100644 wiki/help/howtos/common/newbie.rst create mode 100644 wiki/help/howtos/common/newbie/errors.rst create mode 100644 wiki/help/howtos/common/newbie/errors.rst.content create mode 100644 wiki/help/howtos/common/newbie/other.rst create mode 100644 wiki/help/howtos/common/shutdown.rst create mode 100644 wiki/help/howtos/common/user.rst create mode 100644 wiki/help/howtos/common/wol.rst create mode 100644 wiki/help/howtos/development.rst create mode 100644 wiki/help/howtos/development/adam2.rst create mode 100644 wiki/help/howtos/development/analyse_image_names.rst create mode 100644 wiki/help/howtos/development/bandwidth_svg.rst create mode 100644 wiki/help/howtos/development/compile_own_progs.rst create mode 100644 wiki/help/howtos/development/create_cross-compiler_toolchain.rst create mode 100644 wiki/help/howtos/development/create_gui.rst create mode 100644 wiki/help/howtos/development/developer_information.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_advanced.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_dynamic.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/.language.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/example_1.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/example_2.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/example_3.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst create mode 100644 wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst create mode 100644 wiki/help/howtos/development/developer_information/post_commit_hook.rst create mode 100644 wiki/help/howtos/development/developer_information/shell_coding_conventions.rst create mode 100644 wiki/help/howtos/development/developer_information/webif/libmodcgi.rst create mode 100644 wiki/help/howtos/development/firmware_update_details.rst create mode 100644 wiki/help/howtos/development/flash.rst create mode 100644 wiki/help/howtos/development/freetz_make.rst create mode 100644 wiki/help/howtos/development/install_addon.rst create mode 100644 wiki/help/howtos/development/integrate_own_files.rst create mode 100644 wiki/help/howtos/development/integrate_patches.rst create mode 100644 wiki/help/howtos/development/make_busybox.rst create mode 100644 wiki/help/howtos/development/make_kernel.rst create mode 100644 wiki/help/howtos/development/make_room.rst create mode 100644 wiki/help/howtos/development/manipulation_detection.rst create mode 100644 wiki/help/howtos/development/menuconfig.rst create mode 100644 wiki/help/howtos/development/package_creation.rst create mode 100644 wiki/help/howtos/development/release_management.rst create mode 100644 wiki/help/howtos/development/repack_fw.rst create mode 100644 wiki/help/howtos/development/save_mtd_1.rst create mode 100644 wiki/help/howtos/development/save_mtd_2.rst create mode 100644 wiki/help/howtos/development/sign_image.rst create mode 100644 wiki/help/howtos/development/urlader_flags.rst create mode 100644 wiki/help/howtos/security.rst create mode 100644 wiki/help/howtos/security/router_and_firewall.rst create mode 100644 wiki/help/howtos/security/split_wlan_lan.rst create mode 100644 wiki/help/howtos/security/switch_config.rst create mode 100644 wiki/help/howtos/security/user_management.rst create mode 100644 wiki/help/howtos/troubleshoot.rst create mode 100644 wiki/help/howtos/troubleshoot/reboots.rst create mode 100644 wiki/help/howtos/troubleshoot/recover_firmware.rst create mode 100644 wiki/help/howtos/troubleshoot/repair_phonebook.rst create mode 100644 wiki/help/irc.en.rst create mode 100644 wiki/help/irc.rst create mode 100644 wiki/help/trouble_shooting.rst create mode 100644 wiki/help/wikiedit.rst create mode 100644 wiki/help/wikiedit/formatting_guide.rst create mode 100644 wiki/help/wikiedit/goodies.rst create mode 100644 wiki/help/wikiedit/screenshots.rst create mode 100644 wiki/help/wikiedit/tables.rst create mode 100644 wiki/help/wikiedit/tagging.rst create mode 100644 wiki/help/wikiedit/toc.rst create mode 100644 wiki/index.en.rst create mode 100644 wiki/index.rst create mode 100644 wiki/kernel.rst create mode 100644 wiki/libs.rst create mode 100644 wiki/libs/ftdi.en.rst create mode 100644 wiki/libs/ftdi.rst create mode 100644 wiki/libs_tagged.rst create mode 100644 wiki/packages.rst create mode 100644 wiki/packages/DemoPackageA.rst create mode 100644 wiki/packages/aiccu.en.rst create mode 100644 wiki/packages/aiccu.rst create mode 100644 wiki/packages/apache.rst create mode 100644 wiki/packages/asterisk.rst create mode 100644 wiki/packages/authorized-keys.en.rst create mode 100644 wiki/packages/authorized-keys.rst create mode 100644 wiki/packages/autofs.rst create mode 100644 wiki/packages/avm-firewall.rst create mode 100644 wiki/packages/bash.rst create mode 100644 wiki/packages/bftpd.rst create mode 100644 wiki/packages/bind.rst create mode 100644 wiki/packages/bip.rst create mode 100644 wiki/packages/bird.rst create mode 100644 wiki/packages/bluez-utils.rst create mode 100644 wiki/packages/bluez.rst create mode 100644 wiki/packages/br2684ctl.en.rst create mode 100644 wiki/packages/br2684ctl.rst create mode 100644 wiki/packages/bridge-utils.rst create mode 100644 wiki/packages/callmonitor.rst create mode 100644 wiki/packages/callmonitor/actions.rst create mode 100644 wiki/packages/callmonitor/actions/call.rst create mode 100644 wiki/packages/callmonitor/actions/config.rst create mode 100644 wiki/packages/callmonitor/actions/dbox.rst create mode 100644 wiki/packages/callmonitor/actions/dial.rst create mode 100644 wiki/packages/callmonitor/actions/dreambox.rst create mode 100644 wiki/packages/callmonitor/actions/getmsg.rst create mode 100644 wiki/packages/callmonitor/actions/mail.rst create mode 100644 wiki/packages/callmonitor/actions/musicpal.rst create mode 100644 wiki/packages/callmonitor/actions/password.rst create mode 100644 wiki/packages/callmonitor/actions/rawmsg.rst create mode 100644 wiki/packages/callmonitor/actions/relook.rst create mode 100644 wiki/packages/callmonitor/actions/samsung.rst create mode 100644 wiki/packages/callmonitor/actions/self-defined.rst create mode 100644 wiki/packages/callmonitor/actions/snarl.rst create mode 100644 wiki/packages/callmonitor/actions/soundbridge.rst create mode 100644 wiki/packages/callmonitor/actions/vdr.rst create mode 100644 wiki/packages/callmonitor/actions/wol.rst create mode 100644 wiki/packages/callmonitor/actions/xbox.rst create mode 100644 wiki/packages/callmonitor/actions/yac.rst create mode 100644 wiki/packages/callmonitor/adapt_messages.rst create mode 100644 wiki/packages/callmonitor/config.rst create mode 100644 wiki/packages/callmonitor/events.rst create mode 100644 wiki/packages/callmonitor/faq.rst create mode 100644 wiki/packages/callmonitor/listeners.rst create mode 100644 wiki/packages/callmonitor/maintenance.rst create mode 100644 wiki/packages/callmonitor/phonebook.rst create mode 100644 wiki/packages/callmonitor/reverse_search.rst create mode 100644 wiki/packages/callmonitor/testcall.rst create mode 100644 wiki/packages/checkmaild.rst create mode 100644 wiki/packages/cifsmount.rst create mode 100644 wiki/packages/cpmaccfg.rst create mode 100644 wiki/packages/ctorrent.rst create mode 100644 wiki/packages/curl.rst create mode 100644 wiki/packages/davfs2.rst create mode 100644 wiki/packages/debootstrap.rst create mode 100644 wiki/packages/deco.rst create mode 100644 wiki/packages/digitemp.rst create mode 100644 wiki/packages/dns2tcp.rst create mode 100644 wiki/packages/dnsd.en.rst create mode 100644 wiki/packages/dnsd.rst create mode 100644 wiki/packages/dnsmasq.rst create mode 100644 wiki/packages/downloader.rst create mode 100644 wiki/packages/dropbear.en.rst create mode 100644 wiki/packages/dropbear.rst create mode 100644 wiki/packages/dtach.rst create mode 100644 wiki/packages/dtmfbox.rst create mode 100644 wiki/packages/e2fsprogs.rst create mode 100644 wiki/packages/emailrelay.rst create mode 100644 wiki/packages/empty.rst create mode 100644 wiki/packages/espeak.rst create mode 100644 wiki/packages/fhem.rst create mode 100644 wiki/packages/fhzctrl.rst create mode 100644 wiki/packages/fortune.rst create mode 100644 wiki/packages/fritzload.rst create mode 100644 wiki/packages/fstyp.rst create mode 100644 wiki/packages/fuse.rst create mode 100644 wiki/packages/gw6.rst create mode 100644 wiki/packages/haserl.rst create mode 100644 wiki/packages/hd-idle.rst create mode 100644 wiki/packages/hiawatha.rst create mode 100644 wiki/packages/hol.rst create mode 100644 wiki/packages/hp-utils.rst create mode 100644 wiki/packages/hplip.rst create mode 100644 wiki/packages/htpdate.rst create mode 100644 wiki/packages/httptunnel.rst create mode 100644 wiki/packages/igmpproxy.rst create mode 100644 wiki/packages/imapproxy.en.rst create mode 100644 wiki/packages/inadyn-mt.en.rst create mode 100644 wiki/packages/inadyn-mt.rst create mode 100644 wiki/packages/inetd.rst create mode 100644 wiki/packages/inotify-tools.rst create mode 100644 wiki/packages/iodine.rst create mode 100644 wiki/packages/iptables-cgi.rst create mode 100644 wiki/packages/iptables.en.rst create mode 100644 wiki/packages/iptables.rst create mode 100644 wiki/packages/irssi.rst create mode 100644 wiki/packages/jamvm.rst create mode 100644 wiki/packages/knock.rst create mode 100644 wiki/packages/ldd.rst create mode 100644 wiki/packages/lighttpd.rst create mode 100644 wiki/packages/lsof.rst create mode 100644 wiki/packages/ltrace.rst create mode 100644 wiki/packages/lua.rst create mode 100644 wiki/packages/lynx.rst create mode 100644 wiki/packages/m-i-t.rst create mode 100644 wiki/packages/madplay.rst create mode 100644 wiki/packages/matrixtunnel.rst create mode 100644 wiki/packages/mc.rst create mode 100644 wiki/packages/mcabber.rst create mode 100644 wiki/packages/mediaserver.rst create mode 100644 wiki/packages/mediatomb.rst create mode 100644 wiki/packages/microperl.rst create mode 100644 wiki/packages/mini_fo.rst create mode 100644 wiki/packages/minidlna.rst create mode 100644 wiki/packages/mod.rst create mode 100644 wiki/packages/mtr.rst create mode 100644 wiki/packages/nagios.rst create mode 100644 wiki/packages/nano-shell.rst create mode 100644 wiki/packages/nano.rst create mode 100644 wiki/packages/ncftp.rst create mode 100644 wiki/packages/ndas.en.rst create mode 100644 wiki/packages/ndas.rst create mode 100644 wiki/packages/netatalk.rst create mode 100644 wiki/packages/netcat.rst create mode 100644 wiki/packages/netsnmp.en.rst create mode 100644 wiki/packages/netsnmp.rst create mode 100644 wiki/packages/netsnmp/mrtg.en.rst create mode 100644 wiki/packages/nfs-utils.rst create mode 100644 wiki/packages/nfs.rst create mode 100644 wiki/packages/nfsd.en.rst create mode 100644 wiki/packages/nfsd.rst create mode 100644 wiki/packages/nhipt.en.rst create mode 100644 wiki/packages/nhipt.rst create mode 100644 wiki/packages/nmap.rst create mode 100644 wiki/packages/ntfs-3g.rst create mode 100644 wiki/packages/obexftp.rst create mode 100644 wiki/packages/onlinechanged.rst create mode 100644 wiki/packages/onlinechanged_cgi.rst create mode 100644 wiki/packages/opendd.rst create mode 100644 wiki/packages/openntpd.rst create mode 100644 wiki/packages/openvpn.rst create mode 100644 wiki/packages/owfs.rst create mode 100644 wiki/packages/pciutils.rst create mode 100644 wiki/packages/php.rst create mode 100644 wiki/packages/phpxmail.en.rst create mode 100644 wiki/packages/phpxmail.rst create mode 100644 wiki/packages/pingtunnel.rst create mode 100644 wiki/packages/polipo.en.rst create mode 100644 wiki/packages/portmap.rst create mode 100644 wiki/packages/ppp.rst create mode 100644 wiki/packages/pptp.rst create mode 100644 wiki/packages/pptpd.rst create mode 100644 wiki/packages/pptpd/config.rst create mode 100644 wiki/packages/pptpd/install.rst create mode 100644 wiki/packages/pptpd/webif.rst create mode 100644 wiki/packages/privoxy.rst create mode 100644 wiki/packages/prosody.en.rst create mode 100644 wiki/packages/prosody.rst create mode 100644 wiki/packages/quagga.rst create mode 100644 wiki/packages/radvd.en.rst create mode 100644 wiki/packages/radvd.rst create mode 100644 wiki/packages/rrdstats.rst create mode 100644 wiki/packages/rrdtool.rst create mode 100644 wiki/packages/ruby.rst create mode 100644 wiki/packages/rudi-shell.rst create mode 100644 wiki/packages/rudi-shell/functions.rst create mode 100644 wiki/packages/rudi-shell/install.rst create mode 100644 wiki/packages/rudi-shell/limits.rst create mode 100644 wiki/packages/rudi-shell/tips.rst create mode 100644 wiki/packages/rudi-shell/usage.rst create mode 100644 wiki/packages/s3fslite.rst create mode 100644 wiki/packages/samba.rst create mode 100644 wiki/packages/sane-backends.rst create mode 100644 wiki/packages/screen.rst create mode 100644 wiki/packages/ser2net.rst create mode 100644 wiki/packages/siproxd.rst create mode 100644 wiki/packages/sispmctl.rst create mode 100644 wiki/packages/smartmontools.rst create mode 100644 wiki/packages/smstools3.rst create mode 100644 wiki/packages/socat.rst create mode 100644 wiki/packages/spindown.rst create mode 100644 wiki/packages/strace.rst create mode 100644 wiki/packages/streamripper.rst create mode 100644 wiki/packages/stunnel.rst create mode 100644 wiki/packages/subversion.rst create mode 100644 wiki/packages/sundtek.rst create mode 100644 wiki/packages/syslogd.en.rst create mode 100644 wiki/packages/syslogd.rst create mode 100644 wiki/packages/tcp_wrappers.rst create mode 100644 wiki/packages/tcpdump.rst create mode 100644 wiki/packages/tinc.rst create mode 100644 wiki/packages/tinyproxy.rst create mode 100644 wiki/packages/tor.rst create mode 100644 wiki/packages/transmission.en.rst create mode 100644 wiki/packages/transmission.rst create mode 100644 wiki/packages/trickle.rst create mode 100644 wiki/packages/unbound.rst create mode 100644 wiki/packages/usbip.rst create mode 100644 wiki/packages/usbroot.rst create mode 100644 wiki/packages/usbutils.rst create mode 100644 wiki/packages/vim.rst create mode 100644 wiki/packages/virtualip.rst create mode 100644 wiki/packages/vpnc.rst create mode 100644 wiki/packages/vsftpd.rst create mode 100644 wiki/packages/vtund.rst create mode 100644 wiki/packages/wget.rst create mode 100644 wiki/packages/wol.rst create mode 100644 wiki/packages/wput.rst create mode 100644 wiki/packages/xmail.rst create mode 100644 wiki/packages/xrelayd.rst create mode 100644 wiki/packages/xyssl.rst create mode 100644 wiki/packages/ziproxy.rst create mode 100644 wiki/packages_tagged.rst create mode 100644 wiki/patch.rst create mode 100644 wiki/patches.rst create mode 100644 wiki/patches/alarmclock.rst create mode 100644 wiki/patches/custom_udev_rules.rst create mode 100644 wiki/patches/enum.en.rst create mode 100644 wiki/patches/enum.rst create mode 100644 wiki/patches/exec_autorun.rst create mode 100644 wiki/patches/freetzmount.en.rst create mode 100644 wiki/patches/freetzmount.rst create mode 100644 wiki/patches/maxdevcount.rst create mode 100644 wiki/patches/multpile_printers.rst create mode 100644 wiki/patches/onlinechanged.rst create mode 100644 wiki/patches/remove_assistant.rst create mode 100644 wiki/patches/remove_aura_usb.rst create mode 100644 wiki/patches/remove_capi.rst create mode 100644 wiki/patches/remove_dsld.rst create mode 100644 wiki/patches/remove_ftpd.rst create mode 100644 wiki/patches/remove_help.rst create mode 100644 wiki/patches/remove_mediasrv.rst create mode 100644 wiki/patches/remove_minid.rst create mode 100644 wiki/patches/remove_myfritz.rst create mode 100644 wiki/patches/remove_samba.rst create mode 100644 wiki/patches/remove_support.rst create mode 100644 wiki/patches/remove_tr069.rst create mode 100644 wiki/patches/remove_upnp.rst create mode 100644 wiki/patches/remove_usermand.rst create mode 100644 wiki/patches/remove_vpn.rst create mode 100644 wiki/patches/replace_onlinechanged.rst create mode 100644 wiki/patches/signed.rst create mode 100644 wiki/patches/usb_names.rst create mode 100644 wiki/style.rst create mode 100644 wiki/style/favicons.rst create mode 100644 wiki/style/mounted.rst create mode 100644 wiki/style/skins.rst create mode 100644 wiki/style/tagging.rst create mode 100644 wiki/ticket.rst diff --git a/.gitignore b/.gitignore index 98b50ee..324fc22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ # IntelliJ IDEA .idea/ *.iml +build/ diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..17eaa98 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: python +cache: pip + +python: + - "2.7" + +install: + - pip install -r requirements.txt + +script: + - sphinx-build -Wa . _build/html diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5dede4a --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = . +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..6a22cdc --- /dev/null +++ b/conf.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'Freetz' +copyright = '2019, Freetz Developers' +author = 'Freetz Developers' + +# The short X.Y version +version = '' +# The full version, including alpha/beta/rc tags +release = 'master' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'de' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Freetzdoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'Freetz.tex', 'Freetz Documentation', + 'Freetz Developers', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'freetz', 'Freetz Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'Freetz', 'Freetz Documentation', + author, 'Freetz', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] diff --git a/extract-content.py b/extract-content.py index d13234a..01ad6f8 100644 --- a/extract-content.py +++ b/extract-content.py @@ -7,6 +7,13 @@ from progress.bar import Bar pages = [] +titleList = [] + +def line_prepender(filename, line): + with open(filename, 'r+') as f: + content = f.read() + f.seek(0, 0) + f.write(line.rstrip('\r\n') + '\n' + content) # Create a list of all pages to convert for path, subdirs, files in os.walk("wiki"): @@ -28,7 +35,12 @@ pageFile.close() content = pageSoup.find(id="content") - #print(content) + try: + title = pageSoup.title.string.strip().replace(" – Freetz", "") + except: + title = page.replace("html", "").strip() + + titleList.append(title) contentPage = open(page + ".content", "w") if not type(content) is None: @@ -36,9 +48,18 @@ contentPage.close() - subprocess.call(["pandoc", "-f", "html", "-t", "markdown-header_attributes-link_attributes-native_divs-native_spans", page + ".content", "-o", page.replace(".html", ".md")]) + subprocess.call(["pandoc", "-f", "html-header_attributes-link_attributes-native_spans-native_divs", "-t", "rst", page + ".content", "-o", page.replace(".html", ".rst")]) + subprocess.call(["sed", "-i", "/^:::/ d", page.replace(".html", ".rst")]) + + if title != "": + line_prepender(page.replace(".html", ".rst"), len(title) * "=" + "\n") + line_prepender(page.replace(".html", ".rst"), title) + os.remove(page + ".content") bar.next() bar.finish() + +for i in titleList: + print(" " + "wiki/" + i) diff --git a/index.rst b/index.rst new file mode 100644 index 0000000..f0225d8 --- /dev/null +++ b/index.rst @@ -0,0 +1,518 @@ +Freetz +====== + +.. raw:: html + +
+ +.. raw:: html + +
+ +.. raw:: html + +
+ +.. raw:: html + +
+ +.. rubric:: Inhaltsverzeichnis + :name: inhaltsverzeichnis + +#. `Download `__ +#. `Erste Schritte `__ +#. `Installation `__ +#. `Hilfe und Support `__ +#. `Presse und Berichte `__ +#. `Mach mit! `__ +#. `Quellcode `__ +#. `Trac-Links `__ + +.. raw:: html + +
+ +.. rubric:: Willkommen bei Freetz + :name: WillkommenbeiFreetz + +| `Freetz `__ ist eine Firmware-Erweiterung und + Modifikation für `​Fritz!Box `__ Router und + kompatible Geräte. Die Original-Firmware des Herstellers wird um + zusätzliche Funktionen `erweitert `__ und mit einer + individuellen Zusammenstellung von Programmen ergänzt. Mehr zum Namen + "Freetz" und zur Historie siehe + `FAQ `__. +| Freetz ist `​freie + Software `__ + und wird von Oliver Metz, Alexander Kriegisch und Team entwickelt. + +|/!\\| **WARNUNG:** Die Installation einer modifizierten Firmware führt +zum Verlust der Gewährleistung des Herstellers! + +.. rubric:: Download + :name: Download + +Das letzte Release ist Version 2.0. Bitte folge den Anweisungen unter +`Quellcode `__, um es zu downloaden. + +Um den Trunk (Entwicklerversion) zu nutzen, einfach die Anleitung zum +`Auschecken und Aktualisieren des +Quellcodes `__ aus dem Freetz-Repository +folgen. + +Diese Versionen unterscheiden sich in der unterstützen AVM-Firmware +(Datei 'FIRMWARES') und den Erweiterungen durch Freetz (Datei +'CHANGELOG'). + +Eine komplette Liste aller Releases befindet sich auf der `Download +Seite `__. + +.. rubric:: Erste Schritte + :name: ErsteSchritte + +Diese Anleitung richtet sich in erster Linie an neue Benutzer, welche +sich erst mit Freetz vertraut machen wollen. Der Benutzer wird +schrittweise begleitet bis zur Erstellung und Flashen eines ersten +Firmware-Images. + +- `Erste Schritte mit Freetz `__ + +.. rubric:: Installation + :name: Installation + +Für die Freetz-Installation wird Linux als Betriebssystem empfohlen. Wer +kein Linux dauerhaft auf seinem Rechner installieren will, kann sich mit +einem Linux-Live-System oder einem sog. Image für eine "virtuellen +Maschine" (VM) seiner Wahl behelfen. + +- `Voraussetzungen, notwendige Pakete und sonstige Informationen zur + Freetz-Installation `__ + +.. rubric:: Hilfe und Support + :name: HilfeundSupport + +- `Wiki `__: + + - `Installation `__ + - `Pakete, Addons und CGI-Erweiterungen `__ + - `Patches `__, `Aussehen `__ + - `Bibliotheken `__, Module, `FAQ `__ + - `Kernel-Sources `__ + - Hintergrund-Infos + - `Howtos `__, und `Hilfe `__ + - `Trouble-Shooting `__ + +- `​IP-Phone-Forum `__ + +Hier findest du mehr zu `Hilfe und Support `__. + +.. rubric:: Presse und Berichte + :name: PresseundBerichte + +- `Liste von Berichten über Freetz `__ +- `Ankündigung Entwicklertreffen Freetz-Conf + 2011 `__ + +.. rubric:: Mach mit! + :name: Machmit + +Interessierte Benutzer und potentielle Entwickler, die aktiv an der +Verbesserung von Freetz und deren Entwicklung mitwirken wollen, werden +durch das Trac-Systems hinreichend unterstützt. So können der komplette +Quellcode eingesehen, Änderungen verfolgt und über das Ticket-System +Fehler und Feature-Wünsche gemeldet werden. Ein aktuelles Wiki hilft +allen Beteiligten! + +- `Zeitachse `__: Chronologie der Änderungen +- `Roadmap `__: Stand und Planung der Entwicklung (in Arbeit) +- `Quellcode-Browser `__: SVN-Repository durchsuchen +- `Ticket-System `__: Probleme, Fehler und neue + Feature-Wünsche **(bitte**\ `hier `__\ **nachlesen + und evtl. im IP-Phone-Forum fragen, bevor ein Ticket eröffnet + wird!)** +- `Developer + Information `__: + Informationen für Entwickler und Howtos (englisch) +- Interner Entwicklerbereich: Nur für Entwickler: Interner Bereich zur + Abstimmung. + +Das Bearbeiten des Wikis und Eröffnen von Tickets ist zur Vermeidung von +Spam nur nach vorheriger **Registrierung** möglich. + +.. rubric:: Quellcode + :name: Quellcode + +Anleitung zum `Auschecken und Aktualisieren des +Quellcodes `__ aus dem Freetz-Repository + +.. toctree:: + :maxdepth: 1 + :caption: Inhaltsverzeichnis + :name: sec-general + + wiki/packages_tagged + wiki/Download + wiki/freetz + wiki/FAQ + wiki/Impressum + wiki/libs_tagged + wiki/WikiStart.en + wiki/ticket + wiki/style + wiki/packages + wiki/FreetzConf2011 + wiki/patch + wiki/Press.en + wiki/patches + wiki/help + wiki/Freetz + wiki/libs + wiki/costumscript_dublesyslog + wiki/kernel + wiki/Press + wiki/freetz.en + wiki/FAQ.en + wiki/common/source_code.en + wiki/common/source_code + wiki/patches/remove_myfritz + wiki/patches/remove_tr069 + wiki/patches/remove_assistant + wiki/patches/remove_help + wiki/patches/remove_usermand + wiki/patches/enum.en + wiki/patches/remove_samba + wiki/patches/signed + wiki/patches/remove_upnp + wiki/patches/usb_names + wiki/patches/remove_mediasrv + wiki/patches/remove_dsld + wiki/patches/enum + wiki/patches/onlinechanged + wiki/patches/freetzmount + wiki/patches/replace_onlinechanged + wiki/patches/remove_capi + wiki/patches/exec_autorun + wiki/patches/maxdevcount + wiki/patches/remove_minid + wiki/patches/multpile_printers + wiki/patches/alarmclock + wiki/patches/freetzmount.en + wiki/patches/remove_vpn + wiki/patches/remove_support + wiki/patches/remove_ftpd + wiki/patches/remove_aura_usb + wiki/patches/custom_udev_rules + wiki/help/howtos + wiki/help/trouble_shooting + wiki/help/fritz_faq + wiki/help/irc.en + wiki/help/irc + wiki/help/wikiedit + wiki/help/howtos/common + wiki/help/howtos/security + wiki/help/howtos/troubleshoot + wiki/help/howtos/development + wiki/help/howtos/common/freetz_linux + wiki/help/howtos/common/shutdown + wiki/help/howtos/common/newbie.en + wiki/help/howtos/common/first_trunk + wiki/help/howtos/common/install.en + wiki/help/howtos/common/external + wiki/help/howtos/common/create_swap + wiki/help/howtos/common/install + wiki/help/howtos/common/newbie + wiki/help/howtos/common/wol + wiki/help/howtos/common/user + wiki/help/howtos/common/busybox_httpd + wiki/help/howtos/common/install/menuconfig + wiki/help/howtos/common/newbie/other + wiki/help/howtos/common/newbie/errors + wiki/help/howtos/troubleshoot/repair_phonebook + wiki/help/howtos/troubleshoot/recover_firmware + wiki/help/howtos/troubleshoot/reboots + wiki/help/howtos/security/switch_config + wiki/help/howtos/security/router_and_firewall + wiki/help/howtos/security/user_management + wiki/help/howtos/security/split_wlan_lan + wiki/help/howtos/development/sign_image + wiki/help/howtos/development/integrate_patches + wiki/help/howtos/development/bandwidth_svg + wiki/help/howtos/development/create_cross-compiler_toolchain + wiki/help/howtos/development/release_management + wiki/help/howtos/development/package_creation + wiki/help/howtos/development/save_mtd_2 + wiki/help/howtos/development/developer_information + wiki/help/howtos/development/create_gui + wiki/help/howtos/development/manipulation_detection + wiki/help/howtos/development/freetz_make + wiki/help/howtos/development/urlader_flags + wiki/help/howtos/development/flash + wiki/help/howtos/development/firmware_update_details + wiki/help/howtos/development/repack_fw + wiki/help/howtos/development/install_addon + wiki/help/howtos/development/make_busybox + wiki/help/howtos/development/adam2 + wiki/help/howtos/development/save_mtd_1 + wiki/help/howtos/development/integrate_own_files + wiki/help/howtos/development/analyse_image_names + wiki/help/howtos/development/menuconfig + wiki/help/howtos/development/compile_own_progs + wiki/help/howtos/development/make_kernel + wiki/help/howtos/development/make_room + wiki/help/howtos/development/developer_information/package_development + wiki/help/howtos/development/developer_information/post_commit_hook + wiki/help/howtos/development/developer_information/shell_coding_conventions + wiki/help/howtos/development/developer_information/package_development_advanced + wiki/help/howtos/development/developer_information/package_development_dynamic + wiki/help/howtos/development/developer_information/package_development_start + wiki/help/howtos/development/developer_information/package_development_start/example_config_handling + wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en + wiki/help/howtos/development/developer_information/package_development_start/example_2 + wiki/help/howtos/development/developer_information/package_development_start/example_1 + wiki/help/howtos/development/developer_information/package_development_start/.language + wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1 + wiki/help/howtos/development/developer_information/package_development_start/example_3 + wiki/help/howtos/development/developer_information/webif/libmodcgi + wiki/help/wikiedit/screenshots + wiki/help/wikiedit/toc + wiki/help/wikiedit/tagging + wiki/help/wikiedit/tables + wiki/help/wikiedit/formatting_guide + wiki/help/wikiedit/goodies + wiki/style/tagging + wiki/style/skins + wiki/style/favicons + wiki/style/mounted + wiki/libs/ftdi + wiki/libs/ftdi.en + wiki/packages/bridge-utils + wiki/packages/sispmctl + wiki/packages/empty + wiki/packages/apache + wiki/packages/polipo.en + wiki/packages/autofs + wiki/packages/strace + wiki/packages/syslogd + wiki/packages/lsof + wiki/packages/dns2tcp + wiki/packages/tinyproxy + wiki/packages/davfs2 + wiki/packages/s3fslite + wiki/packages/dropbear.en + wiki/packages/ctorrent + wiki/packages/irssi + wiki/packages/hplip + wiki/packages/lighttpd + wiki/packages/privoxy + wiki/packages/radvd.en + wiki/packages/usbroot + wiki/packages/vim + wiki/packages/bluez-utils + wiki/packages/sane-backends + wiki/packages/usbip + wiki/packages/dropbear + wiki/packages/iptables-cgi + wiki/packages/hd-idle + wiki/packages/fhem + wiki/packages/igmpproxy + wiki/packages/usbutils + wiki/packages/inotify-tools + wiki/packages/authorized-keys.en + wiki/packages/rrdstats + wiki/packages/mcabber + wiki/packages/dtmfbox + wiki/packages/nfsd.en + wiki/packages/espeak + wiki/packages/dnsd + wiki/packages/tor + wiki/packages/spindown + wiki/packages/ncftp + wiki/packages/lynx + wiki/packages/smstools3 + wiki/packages/hol + wiki/packages/debootstrap + wiki/packages/ppp + wiki/packages/xmail + wiki/packages/sundtek + wiki/packages/iptables + wiki/packages/subversion + wiki/packages/dtach + wiki/packages/vsftpd + wiki/packages/ziproxy + wiki/packages/ntfs-3g + wiki/packages/ruby + wiki/packages/aiccu + wiki/packages/mc + wiki/packages/nfs + wiki/packages/streamripper + wiki/packages/htpdate + wiki/packages/lua + wiki/packages/emailrelay + wiki/packages/madplay + wiki/packages/nhipt + wiki/packages/siproxd + wiki/packages/wput + wiki/packages/netsnmp + wiki/packages/transmission.en + wiki/packages/imapproxy.en + wiki/packages/fuse + wiki/packages/hiawatha + wiki/packages/netatalk + wiki/packages/cifsmount + wiki/packages/matrixtunnel + wiki/packages/ndas.en + wiki/packages/nfs-utils + wiki/packages/ser2net + wiki/packages/vpnc + wiki/packages/haserl + wiki/packages/obexftp + wiki/packages/nmap + wiki/packages/httptunnel + wiki/packages/onlinechanged + wiki/packages/mini_fo + wiki/packages/pingtunnel + wiki/packages/tcp_wrappers + wiki/packages/netsnmp.en + wiki/packages/wol + wiki/packages/cpmaccfg + wiki/packages/syslogd.en + wiki/packages/checkmaild + wiki/packages/portmap + wiki/packages/digitemp + wiki/packages/downloader + wiki/packages/bip + wiki/packages/fortune + wiki/packages/xrelayd + wiki/packages/tinc + wiki/packages/bird + wiki/packages/onlinechanged_cgi + wiki/packages/php + wiki/packages/phpxmail.en + wiki/packages/pptp + wiki/packages/mediatomb + wiki/packages/inetd + wiki/packages/owfs + wiki/packages/unbound + wiki/packages/fstyp + wiki/packages/prosody.en + wiki/packages/bftpd + wiki/packages/mod + wiki/packages/br2684ctl.en + wiki/packages/deco + wiki/packages/trickle + wiki/packages/radvd + wiki/packages/opendd + wiki/packages/pptpd + wiki/packages/mediaserver + wiki/packages/iptables.en + wiki/packages/dnsd.en + wiki/packages/hp-utils + wiki/packages/screen + wiki/packages/ndas + wiki/packages/dnsmasq + wiki/packages/wget + wiki/packages/e2fsprogs + wiki/packages/bind + wiki/packages/tcpdump + wiki/packages/gw6 + wiki/packages/nhipt.en + wiki/packages/openntpd + wiki/packages/rudi-shell + wiki/packages/nano + wiki/packages/nfsd + wiki/packages/stunnel + wiki/packages/rrdtool + wiki/packages/ldd + wiki/packages/prosody + wiki/packages/fhzctrl + wiki/packages/aiccu.en + wiki/packages/authorized-keys + wiki/packages/pciutils + wiki/packages/vtund + wiki/packages/fritzload + wiki/packages/jamvm + wiki/packages/callmonitor + wiki/packages/br2684ctl + wiki/packages/netcat + wiki/packages/quagga + wiki/packages/samba + wiki/packages/iodine + wiki/packages/nagios + wiki/packages/smartmontools + wiki/packages/mtr + wiki/packages/avm-firewall + wiki/packages/bash + wiki/packages/asterisk + wiki/packages/xyssl + wiki/packages/microperl + wiki/packages/nano-shell + wiki/packages/m-i-t + wiki/packages/minidlna + wiki/packages/inadyn-mt + wiki/packages/bluez + wiki/packages/phpxmail + wiki/packages/DemoPackageA + wiki/packages/openvpn + wiki/packages/knock + wiki/packages/ltrace + wiki/packages/curl + wiki/packages/inadyn-mt.en + wiki/packages/virtualip + wiki/packages/socat + wiki/packages/transmission + wiki/packages/callmonitor/config + wiki/packages/callmonitor/reverse_search + wiki/packages/callmonitor/phonebook + wiki/packages/callmonitor/maintenance + wiki/packages/callmonitor/adapt_messages + wiki/packages/callmonitor/actions + wiki/packages/callmonitor/listeners + wiki/packages/callmonitor/testcall + wiki/packages/callmonitor/faq + wiki/packages/callmonitor/events + wiki/packages/callmonitor/actions/config + wiki/packages/callmonitor/actions/call + wiki/packages/callmonitor/actions/relook + wiki/packages/callmonitor/actions/rawmsg + wiki/packages/callmonitor/actions/snarl + wiki/packages/callmonitor/actions/dbox + wiki/packages/callmonitor/actions/xbox + wiki/packages/callmonitor/actions/getmsg + wiki/packages/callmonitor/actions/mail + wiki/packages/callmonitor/actions/samsung + wiki/packages/callmonitor/actions/self-defined + wiki/packages/callmonitor/actions/wol + wiki/packages/callmonitor/actions/yac + wiki/packages/callmonitor/actions/dial + wiki/packages/callmonitor/actions/vdr + wiki/packages/callmonitor/actions/dreambox + wiki/packages/callmonitor/actions/password + wiki/packages/callmonitor/actions/musicpal + wiki/packages/callmonitor/actions/soundbridge + wiki/packages/netsnmp/mrtg.en + wiki/packages/pptpd/config + wiki/packages/pptpd/webif + wiki/packages/pptpd/install + wiki/packages/rudi-shell/tips + wiki/packages/rudi-shell/limits + wiki/packages/rudi-shell/install + wiki/packages/rudi-shell/usage + wiki/packages/rudi-shell/functions + wiki/Freetz + + +.. raw:: html + +
+ +.. raw:: html + +
+ +.. raw:: html + +
+ +.. |/!\\| image:: /chrome/wikiextras-icons-16/exclamation.png + diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..796a7b3 --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/wiki/Download.rst b/wiki/Download.rst new file mode 100644 index 0000000..a8e8e34 --- /dev/null +++ b/wiki/Download.rst @@ -0,0 +1,182 @@ +Download +======== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Stabile Versionen `__ + + #. `Freetz 1.2 (01.07.2012) `__ + +#. `Entwickler Versionen `__ +#. `Upload und Statistik `__ +#. `Veraltete Versionen `__ + + #. `Freetz 1.1.5 + (22.01.2012) `__ + #. `Freetz 1.1.4 + (11.02.2011) `__ + #. `Freetz 1.1.3 + (29.04.2010) `__ + #. `Freetz 1.1.2 + (30.12.2009) `__ + #. `Freetz 1.1.1 + (17.10.2009) `__ + #. `Freetz 1.1 (12.06.2009) `__ + #. `Freetz 1.0.3 + (18.03.2009) `__ + #. `Freetz 1.0.2 + (15.02.2009) `__ + #. `Freetz 1.0.1 + (22.11.2008) `__ + #. `Freetz 1.0 (06.06.2008) `__ + +.. _StabileVersionen: + +Stabile Versionen +----------------- + +.. _Freetz1.201.07.2012: + +Freetz 1.2 (01.07.2012) +~~~~~~~~~~~~~~~~~~~~~~~ + +| Dies ist die aktuelle stabile Version von Freetz: +| `freetz-1.2.tar.bz2 `__ (2,7 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``BC2F27DBDD49CFA78FDAF2D2D46D8A4C`` + +.. _EntwicklerVersionen: + +Entwickler Versionen +-------------------- + +`Snapshots `__ + +Snapshots sind Abbilder des trunks zu einem bestimmten Zeitpunkt. + +.. _UploadundStatistik: + +Upload und Statistik +-------------------- + +`Downloads-Plugin `__ + +.. _VeralteteVersionen: + +Veraltete Versionen +------------------- + +.. _Freetz1.1.522.01.2012: + +Freetz 1.1.5 (22.01.2012) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.5.tar.bz2 `__ (2,4 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``99CE04B3B9D8B5D77F57F1490DB6C317`` + +.. _Freetz1.1.411.02.2011: + +Freetz 1.1.4 (11.02.2011) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.4.tar.bz2 `__ (2,4 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``48F8A1BC51E864CBE550BBA3BC9C7201`` + +.. _Freetz1.1.329.04.2010: + +Freetz 1.1.3 (29.04.2010) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.3.tar.bz2 `__ (2,4 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``615A829645334720EF039B9834D58758`` + +.. _Freetz1.1.230.12.2009: + +Freetz 1.1.2 (30.12.2009) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.2.tar.bz2 `__ (2,4 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``A8BCCC2D7B77ED32DEE21E6D2122A365`` + +.. _Freetz1.1.117.10.2009: + +Freetz 1.1.1 (17.10.2009) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.1.tar.bz2 `__ (2,5 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``22A5265F14A7FE0F1FD240AEF9E1F1DC`` + +.. _Freetz1.112.06.2009: + +Freetz 1.1 (12.06.2009) +~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.1.tar.bz2 `__ (2,5 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``14076242610377E0459B2FB51624A4D6`` + +.. _Freetz1.0.318.03.2009: + +Freetz 1.0.3 (18.03.2009) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.0.3.tar.bz2 `__ (1,9 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``CF0B991905178E74EC682CDEEA9B7CBC`` + +.. _Freetz1.0.215.02.2009: + +Freetz 1.0.2 (15.02.2009) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.0.2.tar.bz2 `__ (1,9 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``C7CB456536421690480A52EC1D11F493`` + +.. _Freetz1.0.122.11.2008: + +Freetz 1.0.1 (22.11.2008) +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.0.1.tar.bz2 `__ (1,9 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``D2F9E508363E8F09E1588BC07CF31488`` + +.. _Freetz1.006.06.2008: + +Freetz 1.0 (06.06.2008) +~~~~~~~~~~~~~~~~~~~~~~~ + +| `freetz-1.0.tar.bz2 `__ (1,8 MB) +| `Changelog `__\ `​ `__ +| `Unterstützte Boxen und + Firmwares `__\ `​ `__ +| MD5: ``8EE2D9BF552C565F89024AAE6F1F8394`` + +- Tags +- `download `__ diff --git a/wiki/FAQ.en.rst b/wiki/FAQ.en.rst new file mode 100644 index 0000000..b8fc479 --- /dev/null +++ b/wiki/FAQ.en.rst @@ -0,0 +1,1077 @@ +FAQ.en +====== +.. _Freetz-FAQ: + +Freetz-FAQ +========== + +This page answers some **F**\ requently **A**\ sked **Q**\ uestions +about *Freetz*. It is still under construction. + +Be aware that there is a more complete `FAQ `__ version in +`German `__. + +Content +^^^^^^^ + +#. `Project name and history `__ + + #. `What is Freetz? `__ + #. `Where does the name Freetz come + from? `__ + #. `How should I pronounce + Freetz? `__ + #. `How did Freetz start? `__ + #. `Why change the name when DS-Mod has already become + well-known? `__ + #. `Why is so much of Freetz and the development in + German? `__ + +#. `Motivation `__ + + #. `Why change the firmware? `__ + +#. `Distribution `__ + + #. `Can I get a finished binary of + Freetz? `__ + #. `How can I get Freetz? `__ + #. `Which type of boxes and which firmware versions are currently + supported?: `__ + +#. `Development `__ + + #. `When will version xy be + released? `__ + #. `Trunk, Branches, Tags? `__ + #. `When feature XY is + implemented? `__ + #. `I like Freetz and I want to support the + development. `__ + +#. `Pre-Configuration + (menuconfig) `__ + + #. `Do I have the 8MB (v1) or 16MB (v2) version of the FB 7270 + ? `__ + #. `What are indicators for a FB 7270v3 + ? `__ + #. `Which packages should be built into a Freetz image + ? `__ + #. `What does "binary only" mean + ? `__ + +#. `Image Build (make/build) `__ + + #. `Meaning of the specific + make-targets `__ + #. `Building another firmware + language `__ + #. `Problems during building `__ + #. `The problem still occurs. What + now? `__ + +#. `Flashing of Compiled Image `__ +#. `Problems after (successful) + Flashing `__ + + #. `Settings are not available at current security + level `__ + #. `What is the default password for + freetz? `__ + #. `The info led blinks twice + periodically `__ + +#. `Configuration `__ + + #. `Were is the whole configuration stored on the Fritzbox + ? `__ + #. `Configuration not available at the current security + level! `__ + #. `How can i disable the password for the + Freetz-Website? `__ + #. `How can i change the password for the + Freetz-Website? `__ + #. `How can i reset the password for the Freetz-Website in case I've + lost it + … `__ + #. `How can I change the + root-Password? `__ + +#. `Problems During Working `__ + + #. `/var/flash/freetz too big `__ + #. `No ftp access after + Freetz `__ + +#. `Removing FREETZ and Other + Modifications `__ +#. `Miscellaneous `__ + + #. `How can I use an own/other DNS server for all connected PCs and + Fritzbox + ? `__ + #. `How can I create character devices + ? `__ + #. `Which network cable is necessary for a recover + ? `__ + #. `How old is my FritzBox ? `__ + #. `How much RAM does my FritzBox + contain? `__ + +.. _Projectnameandhistory: + +Project name and history +------------------------ + +.. _WhatisFreetz: + +What is Freetz? +~~~~~~~~~~~~~~~ + + *Freetz* is a toolbox for developers and experienced users to build a + modified firmware based on the original firmware for the + DSL/LAN/WLAN/VoIP-Routers `​AVM + Fritz!Box `__ and + `​T-Com + Speedport `__ + (identical hardware) and to transfer this firmware to the device. + There are many extension packages available, along with options to + remove unwanted functionality from the original firmware. + +.. _WheredoesthenameFreetzcomefrom: + +Where does the name Freetz come from? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + It is a contraction of the word "free" and the name "Fritz", intended + to mirror the name of the devices manufactured by + `​AVM `__ . With this, we want to symbolise that + *Freetz* is free software. In order to avoid intellectual property + problems with AVM, whose registered trademark "Fritz!" (with + exclamation mark) we explicitly acknowledge, we have chosen this + deliberately different spelling. The idea for the name came from + Alexander Kriegisch (kriegaex), who decided together with Oliver Metz + (olistudent) what the project should be called when the + version-managed source code repository would be opened to the public. + From the (in our opinion daft-sounding) alliteration "Free Fritz" we + got "Freetz". ("OpenFritz " was also considered, but we didn't want + to ape `​OpenWrt `__ .) We don't claim that the + name is fantastic, but it is short and hopefully easy to remember. + |:-)| + +.. _HowshouldIpronounceFreetz: + +How should I pronounce Freetz? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Like the English word "free" with a German-sounding "tz" on the end, + something like "freets". + +.. _HowdidFreetzstart: + +How did Freetz start? +~~~~~~~~~~~~~~~~~~~~~ + + There are many predecessors to *Freetz* . A few years ago, Daniel + Eiband (danisahne) started the *Danisahne-Mod* ( *DS-Mod* ) based on + the previous work and cooperation of other creative people (Erik + Andersen, Christian Volkmann, Andreas Bühmann, Enrik Berkhan and + others). As with *Freetz* , this allowed and allows modified + firmwares to be created, but only for older firmware-versions with + Linux kernel 2.4. Since some routers still have firmwares based on + the Linux 2.4 kernel, the version + `​ds-0.2.9-p8 `__ + is still the current version for some hardware. For the majority of + current hardware, the immediate predecessor of *Freetz* is, however, + *ds26* (latest version + `​ds26-15.2 `__ + ), created by Oliver Metz, which is only suitable for firmware using + Linux kernel 2.6. The same applies to *Freetz* as *Freetz* is + currently nothing other than the current development version of + *ds26* with a new name. In many files you will therefore still find + the name *DS-Mod* , which will gradually be replaced with the new + name *Freetz* . + +.. _WhychangethenamewhenDS-Modhasalreadybecomewell-known: + +Why change the name when DS-Mod has already become well-known? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + There are multiple reasons. For one, Daniel has not been actively + involved in the development of *ds26* for well over a year. For + another, he has already started a new project at + `​SourceForge `__ to develop a new *DS-Mod* + from scratch - which we inoffically call *DS-Mod NG (Next + Generation)* - for which the source code repository is publicly + available on his `​project website `__ + . We don't wish to take Daniel's project name from him, or to compete + with him, but actually hope that he will eventually have more time + for his project and that we will be able to combine both versions to + have the strengths of both of them in one product. However, at this + point in time, the projects have split significantly; *DS-Mod NG* has + a very clean structure, but is not yet finished whereas *Freetz* + (previously *ds26* ) is already widely used and is gradually being + refactored during the process of development. Where *DS-Mod* was + talked about in recent press coverage (e.g. + `​PC-Welt `__ + ), *Freetz* alias *ds26* was meant. + +.. _WhyissomuchofFreetzandthedevelopmentinGerman: + +Why is so much of Freetz and the development in German? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + AVM is a German company, and their hardware is mainly sold on the + German market, where it is very popular and generally the + German-language (and German telecoms-system) versions of their + products are the first to be released. It is therefore not surprising + that the project started in Germany and most of the developers are + German. There are some current ideas of how to better integrate + internationalization support, and although most development + discussions take place in German, contributions in English are most + welcome (and will usually be answered in English). + +.. _Motivation: + +Motivation +---------- + +.. _Whychangethefirmware: + +Why change the firmware? +~~~~~~~~~~~~~~~~~~~~~~~~ + + It is possible to edit some special files (character devices) under + /var/flash where the contents still exist after reboot, but this is + not true for the rest of the filesystem. The content of these + character devices is located in its own rather tiny flash partition. + Most data is stored on a read-only SquashFS filesystem which can only + be modified during a firmware update, using a SquashFS filesystem + image. To permanently include (larger) files into the firmware, they + must be put into the SqashFS image, which is implemented in Freetz. + +.. _Distribution: + +Distribution +------------ + +.. _CanIgetafinishedbinaryofFreetz: + +Can I get a finished binary of Freetz? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The short answer is no, and this is never likely to be possible. + *Freetz* works by taking the original firmware and applying patches + to it. Since the original firmwares contain software which is + non-free, as well as some which is free, that means we are not able + to distribute finished binary versions. Also, given the number of + permutations of modules and hardware then it would be impossible to + meet all needs with a limited number of binaries and so it is + actually of advantage to have users build their own firmware, + tailored to their individual needs. + +.. _HowcanIgetFreetz: + +How can I get Freetz? +~~~~~~~~~~~~~~~~~~~~~ + + See the `Getting Started `__ page for how to check out + the source code and get started with *Freetz* . Note that this + requires a working Linux installation (a Live-CD or Virtual Machine + version will do if you do not want to fully install Linux on your + computer). Please make sure that you have basic Linux skills before + requesting help as this will make your, and our, lives easier. + +.. _Whichtypeofboxesandwhichfirmwareversionsarecurrentlysupported:: + +Which type of boxes and which firmware versions are currently supported?: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | a.) + `Freetz-1.1.4 `__\ `​ `__ + | b.) + `freetz-stable-1.1 `__\ `​ `__ + | c.) + `Trunk `__\ `​ `__ + +.. _Development: + +Development +----------- + +.. _Whenwillversionxybereleased: + +When will version xy be released? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Generally speaking: It's done when it's done. The developers are + working in their off time, new releases are provided if the + decided-on features are completed and critical bugs were fixed. + +.. + + Still, a rough plan for new releases does exist: 3-4 months after a + stable release we declare a "Feature-Freeze" for the following + release. From that time on, only bugs are being fixed. The + feature-freeze dates are announced in the `roadmap `__ . + After the feature-freeze you can expect the final release to be + released in about 1 to 1,5 months. Between the stable + feature-releases there can be some maintenance-releases provided to + support newer firmware versions by AVM or some error-fixes. + +.. _TrunkBranchesTags: + +Trunk, Branches, Tags? +~~~~~~~~~~~~~~~~~~~~~~ + + The `trunk `__ is the current development tree. A + branch is a tree which is separated from the trunk at a specific time + (e.g. `r2759 `__ ). Currently the following branches + are available: + `freetz-stable-1.0 `__ and + `freetz-stable-1.1 `__ . All + release versions are tagged (e.g. + `freetz-1.1.4 `__ ) + +.. + + To check out a stable version: + + .. code:: wiki + + svn co http://svn.freetz.org/branches/freetz-stable-1.1 freetz-stable-1.1 + + To check out a tag: + + .. code:: wiki + + svn co http://svn.freetz.org/tags/freetz-1.1.4 freetz-1.1.4 + + To check out the development version (trunk): + + .. code:: wiki + + svn co http://svn.freetz.org/trunk freetz-trunk + + Attention! The development version (trunk) is only recommended to + novice users with basic Linux knowledge who can troubleshoot + elementary errors and can give proper feedback to the developers. + Because the trunk is an ongoing development version, it won't be as + stable as the branched and tagged versions. + +.. _WhenfeatureXYisimplemented: + +When feature XY is implemented? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The fastest way is to present an working solution. We take notice of + every reasonable feature request. Due to the developers designing + Freetz in their off time, you have to be patient sometimes. + +.. _IlikeFreetzandIwanttosupportthedevelopment.: + +I like Freetz and I want to support the development. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + It is possible to donate money to the development team using the + Paypal donation button at the bottom right-hand corner. Further, a + specific hardware variation will of course be better supported when + the development team has some test hardware. Currently we would very + much benefit from some 7270s (who wouldn't?!). There is a thread on + the topic of donations at + `​IPPF `__ + . + +.. _Pre-Configurationmenuconfig: + +Pre-Configuration (menuconfig) +------------------------------ + +.. _DoIhavethe8MBv1or16MBv2versionoftheFB7270: + +Do I have the 8MB (v1) or 16MB (v2) version of the FB 7270 ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) read the support file at + `​http://fritz.box/html/support.html `__ +| 2.) The file should contain the following entry: + +- 8MB: **flashsize 0x00800000** +- 16MB: **flashsize 0x01000000** + +| 00800000 Hex = 8.388.608 decimal = 8.192 KB = 8 MB +| 01000000 Hex = 16.777.216 decimal = 16.384 KB = 16 MB +| More details are described + `​[here] `__. + +.. _WhatareindicatorsforaFB7270v3: + +What are indicators for a FB 7270v3 ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- the firmware version. Firmwares for the 7270v3 start with 74.xx.xx +- the `serial number `__ + +.. _WhichpackagesshouldbebuiltintoaFreetzimage: + +Which packages should be built into a Freetz image ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + We recommend Dropbear? to have SSH access, as well as + `dnsmasq `__ as DHCP server replacement. + +.. _Whatdoesbinaryonlymean: + +What does "binary only" mean ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Packages tagged with "binary only" do not supply any web frontend, + init script or anything similar. They provide only the binaries + themselves, which means you have to take care of the configuration, + initialization etc. yourself. (Note: Other than the name (maybe) + suggests, these packages are - along with every other package in + Freetz - built from source.) + +.. _ImageBuildmakebuild: + +Image Build (make/build) +------------------------ + +.. _Meaningofthespecificmake-targets: + +Meaning of the specific make-targets +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A: The make-targets are influencing the `build +process `__ and creating the +firmware. Most of the following information was taken from `​this +thread `__ +originally. + +**1. Clean-Up:** + +- *make clean + *\ … + +- *make -clean*: + Basically, this calls the clean-target of the original package's + Makefile. It will delete all generated files (first and foremost the + object-files, libraries and executables) but leaves its configuration + intact. + A following *make* command doesn't apply changed patches, but creates + only the above-named object-files, libraries and executables from the + source-files (compiling). + Example: *make mc-clean* would clean the "Midnight Commander" package + (mc). + +- *make -dirclean*: + Deletes the whole directory of the package. A following *make* + command will extract the files, apply the patches, configure and + compile the package. + Only the last stage (compilation) would take place after a *make + -clean* command (as described above). + +- *make dirclean*: + As the name implies, this performs a "directory-cleanup". The + directories */packages, /source, /build, /toolchain/build, + toolchain/target* (and some other stuff(?)will be deleted, so that a + following *make* command must build everything new. This is + recommended if changes caused by *svn up* will result in a firmware + which is not working as expected. Alternatively, if you know exactly + which package(s) are causing them problem, you can clean these + package files via *make -dirclean* individually (see above). + Note that, after a *make dirclean*, the build process to create the + firmware will take more time than it did before because everything + must be rebuilt from scratch. + +- *make tools-distclean*: + deletes the tools (busybox, lzma, squashfs, others) + +- *make distclean*: + In addition to *make dirclean*, this also deletes the download folder + and the tools. + +- *make config-clean-deps*: + If some packages were deselected via *make menuconfig*, maybe some + shared libraries are still selected but are not needed anymore by any + active package (that happens because *menuconfig* cannot recognize + this by itself). Such libraries can manually be disabled under + 'Advanced Options'→'Shared Libraries' - libaries; the ones that are + still in use cannot be deselected. Alternatively, you can also do + this automatically via *make config-clean-deps*. Furthermore, Busybox + applets manually selected in *make menuconfig* will be reset (*not\* + those modified via *make busybox-menuconfig*!). + +- *make config-clean-deps-keep-busybox*: + Like *make config-clean-deps*, but does not reset Busybox applets. + +- *make kernel-dirclean*: + deletes the current source-tree of the kernel, to build it completely + new from clean sources. (important if something has changed at the + kernel patches) + +- *make kernel-clean*: + analogue to *make -clean* + +- *make kernel-toolchain-dirclean*: + deletes the kernel compiler + +- *make target-toolchain-dirclean*: + deletes the compiler for the uClibc and the binaries (executables) + +**2. Preparations:** + +- *make world*: + Prerequisite is a toolchain (see `Cross-Compiler / Create + Toolchain `__). + If problems with non-existing directories occur, it's possible that + *make world* can fix this. But normally this should not be necessary. + +- *make kernel-toolchain*: + compiles the kernel and also for the target (Fritzbox) + Due to historical reasons the label was kept as *kernel-toolchain*, + although, as mentioned, not only the kernel will be built but also + the packages (see below). + +- *make target-toolchain*: + Compiles the packages for the target (Fritzbox). + +- *make kernel-menuconfig*: + The configuration of the kernel will be saved after finishing under + ./make/linux/Config.. + +- *make kernel-precompiled*: + Build the kernel and the kernel modules. + +- *make menuconfig* + (`Source `__): To + configure Freetz it makes use of *conf/mconf*, which some or other + already knows from the linux kernel configuration. The + `​ncurses `__ variant *mconf* + can be called with the command *make menuconfig*. + By the way: + A help for each item can be accessed directly in *menuconfig* by + pressing "?". + After entering "/" you can search across all leaves for any strings - + really practical. + +.. _Buildinganotherfirmwarelanguage: + +Building another firmware language +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The firmware language/version should match your box type, else your box +will go into a reboot loop. + +Check the advanced option *Enforce urlader environment* and put **avm** +in *Patches > Enforce firmware_version variable* to build German +firmware for an international box. If you want to do this (or the other +way around with **avme** for English firmware on a non-international +box), `read about recovery `__ and have +a working/recovery image ready. + +.. _Problemsduringbuilding: + +Problems during building +~~~~~~~~~~~~~~~~~~~~~~~~ + +If you encounter problems during the build process, go through this list +first: + +.. _YoumusthaveeitherhavegettextsupportinyourClibraryorusetheGNUgettextlibrary.: + +You must have either have gettext support in your C library, or use the GNU gettext library. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + There is a wrong value in config.cache. Delete the file by typing: + "rm make/config.cache" or "rm source/target-mipsel_uClibc- *0.X.XX* + /config.cache" + +.. _ERROR:Theprogramlibraryheaderxywasnotfound: + +ERROR: The program/library/header xy was not found… +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + If the build process was interrupted by this message, some necessary + packages for the build system are missing. Please install them and + restart the build process. + +.. _WARNING:Theprogramlibraryheaderxywasnotfound: + +WARNING: The program/library/header xy was not found… +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + If the build process was interrupted by this message, maybe some + packages providing the needed library are missing. This can be caused + by selecting some options or packages in menuconfig. Please install + the needed libraries by installing the packages and restart the build + process. + +.. _NosuchfileFRITZ.Box_xxxxxxxxx.aa.bb.cc.image: + +No such file \`FRITZ.Box_xxxxxxxxx.aa.bb.cc.image' +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + This happens every time AVM releases a new firmware version. Normally + only the newest file is available on the AVM FTP server. Freetz can + only support the version that's current at the release date. Due to + license restrictions, we cannot provide these images. Possible + solutions (prioritized by difficulty): + +- for everyone: at + `​Firmware-Collector-Thread `__ + you can ask for an older firmware version (NO beta firmwares). The + image must be downloaded and copied to the directory 'dl/fw'. +- for beginners: Use the ``stable`` Branch from the SVN repository. If + possible, update to a newer version which supports the latest AVM + firmware versions (or wait for an upcoming Freetz release). +- for novices: Use the developing tree (``trunk``) from the SVN + repository. The latest firmware versions are supported here. +- for experts: At make menuconfig? under *Advanced Options ⇒ Override + firmware source* change the name of the file to download and use. + +Please use the last 2 possibilities at your own risk. If it's just a +"bugfix release" (like the update from .57 to .59) it should work +without errors. However, if major changes were done by AVM at the latest +firmware release, use it carefully!! + +.. _Pleasecopythefollowingfileintothedlfwsub-directorymanually:fritz_box_aa_bb_cc-ddddd.image: + +Please copy the following file into the 'dl/fw' sub-directory manually: fritz_box_aa_bb_cc-ddddd.image +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + The beta firmwares (Labor-Firmware) cannot be downloaded from the + AVM-FTP-Server. Please download them manually from the + `​AVM-Labor-Site `__ . You must agree the + license terms to get the file. After finishing download, put all + files into the 'dl/fw' directory. Please also consider the headpoint + before. + +.. _a.ln:cannotexecutebinaryfile: + +./ln: cannot execute binary file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + The current working directory '.' is within the path (variable PATH). + To make a successfully build, the directory must be removed. + +.. _Filesystemimagetoobig: + +Filesystem image too big +^^^^^^^^^^^^^^^^^^^^^^^^ + + The firmware image doesn't fit into the flash memory of the selected + box. + +- With some boxes, this can happen if none of the packages are + selected, because the basic Freetz components use some space and the + AVM images are just under the maximum flash size. In this case, it's + neccessary to use one or more Remove-Patches under the + 'Patches'-Section to remove unused components of the original + firmware. +- If a lot packages are selected, reconsider if all packages are really + necessary, or try via + `external `__/`​Downloader `__/`USBRoot `__/`NFSRoot `__ + to externalize some of the components to reduce the image size. + Further information is available at + `​IPPF `__ and + in the + `​WIKI `__ +- With boxes with an USB-Host (e.g. 7170,7270) you can externalize some + packages on an USB device (e.g. USB Stick, USB hard disk). The + externalize-process is done at the end of the build process via the + `external `__-script. At + menuconfig, there is an option to do the externalizing. Only + predefined parts of packages are being externalized to a USB-Device, + as opposed to using USB-Root which will move the entire file system + onto the USB drive. +- If a package was deselected, maybe some shared libraries are still + enabled but are not needed anymore. (menuconfig cannot recognize this + by itself). These libraries can manually be deselected under + 'Advanced Options'→'Shared Libraries' - libraries currently in use + cannot be deselected. Another option is to do this via the command + *make config-clean-deps* or *make config-clean-deps-keep-busybox*, + respectively. + +.. _WARNING:Notenoughfreeflashspaceforansweringmachine: + +WARNING: Not enough free flash space for answering machine! +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + The image is small enough to fit on flash memory, but you have not + enough free space left for the answering machine, or non space left. + The firmare should work in spite of this message, but to ensure a + fully functional answering machine or fax service, you should use an + FAT-formatted USB-Stick to use this space for the answering machine, + fax service and other services. + +.. + + Background Information: Since a few firmware versions, AVM tries to + use the remaining bytes in the Flash to create an jffs2-Partition. In + this partition all data for e.g. the answering machine, fax service + and so on are stored. On older boxes (e.g. 7170) the jffs2-Partition + cannot be created as space howsoever is very limited. Please see this + message as an warning. More informations at the + `​IPPF-Thread `__ + . In FREETZ available since revision `r3049 `__ . + +.. _Theproblemstilloccurs.Whatnow: + +The problem still occurs. What now? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + At first go into the 'Advanced Options' of menuconfig, change the + 'Verbosity Level' to 2 and execute make again. After that go to the + `​IPPF Forum `__ + and search for the error message or for an existing thread. If + nothing could be found, create a new thread to get help with the + given error message (please post it inside Code-Tags), the file + .config (your configuration as attachment) and the used version or + SVN branch/-revision. + +.. _FlashingofCompiledImage: + +Flashing of Compiled Image +-------------------------- + +.. _ProblemsaftersuccessfulFlashing: + +Problems after (successful) Flashing +------------------------------------ + +.. _Settingsarenotavailableatcurrentsecuritylevel: + +Settings are not available at current security level +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + There are several security levels. The level can be changed using the + following commands: + + .. code:: wiki + + echo x > /tmp/flash/security ( after r3318: echo x > /tmp/flash/mod/security) + modsave + + * with x being one of the following values: + * 0 : no restrictions + * 1 : only configuration files without shell commands (shell scripts) can be modified + * 2 : no configuration files can be modified + +.. _Whatisthedefaultpasswordforfreetz: + +What is the default password for freetz? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The default password for freetz (both for console and web login) is +"freetz". Login name for console is "root", and for the web interface it +is admin. When you first log in using telnet or ssh, you have to change +your password. + +.. _Theinfoledblinkstwiceperiodically: + +The info led blinks twice periodically +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See `​this +thread `__. + +.. _Configuration: + +Configuration +------------- + +.. _WereisthewholeconfigurationstoredontheFritzbox: + +Were is the whole configuration stored on the Fritzbox ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The whole configuration on the Fritzbox can be found under + /tmp/flash. This is important if you build a Freetz firmware, because + the configuration is not located in the static firmware part of the + image. All files located under /tmp/flash were not be edited during a + firmware update, so the configuration files will be keeped after a + firmware update. Important, always execute "modsave" after making + changes on the configuration files under /tmp/flash, to save them in + the flash. More information about that see below. + +.. _Configurationnotavailableatthecurrentsecuritylevel: + +Configuration not available at the current security level! +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + There are different security levels. Depending on the selected level, + not all configuration files are editable. + + .. code:: wiki + + echo x > /tmp/flash/security (since r3318: echo x > /tmp/flash/mod/security) + modsave + # with x being one of the following values: + # 0 : no restrictions + # 1 : only configuration files without shell commands (shell scripts) can be modified + # 2 : no configuration files can be modified + +|/!\\| **ATTENTION:** Between x and > there must be at least a single +blank space. If there isn't, the file will be empty. (echo will redirect +to stdout. The output would be empty then. Alternatively, you could also +write "x">security. + +This must be done after installing the new firmware on the Box via +Telnet or SSH (not possible over the Rudi-Shell, because it also +requires security level "0"). + +.. _HowcanidisablethepasswordfortheFreetz-Website: + +How can i disable the password for the Freetz-Website? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Execute the following command on the terminal: + + .. code:: wiki + + touch /tmp/flash/webcfg_conf + chmod +x /tmp/flash/webcfg_conf + modsave flash + /etc/init.d/rc.webcfg restart + + Background: The script /tmp/flash/webcfg_conf will be preferred + compared to /etc/default.webcfg/webcfg_conf to create the + configuration file. An empty script /tmp/flash/webcfg_conf will + create an empty configuration file without a password. + +.. + + |/!\\| For Freetz-1.1.x replace */tmp/flash/webcfg_conf* with + */tmp/flash/httpd_conf* . + +.. _HowcanichangethepasswordfortheFreetz-Website: + +How can i change the password for the Freetz-Website? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + This can be done via the `​web + interface `__ by itself: + ``http://fritz.box:81/cgi-bin/passwd.cgi`` + +.. _HowcaniresetthepasswordfortheFreetz-WebsiteincaseIvelostitbutstillhaveaccessviatelnetSSH: + +How can i reset the password for the Freetz-Website in case I've lost it but still have access via telnet/SSH ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + At first, stop the Freetz-Webif: + + .. code:: wiki + + /etc/init.d/rc.webcfg stop + + Then use vi to open the file mod.cfg and edit the line that begins + with "export MOD_HTTPD_PASSWD" as follows: + + .. code:: wiki + + vi /var/mod/etc/conf/mod.cfg + + .. code:: wiki + + export MOD_HTTPD_PASSWD='$1$$zO6d3zi9DefdWLMB.OHaO.' + + Now start the Freetz-Web interface: + + .. code:: wiki + + /etc/init.d/rc.webcfg start + + Now you can log in to the Web interface with the password "freetz". + +.. + + | Please consider, that this change will **NOT** persist across + reboots. So after a reboot, you still have the old unknown + password. + | Therefore, you should change the password of the Box in the + freetz-menu under *Settings* before you reboot your Fritzbox. + +.. _HowcanIchangetheroot-Password: + +How can I change the root-Password? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Execute the following commands on the terminal: + + .. code:: wiki + + passwd + modusers save + modsave flash + + After entering 'passwd' you must type in the password. While typing, + the password will 'not' be shown. Too simple passwords will not be + accepted. + +.. _ProblemsDuringWorking: + +Problems During Working +----------------------- + +.. _varflashfreetztoobig: + +/var/flash/freetz too big +~~~~~~~~~~~~~~~~~~~~~~~~~ + + The default limit set by Freetz for the maximum size of the + configuration was exceeded. This limit is a protection to prevent an + unintended full TFFS. This limit can be increased, but you should + keep an eye on the current fill level: + + .. code:: wiki + + modconf set mod MOD_LIMIT= + modconf save mod + modsave flash + +|/!\\| As of `r5706 `__ the setting MOD_LIMIT is +obsolete. + +.. _NoftpaccessafterFreetz: + +No ftp access after Freetz +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + This is a problem which occurs especially in Freetz 1.1.x. More + details and solution can be found in the + `howto `__ . + +.. _RemovingFREETZandOtherModifications: + +Removing FREETZ and Other Modifications +--------------------------------------- + +.. _Miscellaneous: + +Miscellaneous +------------- + +.. _HowcanIuseanownotherDNSserverforallconnectedPCsandFritzbox: + +How can I use an own/other DNS server for all connected PCs and Fritzbox ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AVM doesn't allow the modification of the default DNS servers the Box is +using, instead of other routers which can change it via the WebUI. (End +of 2009). + + Possible Solutions: + +- dnsmasq: Installation of an own DNS server on the Fritzbox with the + package `dnsmasq `__. This is a general + possibility which is working on every box. This requires a + modification (freetzing) of the firmware image. With an edited + version of /etc/resolv.conf (if using the trunk version, this is + possible via the GUI under "Settings"→"Freetz: resolv.conf") you can + add a DNS server: "nameserver 208.67.220.220" (example with the + OpenDNS server) +- without dnsmasq: At some boxes, e.g. 7170(FV 29.04.76) it's possible + to edit the central config file of AVM. With the command "nvi + /var/flash/ar7.cfg" all entries of "overwrite_dns1 = xxx.xxx.xxx.xxx" + and "overwrite_dns2 = xxx.xxx.xxx.xxx" must be edited. It's + recommended that only persons with basic knowledge of nvi and telnet + respectivly ssh/telnet should do that! Here, the multid from AVM is + running as DNS server. At the resolv.conf a loopback entry + "nameserver 127.0.0.1" exists. This is allowing Linux standard + applications the resolving at the Fritzbox over the multid. +- Editing the /etc/resolv.conf: If its only about changing the current + used DNS of the Fritzbox, editing /etc/resolv.conf like described + above at dnsmasq also works. This is only affecting the name + resolution of the Box, connected clients are still using the standard + DNS. + +.. _HowcanIcreatecharacterdevices: + +How can I create character devices ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Freetz uses also a `​character +device `__, +which can save files enduring with help of a Tiny Flash Filesystems +(TFFS) in the Flash, to save the configuration. Prerequisite is a minor +number, which is not used by any other character device under +``/var/flash/`` (Freetz uses the minor 0x3c), the major number can be +read from ``/proc/devices``: + +.. code:: wiki + + mknod /var/flash/ c + +Because this character device is created in a +`​ramdisk `__ under ``/var/``, +this command must be executed every time during a restart. The content +is achieving |(?)|. |/!\\| To edit such character devices **never** use +vi! For this case, there is the wrapper script nvi. + +|/!\\| **ATTENTION:** The flash partition of the TFFS is very small and +not capable to contain files > 10-30 KB (depending on the size of the +other files). + +The current fill level can be shown like this: + +:: + + + echo 'cleanup' > /proc/tffs + + echo 'info' > /proc/tffs + + cat /proc/tffs | grep '^fill=' + +.. _Whichnetworkcableisnecessaryforarecover: + +Which network cable is necessary for a recover ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + RJ45 standard network cable, no crossover + +.. _HowoldismyFritzBox: + +How old is my FritzBox ? +~~~~~~~~~~~~~~~~~~~~~~~~ + +| The first four characters of the box' serial number describe its age: +| Example: **W484**-xxx-xx-xxx-xxx ⇒ **Thursday, 27.11.2008** +| U = 2006 +| V = 2007 +| W = 2008 +| X = 2009 +| A = 2010 +| W451 = calendar week 45 and the first day of that week = Monday +| W462 = calendar week 46 and the second day of that week = Tuesday +| W473 = calendar week 47 and the third day of that week = Wednesday +| **W484 = calendar week 48 and the fourth day of that week = Thursday** +| W495 = calendar week 49 the fifth day of that week = Friday + +.. _HowmuchRAMdoesmyFritzBoxcontain: + +How much RAM does my FritzBox contain? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| For the second xxxx-\ **XXX**-xxx-xxx currently, the following codes + are known to occur: + +| Example: W484-\ **305**-xx-xxx-xxx ⇒ **Fritzbox with 16MB and 1und1 + branding** +| 293 - HWRev 122 (8MB/7270_V1) - AVM branding +| 294 - HWRev 122 (8MB/7270_V1) - 1und1 branding +| 304 - HWRev 139 (16MB/7270_V2) - AVM branding +| **305 - HWRev 139 (16MB/7270_V2) - 1und1 branding** +| xxx - HWRev 145 (16MB/7270_V3) - ??? branding - 7270_V3 +| 307 - HWRev 139 (16MB/7270_V2) - AVME branding International Version? +| 310 - HWRev 139 (16MB/7270_V2) - AVME branding A-/CH-Version? + +- Tags +- `faq `__ + +.. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png +.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |(?)| image:: ../chrome/wikiextras-icons-16/question.png + diff --git a/wiki/FAQ.rst b/wiki/FAQ.rst new file mode 100644 index 0000000..29cce20 --- /dev/null +++ b/wiki/FAQ.rst @@ -0,0 +1,1612 @@ +FAQ +=== +.. _Freetz-FAQ: + +Freetz-FAQ +========== + +Hier werden häufig gestellte Fragen (engl. `FAQ `__ = +frequently asked questions) beantwortet. Diese Seite befindet sich noch +im Aufbau. + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Produktname und + Historisches `__ + + #. `Was ist Freetz? `__ + #. `Woher kommt der Name + Freetz? `__ + #. `Wie wird Freetz + ausgesprochen? `__ + #. `Wie entstand Freetz? `__ + #. `Wozu überhaupt ein neuer Name, wo doch DS-Mod inzwischen so + bekannt + ist? `__ + +#. `Motivation `__ + + #. `Warum Firmware + modifizieren? `__ + +#. `Verbreitung `__ + + #. `Warum werden keine fertigen modifizierten Images + angeboten? `__ + #. `Wo kann FREETZ heruntergeladen + werden? `__ + #. `Welche Boxen und welche Firmwares werden durch Freetz + unterstützt: `__ + +#. `Entwicklung `__ + + #. `Wann kommt Version xy? `__ + #. `Trunk, Branches, Tags? `__ + #. `Wann ist Feature XY fertig? `__ + #. `Freetz gefällt mir und ich möchte die Weiterentwicklung + unterstützen. `__ + +#. `Vorkonfiguration + (menuconfig) `__ + + #. `Wie erkennne ich welche Variante der 7270 ich + besitze? `__ + #. `Welche Pakete sollte man ins Freetz Image sinnvollerweise + einbauen? `__ + #. `Was bedeutet "binary only"? `__ + #. `Was bedeutet "EXPERIMENTAL" oder die Kategorie + "unstable"? `__ + #. `Funktioniert + iptables/nat/conntrack? `__ + #. `Packet Accelerator (AVM PA) `__ + #. `Was bedeutet "not available, no sources by + AVM"? `__ + +#. `Erstellen von Firmware-Images + (make/Build) `__ + + #. `Was bedeuten die einzelnen make-targets (z.B. dirclean, + distclean, + … `__ + #. `Beim Erstellen tritt ein Fehler auf, was + nun? `__ + #. `Beim Erstellen tritt immer noch ein Fehler + auf… `__ + #. `Ich kann das erzeugte Freetz Image nicht + finden? `__ + #. `Wo finde ich diese berühmte + .config-Datei? `__ + #. `Wie bekomme ich die .config-Datei auf den + PC? `__ + +#. `Flashen des Firmware-Images `__ + + #. `Wie installiere ich das + Freetz-Image? `__ + #. `Beim Flashen meldet das AVM-Webinterface, dass das Image keine + passende + … `__ + #. `Freetz-Trunk wurde per AVM Firmware-Update geflasht, nach dem + Neustart + … `__ + +#. `Probleme nach dem (erfolgreichen) + Flashen `__ + + #. `Wie lautet das Standard-Passwort für + Freetz? `__ + #. `Nach dem Flashen ist das AVM-Webinterface nicht mehr + erreichbar `__ + #. `Nach dem Flashen ist die Box nicht mehr erreichbar und/oder + rebootet + … `__ + #. `Beim Aufruf des Original-AVM-Webinterface von aussen bekomme ich + trotz + … `__ + #. `Das Freetz-Webinterface akzeptiert die Standardkombination für + Benutzer + … `__ + #. `Kann man Pakete/Patches nachinstallieren, ohne das FREETZ-Image + neu zu + … `__ + #. `Nach dem Flashen ist das Freetz-Webinterface nicht (mehr) + erreichbar `__ + #. `Der dynamische Teil des (AVM-)Webinterface verhält sich nicht wie + erwartet `__ + +#. `Freetz aktualisieren `__ + + #. `Ich habe momentan eine Laborversion installiert. Kann ich Freetz + einfach + … `__ + #. `Ich habe eine alte Freetz-Firmware auf der + Box `__ + +#. `Konfiguration `__ + + #. `Wo landen die diversen Konfigurationen auf der + Fritzbox? `__ + #. `Konfiguration in der aktuellen Sicherheitsstufe nicht + verfügbar! `__ + #. `Wie deaktiviere ich das Passwort für die + Freetz-Webseite? `__ + #. `Wie ändere ich das Passwort für die + Freetz-Webseite? `__ + #. `Wie ändere ich das Passwort für die Freetz-Webseite sofern ich es + … `__ + #. `Wie ändere ich das + root-Passwort? `__ + #. `Ändern des root-Passwortes über die + Rudi-Shell `__ + #. `Warum kann ich mich nach einer Freetz-Wiederherstellung nicht + mehr am + … `__ + +#. `Probleme im Betrieb `__ + + #. `/var/flash/freetz too big `__ + #. `Kein FTP-Zugriff nach Freetz + möglich `__ + +#. `Entfernen von Freetz und anderen + Modifikationen `__ +#. `Sonstiges `__ + + #. `Ändern der Arbeitsgruppe von + "freetz-linux" `__ + #. `Wie finde ich die IP meiner Virtuellen + Maschine `__ + +#. `Weiterführende Links `__ + +.. _ProduktnameundHistorisches: + +Produktname und Historisches +---------------------------- + +.. _WasistFreetz: + +Was ist Freetz? +~~~~~~~~~~~~~~~ + + *Freetz* ist ein Werkzeugkasten für Entwickler und versierte + Anwender, um sich für diverse DSL/LAN/WLAN/VoIP-Router der Serien + `​AVM + Fritz!Box `__ bzw. + `​T-Com + Speedport `__ + (baulich ähnlich) eine auf der Original-Firmware des Herstellers + aufbauende, funktional modifizierte Firmware zu bauen und diese auf + das Gerät zu transferieren. Es werden eine Vielzahl von + Erweiterungspaketen angeboten, aber auch Möglichkeiten, nicht + benötigte Funktionalität der Original-Firmware zu entfernen. + +.. _WoherkommtderNameFreetz: + +Woher kommt der Name Freetz? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Es handelt sich um eine (verballhornte) Zusammensetzung aus dem + englischen Wort "free" (dt. frei) und dem Männernamen "Fritz", + welcher an den Gerätenamen des Herstellers + `​AVM `__ erinnern soll. Wir wollen damit + symbolisieren, dass es sich bei *Freetz* um freie Software handelt. + Da wir marken- und urheberrechtlichen Problemen mit AVM, deren + Schutzrechte auf die Marke "Fritz!" (mit Ausrufezeichen) wir + ausdrücklich anerkennen, aus dem Weg gehen möchten, haben wir uns für + diese deutlich unterschiedliche Schreibweise entschieden. Die Idee + für den Namen stammt von Alexander Kriegisch, der sich gemeinsam mit + Oliver Metz überlegte, wie das Projekt heißen sollte, wenn das + versionsverwaltete Quelltext-Repository der Öffentlichkeit übergeben + werden würde. Aus der (nach unserem Empfinden bescheuert klingenden) + Alliteration "Free Fritz" wurde schließlich "Freetz". (Auch + "OpenFritz" war im Rennen, aber wir wollten nicht + `​OpenWrt `__ nachäffen.) Wir bilden uns nicht + ein, der Name sei ein großer Wurf, aber er ist kurz und wir hoffen, + er ist leicht zu merken. |:-)| + +.. _WiewirdFreetzausgesprochen: + +Wie wird Freetz ausgesprochen? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Wie das englische Wort "free" mit angehängtem deutschem "tz", + pseudo-deutsch geschrieben in etwa "Friez", pseudo-englisch + geschrieben in etwa "freets". Anders gesagt, wie der Männername + "Fritz", aber mit langem "i" und mit englisch ausgesprochenem "r". + +.. _WieentstandFreetz: + +Wie entstand Freetz? +~~~~~~~~~~~~~~~~~~~~ + + Es gibt einige Vorläufer von *Freetz*. Daniel Eiband (bekannt als + "Danisahne") hat vor einigen Jahren, aufbauend auf Vor- und + Zuarbeiten anderer kreativer Köpfe (Erik Andersen, Christian + Volkmann, Andreas Bühmann, Enrik Berkhan u.a.), den sog. + *Danisahne-Mod* (kurz: *DS-Mod*) ins Leben gerufen. So wie heute mit + *Freetz*, konnte und kann man auch damit Firmware-Modifikationen + bauen, allerdings noch für ältere Firmware-Versionen mit Linux-Kernel + 2.4. Da einige Router noch immer auf Kernel 2.4 basierende Firmwares + haben, ist Version + `​ds-0.2.9-p8 `__ + des *DS-Mod* für jene Geräte immer noch aktuell. Für die Mehrzahl + aktueller Geräte war der direkte Vorläufer zu *Freetz* jedoch die von + Oliver Metz ins Leben gerufene Version *ds26* (zuletzt + `​ds26-15.2 `__), + welche ausschließlich für Firmwares mit Kernel 2.6 geeignet ist. + Selbiges gilt auch für *Freetz*, denn *Freetz* ist Stand heute + (20.01.2008) nichts anderes als die aktuelle Entwicklerversion von + *ds26*, nur mit neuem Namen. + +.. _WozuüberhaupteinneuerNamewodochDS-Modinzwischensobekanntist: + +Wozu überhaupt ein neuer Name, wo doch DS-Mod inzwischen so bekannt ist? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Es gibt mehrere Gründe dafür. Zum einen ist seit gut einem Jahr + Daniel nicht mehr aktiv an der Weiterentwicklung von *ds26* beteiligt + gewesen, zum anderen hat er bei + `​SourceForge `__ schon etwa ebenso lange + begonnen, eine von Grund auf neue *DS-Mod*-Version - nennen wir sie + mal inofiziell *DS-Mod NG (Next Generation)* - zu entwickeln, deren + aktueller Stand in einem öffentlich zugänglichen Quellcode-Repository + auf der `​Projekt-Webseite `__ + einzusehen ist. Wir wollen Daniel seinen Projektnamen nicht streitig + machen und auch nicht in Konkurrenz zu ihm treten, sondern hoffen im + Gegenteil, dass er eines Tages wieder mehr Zeit für sein Projekt + haben wird und schlußendlich beide wieder in ein gemeinsames münden, + um alle Vorteile in einem Produkt zu vereinen. Zurzeit ist es jedoch + so, dass beide Projekte sich deutlich auseinander entwickelt haben: + *DS-Mod NG* hat eine sehr saubere Struktur, ist jedoch noch lange + nicht fertig, *Freetz* (bzw. bisher *ds26*) ist hundertfach im + Einsatz und wird eher während der laufenden Entwicklung immer wieder + mal Refactoring-Maßnahmen unterworfen. Wo zuletzt in der Presse (z.B. + `​PC-Welt `__) + vom *DS-Mod* gesprochen wurde, war *Freetz* alias *ds26* gemeint. + +.. _Motivation: + +Motivation +---------- + +.. _WarumFirmwaremodifizieren: + +Warum Firmware modifizieren? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Es können zwar einzelne spezielle Dateien (character devices) unter + /var/flash/ bearbeitet werden und sie behalten den Inhalt auch über + einen Reboot hinweg, jedoch trifft das nicht auf den Rest des + Dateisystems zu. Der Inhalt dieser character devices landet in einer + eigenen Flash Partition, die sehr klein ist. Der überwiegende Teil + des Dateisystems ist ein read-only Squashfs Image, welches in einem + Firmware Update enthalten ist. Um (größere) Dateien dauerhaft in die + Firmware einzubinden müssen sie in dieses Squashfs Image gelangen, + welches unter anderem in Freetz implementiert ist. + +.. _Verbreitung: + +Verbreitung +----------- + +.. _WarumwerdenkeinefertigenmodifiziertenImagesangeboten: + +Warum werden keine fertigen modifizierten Images angeboten? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Die Lizenz, unter welcher die Firmwares von AVM bereitgestellt + werden, untersagt dies. + +.. _WokannFREETZheruntergeladenwerden: + +Wo kann FREETZ heruntergeladen werden? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | Auf der Startseite sind unter `Quellcode `__ + die Möglichkeiten zum `Download `__ von FREETZ + aufgelistet. Es werden sowohl erprobte stabile Versionen von FREETZ + als auch Entwicklerversionen angeboten. Zum Bauen eines + FREETZ-Images wird LINUX zwingend vorausgesetzt. Es muss nicht + unbedingt ein natives Linux-System auf dem PC bereits vorhanden + sein. Auch eine Virtuelle Maschine eurer Wahl oder eine Live-CD mit + Linux können zum Bauen von FREETZ benutzt werden. + +.. _WelcheBoxenundwelcheFirmwareswerdendurchFreetzunterstützt:: + +Welche Boxen und welche Firmwares werden durch Freetz unterstützt: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | a.) + `Freetz-1.1.5 `__\ `​ `__ + | b.) + `freetz-stable-2.0 `__\ `​ `__ + | c.) + `Trunk `__\ `​ `__ + +.. _Entwicklung: + +Entwicklung +----------- + +.. _WannkommtVersionxy: + +Wann kommt Version xy? +~~~~~~~~~~~~~~~~~~~~~~ + + Grundsätzlich: It's done when it's done. Die Entwickler arbeiten in + ihrer Freizeit, und Releases gibt es dann, wenn die beschlossenen + Features fertig und release-kritische Bugs behoben sind. + +.. + + Es gibt jedoch einen groben Plan für die Releases: 3-4 Monate nach + einer stabilen Release gibt es einen Feature Freeze für die + nachfolgende Release. Ab diesem Zeitpunkt werden nur noch Bugs + behoben. Die Feature-Freeze-Termine werden in der + `Roadmap `__ angekündigt. Nach dem Feature Freeze kann grob + nach 1 bis 1,5 Monaten mit dem Release gerechnet werden. Zwischen den + stabilen Feature-Releases gibt es ggfs. weitere Maintenance-Releases, + die nur neue Firmwareversionen von AVM unterstützen und Fehler + beheben. + +.. _TrunkBranchesTags: + +Trunk, Branches, Tags? +~~~~~~~~~~~~~~~~~~~~~~ + +| Der `Trunk `__ ist der aktuelle Entwicklungszweig. + Unter einem Branch versteht man ein Zweig, der zu einer bestimmten + Zeit (z.B. `r10373 `__) aus dem Trunk abgetrennt + wurde. Hier gibt es derzeit den Branch + `freetz-stable-2.0 `__. Alle + Releaseversionen bekommen einen Tag (z.B. + `freetz-1.2 `__. Zukünftig wird das dann der + Tag 2.0 werden. +| Auschecken einer stabilen Version: + +.. code:: wiki + + svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-stable-2.0 + +Auschecken eines Tags: + +.. code:: wiki + + svn co http://svn.freetz.org/tags/freetz-1.2 freetz-1.2 + +Nach Erscheinen des neuen Tag 2.0 wird dieser dann wie folgt +ausgecheckt: + +.. code:: wiki + + svn co http://svn.freetz.org/tags/freetz-2.0 freetz-2.0 + +Auschecken einer Entwicklerversion (trunk): + +.. code:: wiki + + svn co http://svn.freetz.org/trunk freetz-trunk + +Achtung! Die Entwicklerversion (trunk) ist nur für fortgeschrittene +Benutzer zu empfehlen, die mit Linux-Grundlagen vertraut sind, sich bei +elementaren Problemen selbst helfen können und den Entwicklern einen +qualitativen Feedback geben können. Da es sich hierbei um eine laufende +Entwicklung handelt, ist die Stabilität der Entwicklerversion meist +nicht so hoch, wie bei Branches und Tags. + +.. _WannistFeatureXYfertig: + +Wann ist Feature XY fertig? +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Der schnellste Weg zur Fertigstellung ist die Präsentation einer + funktionierenden Lösung. Wir notieren uns jedes sinnvoll erscheinende + Feature Request. Da wir Freetz aber in unserer Freizeit gestalten, + muss man sich halt manchmal gedulden. + +.. _FreetzgefälltmirundichmöchtedieWeiterentwicklungunterstützen.: + +Freetz gefällt mir und ich möchte die Weiterentwicklung unterstützen. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Hier gibt es einmal die Möglichkeit dem Entwicklerteam eine + Geldspende zukommen zu lassen. Dazu ist in der rechten untern Ecke + ein Paypal-Spendenbutton angebracht. Weiterhin kann eine Box + natürlich besser unterstützt werden, wenn das Entwicklerteam + "Testboxen" besitzt. Im + `​IPPF `__ + existiert ein Thread zum Thema Spenden. + +.. _Vorkonfigurationmenuconfig: + +Vorkonfiguration (menuconfig) +----------------------------- + +.. _WieerkennneichwelcheVarianteder7270ichbesitze: + +Wie erkennne ich welche Variante der 7270 ich besitze? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Siehe + `hier `__. + +.. _WelchePaketesolltemaninsFreetzImagesinnvollerweiseeinbauen: + +Welche Pakete sollte man ins Freetz Image sinnvollerweise einbauen? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Sinnvoll ist Dropbear um später einen SSH Zugang zu haben, dnsmasq + als DNS- und DHCP-Server Ersatz, sowie das Syslog-Webif um Fehler zu + erkennen. + +.. _Wasbedeutetbinaryonly: + +Was bedeutet "binary only"? +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + "binary only" heißt, dass für das ausgewählte Paket nur das Programm + ("binary") selbst erstellt wird, jedoch kein Webinterface, + init-Skripte etc. vorhanden sind. Dies bedeutet, dass man sich selbst + um die Konfiguration und das Starten des Programms kümmern muss. + +.. _WasbedeutetEXPERIMENTALoderdieKategorieunstable: + +Was bedeutet "EXPERIMENTAL" oder die Kategorie "unstable"? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Die so gekennzeichneten Pakete haben bekannte Probleme und + können/sollten nicht benutzt werden. Evtl gibt es dazu noch ein + offenes `Ticket `__ + +.. _Funktioniertiptablesnatconntrack: + +Funktioniert iptables/nat/conntrack? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | IPtables funktioniert überall. Allerdings wird in Fritz!OS 05.2x + und 05.5x von AVM der PacketAccelerator genutzt. Durch diesen + funktioniert conntrack nicht mehr. Und damit + nat/masquerading/state/transparenter Proxy und alles was sonst noch + von conntrack abhängt. + | Abhilft schafft ein Downgrade auf eine alte Firmware, zB bei der + 7270 ein "Alien" mit 04.88 oder gleich Freetz-1.2. + | Da AVM den Quellcode des PacketAccelerator veröffentlicht hat, + könnte das Problem von jemandem mit viel Zeit und Wissen behoben + werden. + | Das Thema wird in Ticket `#1605 `__ behandelt, und so + lange das Ticket noch nicht geschlossen ist besteht das Problem. + +.. _PacketAcceleratorAVMPA: + +Packet Accelerator (AVM PA) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Der Packet Accelerator bringt auch den Nachteil mit sich, dass tcpdump + etc nicht mehr alle Pakete sehen. Um den PA bis zum nächsten Reboot + temporär zu deaktivieren: +| ``echo disable > /proc/net/avm_pa/control`` +| Dies bringt den Nachteil mit sich, dass zB die 7390 keine 100 MBit/s + mehr im ATA-Modues routen kann sondern nur noch ~ 40 MBit/s. Siehe + auch `Funktioniert + iptables/nat/conntrack? `__ + +.. _WasbedeutetnotavailablenosourcesbyAVM: + +Was bedeutet "not available, no sources by AVM"? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Die für diese Firmware passenden Kernelquellen wurden noch nicht in + Freetz integriert. Meist ist die Ursache dafür, dass AVM diese noch + nicht veröffentlicht hat. Typischerweise dauert es wenige Tage bis + mehrere Monate. Falls die Datei für die entsprechende FritzBox + mittlerweile auf `​ftp://ftp.avm.de/ `__ + veröffentlicht wurde, ein Ticket dafür öffnen. Um den Vorgang zu + beschleunigen empfiehlt sich, wie in den + `​info.txt `__ + beschrieben, schriftlich an AVM zu wenden: ``fritzbox_info@avm.de``. + +.. _ErstellenvonFirmware-ImagesmakeBuild: + +Erstellen von Firmware-Images (make/Build) +------------------------------------------ + +.. _Wasbedeutendieeinzelnenmake-targetsz.B.dircleandistcleanconfig-clean-depsetc.: + +Was bedeuten die einzelnen make-targets (z.B. dirclean, distclean, config-clean-deps etc.)? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A: Die make-targets beeinflussen den +`Build-Prozess `__ bei der +FW-Erstellung. Viele der folgenden Infos entstammen (`​diesem +Thread `__). + +**1. Aufräumen:** + +- *make clean + *\ … + +- *make -clean*: + ruft normalerweise das clean-Target des Source-Makefiles auf. Dieses + wird typischerweise alle generierten Dateien (vor allem + Object-Dateien, Libraries und ausführbare Programme) löschen. + Ein nachfolgendes *make* wendet keine geänderten Patches an, sondern + erstellt nur die o.g. Object-Dateien, Libraries und ausführbare + Programme neu (compilieren). + Z.B. räumt *make mc-clean* so das Paket "Midnight Commander" (mc) + auf. + +- *make -dirclean*: + löscht das gesamte Verzeichnis des Pakets. Ein nachfolgendes *make* + wird die Quellen neu auspacken, die Patches anwenden, das Paket + konfigurieren und dann compilieren. + Nur der letzte Schritt (compilieren) wird nach *make -clean* + (s.o.) ausgeführt. + +- *make dirclean*: + führt, wie der Name schon sagt, ein "Verzeichnis-Aufräumen" durch. + Hierbei werden unter anderem die Verzeichnisse */packages, /source, + /build, /toolchain/build, toolchain/target* (und ein paar andere + Sachen(?)) gelöscht, sodass bei erneutem Ausführen von *make* alles + neu gebaut werden muss. Dies ist empfehlenswert, wenn sich Aufgrund + eines *svn up* eine neu gebaute Firmware nicht so Verhält, wie man es + erwartet. Alternativ kann man, wenn man weiß, an welchem Packet es + liegt, dieses auch via *make -dirclean* einzeln löschen (siehe + oben). + Zu erwähnen sei noch, dass nach einem *make dirclean* der Bau der + Firmware natürlich länger dauert, da ja alles neu gebaut werden muss. + +- *make tools-distclean*: + löscht die Tools (busybox, lzma, squashfs, usw.) + +- *make distclean*: + Hier werden zusätzlich zum *make dirclean* auch noch die Downloads + sowie die Tools gelöscht. + +- *make config-clean-deps*: + Wenn bei *make menuconfig* Pakete abgewählt wurden, sind ggfs. noch + Shared Libraries ausgewählt, die nicht mehr benötigt werden (dies + kann *menuconfig* nicht automatisch erkennen). Diese kann man dann + manuell unter 'Advanced Options'→'Shared Libraries' abwählen - die + benötigten lassen sich nicht deaktivieren. Alternativ kann man dies + automatisch mittels *make config-clean-deps* erledigen lassen. Dabei + werden übrigens auch manuell in *make menuconfig* ausgewählte + Busybox-Applets deselektiert (*nicht\* die in *make + busybox-menuconfig*!), d.h. die Busybox-Einstellungen werden auf + Standardwerte zurückgesetzt. + +- *make config-clean-deps-keep-busybox*: + Wie *make menuconfig*, aber die Busybox-Einstellungen bleiben + bestehen. + +- *make kernel-dirclean*: + löscht den aktuell entpackten Source-Tree des Kernels, um von + komplett sauberen Kernel Sourcen zu kompilieren (wichtig wenn was an + den Patches geändert wird) + +- *make kernel-clean*: + analog *make -clean* + +- *make kernel-toolchain-dirclean*: + löscht den Kernel-Compiler + +- *make target-toolchain-dirclean*: + löscht den Compiler für die uClibc und die Binaries (ausführbare + Programme) + +**2. Vorbereitungen:** + +- *make world*: + Vorraussetzung ist eine Toolchain (siehe `Cross-Compiler / Toolchain + erstellen `__). + Sollten jemals Probleme mit nicht vorhandenen Verzeichnissen + auftauchen, so kann ein *make world* Abhilfe schaffen. In der Regel + sollte das aber nicht nötig sein. + +- *make kernel-toolchain*: + kompiliert den Kernel und auch für das target (Fritzbox) + Aus historischen Gründen wurde die Bezeichnung als *kernel-toolchain* + belassen, obwohl damit wie gesagt nicht nur der Kernel gebaut wird, + sondern auch Pakete (s.u.). + +- *make target-toolchain*: + kompiliert die Pakete für das target (Fritzbox) + +- *make kernel-menuconfig*: + Die Konfiguration des Kernels wird danach wieder nach + ./make/linux/Config. zurückgespeichert. + +- *make kernel-precompiled*: + Damit werden der Kernel und die Kernel Module kompiliert. + +- *make menuconfig* + (`Quelle `__): Zum + Konfigurieren von Freetz kommt das Programm *conf/mconf* zum Einsatz, + welches dem ein oder anderen vielleicht von der Konfiguration des + Linux Kernels bekannt ist. Die + `​ncurses `__ Variante *mconf* + kann mit dem Kommando *make menuconfig* aufgerufen werden. + Übrigens: + Eine Hilfe zu den einzelnen Punkten kann direkt in *menuconfig* durch + Eingabe von "?" aufgerufen werden. + Und nach Eingabe von "/" kann man von allen Ebenen aus nach + beliebigen Zeichenfolgen suchen - sehr praktisch. + +.. _BeimErstellentritteinFehleraufwasnun: + +Beim Erstellen tritt ein Fehler auf, was nun? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Zunächst einmal die folgende Liste der häufigen Fehler durchgehen: + +.. _YoumusthaveeitherhavegettextsupportinyourClibraryorusetheGNUgettextlibrary.: + +You must have either have gettext support in your C library, or use the GNU gettext library. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Hier ist wohl ein falscher Wert im Cache gelandet, den man löschen + muss: "rm make/config.cache" oder "rm + source/target-mipsel_uClibc-\ *0.X.XX*/config.cache" jenachdem, wo + die Datei zu finden ist. Und danach wird der FW-Bau wieder mit "make" + gestartet. + +.. _ERROR:Theprogramlibraryheaderxywasnotfound: + +ERROR: The program/library/header xy was not found… +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Wenn mit die ersten Meldungen so aussehen, fehlen für die Erstellung + von Freetz unbedingt notwendige Pakete im Build-System und müssen + zunächst installiert werden. + +.. _WARNING:Theprogramlibraryheaderxywasnotfound: + +WARNING: The program/library/header xy was not found… +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Wenn die Erstellung mit einem Fehler abbricht, kann diese Warnung zu + Beginn des Vorgangs darauf hindeuten, dass für bestimmte ausgewählte + Optionen notwendige Pakete im Build-System fehlen. + +.. _Couldnotdownloadfirmwareimage: + +Could not download firmware image +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _ehemals:NosuchfileFRITZ.Box_xxxxxxxxx.aa.bb.cc.image: + +(ehemals: No such file \`FRITZ.Box_xxxxxxxxx.aa.bb.cc.image') +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + + | AVM selbst stellt für einen Box-Typ meist nur das aktuellste + Firmware-Image zum `Download `__ bereit. Jede + Freetz-Version unterstützt lediglich nur die Versionen, die in der + Datei ``FIRMWARES`` aufgelistet sind. Aus lizenzrechtlichen Gründen + darf das Freetz-Projekt keine AVM-Firmwares bereitstellen. + | Anbei Lösungsvorschläge: + +- Allgemeiner Hinweis: Im + `​Suche-Firmware-Sammelthread `__ + kann man nach älteren Firmware-Versionen fragen (das Firmware-Image + manuell in den Ordner ``'dl/fw/'`` im Freetz-Verzeichnis kopieren). +- Einsteiger: Stets die aktuellste `stabile + Version `__ benutzen oder die + `Vorabversion `__ probieren! +- Fortgeschrittene/Entwickler: Die + `Entwicklerversion `__ unterstützt + (meist) alle aktuellen Firmware-Versionen. +- Experimentierfreudige User: In `make + menuconfig `__ unter + *Advanced Options ⇒ Override firmware source* den Namen der + herunterzuladenen Image Datei anpassen. + |/!\\| Vorsicht: Evtl. sind weitere Anpassungen im Quellcode + notwendig und zur Sicherheit ein passendes Recover-Image bereit + halten. + +.. _Pleasecopythefollowingfileintothedlfwsub-directorymanually:fritz_box_aa_bb_cc-ddddd.image: + +Please copy the following file into the 'dl/fw' sub-directory manually: fritz_box_aa_bb_cc-ddddd.image +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Die Labor-Firmwares können nicht direkt vom AVM-FTP-Server + heruntergeladen werden. Sie müssen manuell von der + `​AVM-Labor-Seite `__ geladen werden, wobei + die Nutzungsbedingungen zu bestätigen sind. Die Dateien müssen dann + entpackt und das darin enthaltene Image in den Ordner 'dl/fw' im + Freetz-Verzeichnis kopiert werden. Hierbei gilt auch das zur vorigen + Frage Gesagte. + +.. _a.ln:cannotexecutebinaryfile: + +./ln: cannot execute binary file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Das aktuelle Verzeichnis '.' ist im Pfad (Variable PATH). Zum + erfolgreichen Erstellen muss es entfernt werden. + +.. _Filesystemimagetoobig: + +Filesystem image too big +^^^^^^^^^^^^^^^^^^^^^^^^ + + Das Firmware-Image passt nicht in den Flash-Speicher der ausgewählten + Box. + +- Bei manchen Boxen kann dies bereits auftreten, wenn überhaupt keine + zusätzlichen Pakete ausgewählt sind, da die grundlegende + Freetz-Infrastruktur bereits einigen Platz belegt und die AVM-Images + schon knapp unter dem Maximalwert liegen. In diesem Fall ist es + notwendig, unter 'Patches' einen oder mehrere der Remove-Patches + auszuwählen, um nicht benötigte Komponenten der Original-Firmware zu + entfernen. Näheres dazu im + `​IPPF `__ und + in + `​WIKI `__ +- Wenn viele Pakete ausgewählt sind, sollte man sich beschränken oder + versuchen per `USBRoot `__ oder + `NFSRoot `__ die Beschränkung des Flashs zu + umgehen. +- Bei Boxen mit einem USB-Host (z.B. 7170,7270) kann man außer + `USBRoot `__ auch einzelne Pakete auf das + externe USB-Medium (z.B. USB-Stick, USB-Festplatte) auslagern. Die + Auslagerung wird nach dem make-Prozess automatisch von einem Skript + namens `external `__ ausgeführt. Im + menuconfig finden sich die Optionen für die Auslagerung mittels + external. Im Unterschied zum USB-Root wird hier nicht die gesamte + Firmware, sondern nur ein Teil der Pakete ausgelagert. +- Wenn Pakete abgewählt wurden, sind ggfs. noch Shared Libraries + ausgewählt, die nicht mehr benötigt werden (dies kann menuconfig + nicht automatisch erkennen). Diese kann man dann manuell unter + 'Advanced Options'→'Shared Libraries' abwählen - die auf benötigten + lassen sich nicht deaktivieren. Alternativ kann man dies automatisch + mittels *make config-clean-deps* bzw. *make + config-clean-deps-keep-busybox* erledigen lassen. + +.. _WARNING:Notenoughfreeflashspaceforansweringmachine: + +WARNING: Not enough free flash space for answering machine! +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Im Gegensatz zur Meldung "Filesystem image too big" passt das + Firmware-Image in den Flash-Speicher der ausgewählten Box, der + restliche Platz im Flash könnte aber für die Aufzeichnung von + Nachrichten auf dem von AVM in der FW integrierten Anrufbeantworter + zu klein sein oder komplett fehlen. Die Firmware sollte trotz dieser + Warnung funktionieren, für Anrufbeantworter-Daten, FAX-Nachrichten + und Sonstiges empfiehlt sich einen Stick mit einer FAT-Partition + anzulegen und entsprechend in AVM-WebIF angeben, dass der + Anrufbeantworter (oder andere Dienste) den externen Speicher nutzen + sollten. + +.. + + Hintergrundinformationen: Seit einigen Firmware-Versionen versucht + AVM die restlichen Bytes im Flash dafür zu nutzen, eine + jffs2-Partition anzulegen. Auf dieser Partition werden z.B. + Anrufbeantworter-Nachrichten (TAM) und evtl. noch Faxe und Ähnliches + abgespeichert. Bei älteren Boxen (z.B. 7170) kommt es fast immer + dazu, dass im Image kaum mehr Platz frei ist, sodass die + jffs2-Partition nicht angelegt wird und die Meldung nur als + Warnhinweis angesehen werden sollte. Mehr dazu im + `​IPPF-Thread `__. + In FREETZ seit Revision `r3049 `__. + +.. _BeimErstellentrittimmernocheinFehlerauf: + +Beim Erstellen tritt immer noch ein Fehler auf… +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Zunächst einmal im menuconfig unter 'Advanced Options' das 'Verbosity + Level' auf 2 stellen und das make erneut ausführen. Danach im `​IPPF + Forum `__ nach + der relevanten Fehlermeldung suchen und ggfs. einen passenden + bestehenden oder neuen Thread aufmachen, wo dann unter Angabe der + kompletten Fehlermeldung (bitte in Code-Tags), der Datei .config (als + Attachment) und der verwendeten Version oder SVN-Revision um Hilfe + bitten. + +.. _IchkanndaserzeugteFreetzImagenichtfinden: + +Ich kann das erzeugte Freetz Image nicht finden? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Freetz verschiebt alle fertigen Images in den Unterordner *images/*. + +.. figure:: /screenshots/116.jpg + :alt: + +| + +.. _Wofindeichdieseberühmte.config-Datei: + +Wo finde ich diese berühmte .config-Datei? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Die .config Datei beinhaltet die Hauptkonfiguration für den + make-Aufruf beim Cross-Kompilieren der Firmware und liegt genau auf + der Maschine die zur Erzeugung der Firmware verwendet wird und exakt + im selben Hauptverzeichnis von FREETZ, von dem auch make ausgeführt + wird. In der Datei steht z.B. welche Pakete/Branding/Libs usw. man + ausgewählt hat. Die Datei .config ist eine reine Textdatei und wird + typischerweise nach dem Aufruf von menuconfig automatisch angelegt + bzw. aktualisiert. Bitte diese Datei nicht mit Config.in verwechseln! + (häufiger Fehler) Wenn man die Datei nicht sehen kann, liegt es + daran, dass sie ein "dot" an der ersten Stelle hat und somit + versteckt ist. + +.. + + Alternativ kann man die Datei auch im selbsterzeugten Firmware-Image + finden, denn .image-Dateien sind nichts anderes als gewöhnliche + tar-Archive, die z.B. mit WinRAR oder 7Zip ausgepackt werden können. + + Neuerdings wird die .config-Datei auch mit ins Image genommen (wenn + man es nicht explizit abwählt) und befindet sich in einer + komprimierten Form auf der Box. Die Datei kann über das FREETZ-WebIF + angesehen und sogar herunterladen werden. Zu finden ist die Datei + unter Status→FREETZ-Info. + +.. _Wiebekommeichdie.config-DateiaufdenPC: + +Wie bekomme ich die .config-Datei auf den PC? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Die .config bekommt man sehr einfach mit der + `​WinSCP-Software `__ auf den PC + kopiert. + +Zuerst müsst Ihr euch den +`​WinSCP `__ auf den PC installieren +und dann starten. In der Startmaske gebt Ihr folgende sachen ein (siehe +Bild): + +.. figure:: /screenshots/110.jpg + :alt: + +Die benötigte IP-Adresse eurer Freetz-Buildumgebung erhaltet Ihr wenn +ihr folgenden Befehl in der Konsole eingebt: **ifconfig** + +.. figure:: /screenshots/114.jpg + :alt: + +**Benutzername** und **Kennwort** sind wie gewohnt **freetz freetz** Als +Protokoll nutzt ihr **FTP (Keine Verschlüsselung)** Wenn Ihr nun auf +**Anmelden** drückt sollte folgendes Bild zu sehen sein: + +.. figure:: /screenshots/115.jpg + :alt: + +Als nächstes wechseln wir in das Hauptverzeichnis von FREETZ (im +Beispiel ist das **freetz-trunk**). + +.. figure:: /screenshots/111.jpg + :alt: + +Dort makieren wir die gesuchte .config mit der Mause und öffnen das +Kontext-Menu mit der rechten Maustaste und drücken auf kopieren: + +.. figure:: /screenshots/112.jpg + :alt: + +Im nächsten Fenster wählen wir nur noch das Zielverzeichnis auf dem PC +aus und drücken auf **Kopieren**. + +.. figure:: /screenshots/113.jpg + :alt: + +Jetzt solltet Ihr die **.config** auf eurem PC finden. + +.. _FlashendesFirmware-Images: + +Flashen des Firmware-Images +--------------------------- + +.. _WieinstalliereichdasFreetz-Image: + +Wie installiere ich das Freetz-Image? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Wenn noch eine Original-AVM-Firmware installiert ist, …** + +gibt es zwei Möglichkeiten: + +- die normale Installation über das AVM-Webinterface (wie gewohnt beim + Update) +- das Script tools/push_firmware.sh (befindet sich im Freetz + Build-Verzeichnis - also z.B. unter "freetz-1.1.4"). Hiermit lässt + sich auch bei den Speedports Freetz installieren, was über das + Webinterface nicht so einfach möglich ist `​Unterpunkt: "Hochladen + per + Weboberfläche" `__ + +**Wenn bereits Freetz auf der Box ist, …** + +- ist die bequemste Variante das Firmware-Update über die + Freetz-Webinterface-Startseite. Dabei können bei Bedarf auch die + AVM-Dienste weiterlaufen (Internetverbindung bleibt somit bestehen) + oder können Angehalten werden, um den zusätzlichen Platz im RAM zu + gewinnen. Das Gute an dieser Methode ist, dass man nach dem Upload + des Images einen ausführlichen Bericht zu sehen bekommt und + anschließend den Zeitpunkt des Reboots (und somit des eigentlichen + Updates) manuell festlegen kann. + +**Flashen eines freetz-images + einer +.\ **\ `external `__\ **: +** + +Grundsätzlich sei gesagt, dass für diese Funktion freetz bereits auf der +Box laufen muss. + + | Sowohl die .image-datei als auch die .external-Datei, soweit diese + erstellt wurde, lassen sich mit einem einzigen Rebootvorgang auf + die Box laden. + | Dabei ist folgendes Vorgehen zu empfehlen: + +- Die .external-Datei hochladen. Es wird automatisch versucht alle + Programme die schon ausgelagert wurden zu beenden. Sollte ein Fehler + auftreten, bitte vorher händisch alle Programme beenden. Hintergrund: + Beim Upload-Vorgang wird der Inhalt der alten mit der neuen .external + überschrieben. +- Die .image-Datei hochladen. +- Box-Reboot anstoßen + +.. _BeimFlashenmeldetdasAVM-WebinterfacedassdasImagekeinepassendeFirmwareenthält: + +Beim Flashen meldet das AVM-Webinterface, dass das Image keine passende Firmware enthält +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Das in der Box (im Urlader) eingestellte Branding muss auch in der + verwendeten Firmware enthalten sein. Also bitte mal prüfen, ob das + der Fall ist und ggfs. das Image mit dem richtigen Branding neu + erstellen. + +.. _Freetz-TrunkwurdeperAVMFirmware-UpdategeflashtnachdemNeustartscheintsichabernichtsgeändertzuhaben: + +Freetz-Trunk wurde per AVM Firmware-Update geflasht, nach dem Neustart scheint sich aber nichts geändert zu haben +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Sollte nach dem Flashen von Freetz per Firmware-Update über das + AVM-Webinterface und dem nachfolgenden Neustart das + Freetz-Webinterface auf Port 81 nicht zur Verfügung stehen und sich + auch die Firmware-Version im AVM-Webinterface nicht geändert haben, + so war vermutlich das Flashen nicht erfolgreich. Ein deutlicher + Hinweis darauf ist, wenn der Neustart der Box sehr schnell geht. Je + nach Modell der Box und Größe der Firmware kann das Flashen ein bis + zwei Minuten dauern und in dieser Zeit blinkt eine Kontroll-LED an + der Box, genauso wie bei einem normalen Firmware Update. Ursache + hierfür ist vermutlich ein Mangel an freiem Arbeitsspeicher auf der + Box während dem Update. + +Dann können folgende Schritte ggf. Abhilfe schaffen: + +- Zunächst ein Image ohne irgendwelche Pakete erstellen (was sowieso + empfohlen wird) und ggf. durch Remove-Patches die Größe weiter + reduzieren. +- Alternativ die letzte Stable-Version oder eine andere ältere (und + hoffentlich kleinere) Version runterladen und kompilieren. +- Diese Version dann über das AVM-Webinterface flashen und die Box + neustarten. +- Dann das gewünschte Image über das Freetz-Webinterface (Port 81) + flashen und auswählen, dass die AVM Dienste heruntergefahren werden. +- Nach dem Flash-Vorgang im angezeigten Log überprüfen, ob der Vorgang + erfolgreich war, und die Box über das Freetz-Webinterface neustarten. +- Danach sollte das gewünschte Image erfolgreich geflasht worden sein. + +.. + + Weitere Informationen gibt es + `​hier `__ + und + `​hier `__. + +.. _ProblemenachdemerfolgreichenFlashen: + +Probleme nach dem (erfolgreichen) Flashen +----------------------------------------- + +.. _WielautetdasStandard-PasswortfürFreetz: + +Wie lautet das Standard-Passwort für Freetz? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Das Standard-Passwort für Freetz(sowohl Konsolen- als auch + Website-Login) lautet 'freetz'. Benutzername für die Konsole ist + 'root', für das Freetz-Webinterface standardmäßig 'admin'. Beim + ersten Einloggen per Telnet (user: root) muss das Passwort geändert + werden. Im Webinterface erscheint ein Hinweis, falls das + Standardpasswort gesetzt ist. Ändert das Passwort bitte zu eurer + eigenen Sicherheit. + +.. _NachdemFlashenistdasAVM-Webinterfacenichtmehrerreichbar: + +Nach dem Flashen ist das AVM-Webinterface nicht mehr erreichbar +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Wenn im Image (z.B. wegen OpenVPN) die OpenSSL-Libraries eingebaut + wurden, gibt es Probleme mit TR069. Es ist dann erforderlich entweder + auf OpenSSL-Libs zu verzichten, sie statisch mit in die jeweiligen + Pakete einzubauen (Speicherverschwendung), TR069 zu deaktivieren + (funktioniert nur bei älterer Firmware) oder per patch `TR069 + komplett zu entfernen `__ (funktioniert + auch bei aktueller Firmware). + +.. + + Zum Deaktivieren von TR069 muss die Datei /var/flash/tr069.cfg + mittels nvi, nmcedit oder nnano editiert werden. So sollte es + aussehen: + + .. code:: wiki + + # cat tr069.cfg + /* + * /var/flash/tr069.cfg + * Sun Sep 8 14:03:34 2002 + */ + + tr069cfg { + enabled = no; + igd { + ... + + Bei neueren Firmwares reicht es nicht mehr aus TR069 zu deaktivieren. + Hier crasht der ctlmgr auch bei anderen Aktionen beim Zugriff auf die + OpenSSL-Libs. Manchmal schafft das Ersetzen der libavmhmac (im + menuconfig unter Advanced Options→Shared Libraries→Crypto & + SSL→Replace libavmhmac) Abhilfe, aber auch das reicht bei neuesten + Firmwares nicht aus und führt eventuell zu Reboot Schleifen. Unter + Umständen funktionieren danach auch nicht mehr alle Funktionen, wie + z.B. die FritzMini Unterstützung, das Fritz-App von AVM, u.s.w. + +.. + + Um heraus zu finden, ob die problematischen OpenSSL-Libs ins Image + eingebunden werden, kann man folgenden Befehl ausführen: + + .. code:: wiki + + oliver@ubuntu:~/fritzbox/freetz/trunk$ grep -E "libssl|libcrypto" .config + FREETZ_LIB_libcrypto=y + FREETZ_LIB_libssl=y + + Es folgt eine Liste mit Paketen die die OpenSSL-Libs benötigen, + manche auch nur optional: *bip, curl, dropbear mit sftp-Support, + mcabber, netsnmp, OpenVPN, Tor, transmission, Vsftpd und wget* + +.. + + Man kann die betroffenen Pakete statisch zu bauen (d.h. ohne externe + OpenSSL-Libs). Dies ist bereits für einige Pakete möglich, wie z.B. + OpenVPN und CURL. Man muss allerdings beachten, dass Binaries dadurch + sehr gross werden, weil die OpenSSL-Libs dann ein Teil des statischen + Binary sind. In diesem Fall ist es anzuraten solche Pakete mit + `external `__ auszulagern, was aber + am höheren Speicherbedarf im Betrieb nichts ändert. Auch wenn + eigentlich kein Paket mehr die OpenSSL-Libs benötigt, kann es sein, + dass diese immer noch ins Image gepackt werden. Das kommt daher, dass + menuconfig eine automatische Abwahl nicht unterstützt. Hierfür gibt + es den Befehl *make config-clean-deps* bzw. *make + config-clean-deps-keep-busybox*. + + .. code:: wiki + + oliver@ubuntu:~/fritzbox/freetz/trunk$ make config-clean-deps + Step 1: temporarily deactivate all kernel modules, shared libraries and optional BusyBox applets ... DONE + Step 2: reactivate only elements required by selected packages ... DONE + The following elements have been deactivated: + FREETZ_BUSYBOX_BRCTL + FREETZ_LIB_libcrypto + + Vorsicht: Wie im Beispiel zu sehen werden hierbei auch Optionen + deaktiviert die absichtlich gewählt aber nicht per default aktiviert + sind. + +.. _NachdemFlashenistdieBoxnichtmehrerreichbarundoderrebootetständig: + +Nach dem Flashen ist die Box nicht mehr erreichbar und/oder rebootet ständig +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Dies kann unterschiedlichste Gründe haben. Zuerst sollte man die Box + vom DSL trennen und neustarten. Tritt das Problem dann nicht mehr auf + hat man höchst wahrscheinlich einen `Konflikt mit + TR069 `__. + +.. + + Wenn das nicht half lässt sich das Problem durch Einspielen einer + anderen Firmware in der die problematische Funktion nicht enthalten + ist eingrenzen. Grundsätzlich wird dies natürlich bei den + Original-Firmwares von AVM der Fall sein; man kann aber auch durch + Deaktivieren von Optionen und Neuerstellen von Freetz ausprobieren, + woran es liegt. Da das Webinterface nicht mehr erreichbar ist, muss + ein Update auf andere Weg erfolgen. Hier gibt es drei Möglichkeiten: + +- Das Script tools/push_firmware.sh. Hiermit lassen sich beliebige + Images einspielen. +- Ein Recover-Image von AVM. Dieses spielt wieder eine + Original-Firmware von AVM ein. +- Update über das Freetz Interface falls nur das AVM Interface nicht + erreichbar ist (häufig bei TR069 Konflikten). + +.. _BeimAufrufdesOriginal-AVM-WebinterfacevonaussenbekommeichtrotzPortweiterleitungnureineweisseSeite: + +Beim Aufruf des Original-AVM-Webinterface von aussen bekomme ich trotz Portweiterleitung nur eine weisse Seite? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Dies ist ein 'Sicherheitsmechanismus' von AVM der offensichtlich + überprüft ob der Hostname unter dem die Box aufgerufen wurde per + Reverse-DNS Anfrage zur Box führt. Hierbei werden sowohl die internen + Hostnamen akzepriert wie fritz.box oder fritz.fonwlan.box als auch + der DynDNS Hostname oder eigene (zb mit dnsmasq) vergebene Namen. + Löst der Name falsch auf wird eine leere Seite gezeigt. Dies ist z.B. + grundsätzlich bei Remote Zugriff auf Boxen im IP-Client Modus der + Fall da hier die Box den DynDNS Hostnamen und die externe IP nicht + kennt. Das Problem tritt aber auch auf wenn die IP der Box und + eventuelle Aliase in der exhosts Datei nicht übereinstimmen (manchmal + ein nützlicher Hinweis). + +.. + + Es gibt (mindestens) 2 Möglichkeiten diese Probleme zu umgehen: + +- Schnell: Man kann eine Browser Erweiterung installieren, welche es + erlaubt, den 'HTTP_REFERER' zu unterdrücken. +- Komfortabel: Man startet zb mit 'Putty Portable' einen Dynamischen + SSH Tunnel nach Hause (zu localhost) den man im Browser als Socks5 + Proxy mit entfernter DNS Auflösung einträgt und nutzt seine LAN + internen Hostnamen (auch die von dnsmasq) und IPs. Dies hat den + Vorteil das man nur einen SSH port nach aussen freigeben muss um + Zugriff auf alle TCP basierten Dienste aller Geräte zu Hause zu haben + - egal ob HTTP, HTTPS oder FTP und auf welchem Port. Auch + funtionieren alle LAN internen Bookmarks wie zu Hause. Um bequem + zwischen direktem und Proxy Zugriff umschalten zu können hilft zb. + der Firefox Plugin 'FoxyProxy' der sich auch auf 'Firefox Portable' + installieren lässt. Wenn man dann noch über HTTPS seine Box(en) + administriert ist die Verbindung auch lokal auf Gastsystemen nicht + abhörbar. Dieses Verfahren funktioniert super mit dropbear als + server. Der ssh client von dropbear unterstützt dagegen leider keine + dynamischen Tunnels, wohl aber jeder Linux OpenSSH client. + +.. _DasFreetz-WebinterfaceakzeptiertdieStandardkombinationfürBenutzerundPasswortadminfreetznicht: + +Das Freetz-Webinterface akzeptiert die Standardkombination für Benutzer und Passwort (admin/freetz) nicht +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In den meisten Fällen hilft es, wenn man die Freetz-Konfiguration (und +alle anderen Mods) löscht. Dies kann zum Beispiel über ein +Pseudo-Firmware Update mit Hilfe des +`uninstall.image `__\ `​ `__ +geschehen. + +.. _KannmanPaketePatchesnachinstallierenohnedasFREETZ-Imageneuzuerstellen: + +Kann man Pakete/Patches nachinstallieren, ohne das FREETZ-Image neu zu erstellen? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Nein, das ist im Normalfall und ohne Weiteres nicht möglich. Nach + einer Veränderung der Konfiguration unter "menuconfig" sollte + typischerweise ein "make" ausgeführt werden, welches als Ergebnis ein + neues Image liefern soll. Dieses Image muss dann über Firmware-Update + auf die Box gebracht werden, wenn man seine Änderungen auf der Box + haben will. Einer der Gründe dafür ist das spezielle Dateisystem im + Flash-Speicher der Box. Dieses Dateisystem ähnelt einer Archivdatei, + ist sehr stark komprimiert und speziell für Flash-Speicher optimiert. + Änderungen in einem solchen Dateisystem sind jedoch immer mit einer + neuen Rearchivierung verbunden und erfordern somit den Neuaufbau des + kompletten Systems. + +.. + + Es gibt jedoch Ausnahmen aus dieser Regelung: + +- `external `__. Man kann nur die + Binaries der ausgelagerten Pakete neu kompilieren. Somit kann man + z.B. ein Paket updaten, ohne ein neues Image zu erstellen. Diese + Methode ist allerdings sehr riskant, weil external typischerweise + nicht alle Dateien auslagert. Somit läuft man immer Gefahr + Versionsunterschiede zwischen den ausgelagerten und fest integrierten + Inhalten desselben Pakets zu bekommen. +- USB-ROOT. Hier könnte man wenigstens theoretisch das komplette + Dateisystem (typischerweise ext2) "on the fly" ändern und braucht + dafür kein Firmwareupdate. Allerdings wird auch hier dringend + empfohlen das USB-ROOT-System grundsätzlich als "read-only" zu + mounten und nur bei Bedarf (z.B. fürs Update) es kurzzeitig + beschreibbar zu machen. + +.. _NachdemFlashenistdasFreetz-Webinterfacenichtmehrerreichbar: + +Nach dem Flashen ist das Freetz-Webinterface nicht (mehr) erreichbar +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Bei der Firmware XX.05.05 (7240, 7270 V2, 7270 V3 und 7390) belegt + ein AVM Daemon (contfiltd) den vom Freetz Webinterface verwendeten + Port 81. Um wieder Zugriff auf das Freetz Webinterface zu erhalten + ist die Kindersicherung im AVM Webinterface zu deaktivieren. Wer + dieses Feature benötigt sollte das Freetz Webinterfaces auf einen + anderen Port verlegen. Dies kann über das Webinterface + (Freetz→Weboberfläche) oder per Kommandozeile (Telnet, SSH) erledigt + werden. + +.. _DerdynamischeTeildesAVM-Webinterfaceverhältsichnichtwieerwartet: + +Der dynamische Teil des (AVM-)Webinterface verhält sich nicht wie erwartet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Aktualisiert man die Firmware und macht dabei einen Versionssprung im +AVM Teil (z.B. von 05.05 nach 05.21 bei der 7270v2 oder von einer +Laborversion 05.06 nach 05.21 bei der 7390), kann es vorkommen, dass der +dynamische Teil des Webinterfaces nicht ordnungsgemäß funktioniert (z.B. +JavaScript Fehler "jxl.getFormElements is not a funtion"). Besonders +auffällig ist das unter *Internet→Zugangsdaten*: Wechselt man zwischen +den Zugangsmöglichkeiten, sollte sich die Seite eigentlich dynamisch +(JavaScript) anpassen, tut sie aber nicht. Daher grundsätzlich **nach +einer Firmwareaktualisierung**, und insbesondere wenn das Webinterface +auffällig erscheint, **den Browsercache löschen**! + +.. _Freetzaktualisieren: + +Freetz aktualisieren +-------------------- + +.. _IchhabemomentaneineLaborversioninstalliert.KannichFreetzeinfachdarüberflashen: + +Ich habe momentan eine Laborversion installiert. Kann ich Freetz einfach darüber flashen? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Es ist ratsam die Box zunächst zu recovern. Anschliessend den letzten +Finalrelease aufspielen (falls es eine aktuellere Firmware gibt als das +Recovery-Image). Außerdem sollte man insbesondere nach einer +Aktualisierung von einer Laborversion den Browsercache löschen (auch +wenn man die AVM Recovery auf die Box gespielt hat). + +**WICHTIG**: Vor dem Recovern (mindestens) die aktuellen Zugangsdaten +bereithalten (alternativ Start-Code). Zugangsdaten findet man als 1&1 +Kunde beispielsweise im 1&1 Controllcenter unter "Zugangsdaten". + +.. _IchhabeeinealteFreetz-FirmwareaufderBox: + +Ich habe eine alte Freetz-Firmware auf der Box +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _UpdatevonFreetz-VersionXYaufFreetz-VersionYZ:: + +Update von Freetz-Version XY auf Freetz-Version YZ: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| In diesem Fall muss **nur** ein neues Freetz kompiliert / gebaut + werden. Wie das geht ist + `hier `__ oder `hier für + Newbies `__ beschrieben. + +.. _WennAVMeineneueFirmwareaufdenMarktbringt: + +Wenn AVM eine neue Firmware auf den Markt bringt +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| In diesem Fall muss Freetz ebenfalls neu gebaut werden, jedoch muss + man eine Freetz-Version benutzen die dieses neue AVM-Firmware bereits + unterstützt. Welche Firmware-Versionen von welcher Freetz Version + unterstützt wird kann man hier nachgelesen: `Unterstützte Firmwares in + den unterschiedlichen + Freetz-Versionen `__ + +Es empfiehlt sich in diesem Fall, Freetz neu auszuchecken und für die +neue AVM Firmware komplett neu zu kompilieren, anstatt eine "alte" +Build-Umgebung wiederzuverwenden (auch *make distclean* oder *make +dirclean* sind unter Umständen nicht so effektiv, wie von vorne +anzufangen). + +.. _Konfiguration: + +Konfiguration +------------- + +.. _WolandendiediversenKonfigurationenaufderFritzbox: + +Wo landen die diversen Konfigurationen auf der Fritzbox? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Sämtliche Konfigurationen auf der Fritzbox liegen unter /tmp/flash. + Dies ist zu beachten, wenn man eine Freetz-FW baut, da die + Konfigurationen damit nicht im festen Firmware-Teil im Image liegen. + Alles unter /tmp/flash wird daher beim FW-Update auch nicht + verändert, so dass die diversen Konfigurationen nach einem FW-Update + auch erhalten bleiben. Wichtig ist, dass man nach Änderungen an + Konfigurationsdateien unter /tmp/flash noch das Kommando "modsave" in + der Konsole aufruft, damit sie auch gespeichert werden. Näheres dazu + folgt weiter unten. + +.. _KonfigurationinderaktuellenSicherheitsstufenichtverfügbar: + +Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar! +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Es gibt verschiedene Sicherheitsstufen. Je nach ausgewählter Stufe + sind nicht alle Konfigurationsdateien änderbar. Um die + Sicherheitsstufe zu ändern sind folgende Befehle direkt in der + Konsole der Box per Telnet oder SSH auszuführen (geht leider nicht + per Rudi-Shell, denn die benötigt selbst eine Sicherheitsstufe "0"). + +.. + + Ermitteln der aktuellen Sicherheitsstufe (hier: Freetz-1.1.4): + + .. code:: wiki + + cat /tmp/flash/security + + **Freetz-1.1.x und älter:** + + .. code:: wiki + + echo 0 > /tmp/flash/security <--- Bsp. #1: Setzen von Stufe "0" (keine Restriktionen, VORSICHT!) + modsave <--- Speichern der neuen Sicherheitsstufe + +.. + + **Ab Freetz-1.2.x und SVN-trunk + ≥\ **\ `r3318 `__\ **:** + + .. code:: wiki + + echo 1 > /tmp/flash/mod/security <--- Bsp. #2: Setzen von Stufe "1" (Konfigurationsdateien editierbar) + modsave <--- Speichern der neuen Sicherheitsstufe + + Erlaubte Werte mit Erläuterung (Default: 2): + + .. code:: wiki + + # 0 : no restrictions + # 1 : only configuration files without shell commands might be edited + # 2 : no configuration files might be edited + +.. _WiedeaktiviereichdasPasswortfürdieFreetz-Webseite: + +Wie deaktiviere ich das Passwort für die Freetz-Webseite? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Folgende Befehle auf der Konsole ausführen: + + .. code:: wiki + + touch /tmp/flash/webcfg_conf + chmod +x /tmp/flash/webcfg_conf + modsave flash + /etc/init.d/rc.webcfg restart + + Hintergrund: Das Skript /tmp/flash/webcfg_conf wird gegenüber + /etc/default.webcfg/webcfg_conf zum Erstellen der Konfigurationsdatei + bevorzugt. Ein leeres Skript /tmp/flash/webcfg_conf erzeugt also eine + leere Konfigurationsdatei ohne Passwort. + +|/!\\| Für Freetz-1.1.x ist */tmp/flash/webcfg_conf* durch +*/tmp/flash/httpd_conf* zu ersetzen. + +.. _WieändereichdasPasswortfürdieFreetz-Webseite: + +Wie ändere ich das Passwort für die Freetz-Webseite? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Das geht über das + `​Webinterface `__ selbst: + ``http://fritz.box:81/cgi-bin/passwd.cgi`` + +.. _WieändereichdasPasswortfürdieFreetz-WebseitesofernichesvergessenundTelnetSSH-Zuganghabe: + +Wie ändere ich das Passwort für die Freetz-Webseite sofern ich es vergessen und Telnet/SSH-Zugang habe? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Erstmal das Freetz-Webif stoppen: + + .. code:: wiki + + /etc/init.d/rc.webcfg stop + + Dann mit vi in der Datei mod.cfg die Zeile, die mit export + MOD_HTTPD_PASSWD beginnt, wie folgt abändern: + + .. code:: wiki + + vi /var/mod/etc/conf/mod.cfg + + .. code:: wiki + + export MOD_HTTPD_PASSWD='$1$$zO6d3zi9DefdWLMB.OHaO.' + + | Speichern der Änderung: 1x ESC drücken und ``:wq`` eingeben. + | Nun wieder das Freetz-Webif starten: + + .. code:: wiki + + /etc/init.d/rc.webcfg start + + Jetzt kann man sich mit dem Passwort "freetz" wieder einloggen. + +.. + + | Bitte beachtet, dass diese Änderung **NICHT** reboot-resistent ist. + Heißt, nach einem Reboot habt ihr wieder das vormalige, unbekannte + Passwort. + | Deshalb sollte man vor einem Neustart der Box im freetz-Menü unter + *Einstellungen* das Passwort ändern/neu setzen. + +.. _Wieändereichdasroot-Passwort: + +Wie ändere ich das root-Passwort? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Folgende Befehle auf der Konsole ausführen: + + .. code:: wiki + + passwd + modusers save + modsave flash + + Nach Eingabe des Befehls 'passwd' muss das Passwort eingegeben + werden. Dabei wird das eingegebene Passwort 'nicht' angezeigt. Zu + einfache Passwörter werden nicht akzeptiert. + +.. _Änderndesroot-PasswortesüberdieRudi-Shell: + +Ändern des root-Passwortes über die Rudi-Shell +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Wenn man das root-Passwort vergessen hat, aber noch Zugriff auf das + Webinterface hat kann über die Rudi-Shell ein neues Passwort gesetzt + werden: +| ``(echo neuespasswort; sleep 1; echo neuespasswort) | passwd`` + +.. _WarumkannichmichnacheinerFreetz-WiederherstellungnichtmehramAVM-WebUIanmelden: + +Warum kann ich mich nach einer Freetz-Wiederherstellung nicht mehr am AVM-WebUI anmelden? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ist ein Passwort für das AVM-WebUI vergeben, wird dies als Hash in der +ar7.cfg abgelegt und damit auch gesichert. Bei der Wiederherstellung +setzt Freetz anstatt des ursprünglichen Passworts den Hash-String als +Passwort. Im +`​IP-Phone-Forum-Wiki `__ +ist beschrieben, wie man über einen Shell-Zugang die Passwort-Hashes +auslesen kann. + +.. _ProblemeimBetrieb: + +Probleme im Betrieb +------------------- + +.. _varflashfreetztoobig: + +/var/flash/freetz too big +~~~~~~~~~~~~~~~~~~~~~~~~~ + + Das von Freetz vorgegebene Limit für die maximale Größe der + Konfiguration wurde überschritten. Dieses Limit ist ein Schutz, um + nicht unbeabsichtigt das TFFS volllaufen zu lassen. Das Limit kann + folgendermaßen erhöht werden, man sollte aber den Füllstand des TFFS + im Auge behalten: + + .. code:: wiki + + modconf set mod MOD_LIMIT= + modconf save mod + modsave flash + +|/!\\| Seit `r5706 `__ (trunk) wird das Setzen des +Limits nicht mehr unterstützt. + +.. _KeinFTP-ZugriffnachFreetzmöglich: + +Kein FTP-Zugriff nach Freetz möglich +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Hierbei handelt es sich um ein Problem das hauptsächlich in Freetz 1.1.x +auftritt und wie im `Howto `__ beschrieben +gelöst werden kann. + +.. _EntfernenvonFreetzundanderenModifikationen: + +Entfernen von Freetz und anderen Modifikationen +----------------------------------------------- + + Im Ordner tools/images befindet sich ein uninstall image, das wie + eine Firmware übers Webinterface geflasht wird und die + Konfigurationsdateien entfernt. Da hiermit nur die + Konfigurationsdateien entfernt werden ist natürlich auch noch eine + original Firmware einzuspielen. Das "Update" sollte vor einem + Neustart erfolgen, da die Konfigurationsdateien ansonsten wieder + angelegt werden. Am Einfachsten ist der Weg über ein AVM Recover + (Dateien gibts für jede Box auf dem AVM-FTP). Auch hier werden + sämtliche Konfigurationsdateien von Freetz gelöscht. + +.. _Sonstiges: + +Sonstiges +--------- + +.. _ÄndernderArbeitsgruppevonfreetz-linux: + +Ändern der Arbeitsgruppe von "freetz-linux" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Damit unter Windows 7 und Vista der virtuelle PC "FREETZ-LINUX" in der + Netzwerkumgebung angezeigt wird, müssen der Client- und Host-PC in der + gleichen "Arbeitsgruppe" befinden: + +- Die erste Möglichkeit wäre, die Arbeitsgruppe des Host-PC in FREETZ + zu ändern (und ist für Anfänger empfehlenswert). + +- Die zweite und schönere Lösung ist es, die Arbeitsgruppe des + virtuellen PC (also freetz-linux) anzupassen. + Dazu geht man wie folgt vor: + +.. + + | An freetz-linux anmelden + | Die smb.conf öffnen mit: + + .. code:: wiki + + sudo nano /etc/samba/smb.conf + + | Dann zur workgroup runterscrollen und dort den Namen ändern. + | Die smb.conf speichern mit: "strg+x" + + Und zum Schluss Samba neu starten: + + .. code:: wiki + + sudo /etc/init.d/samba restart + +.. _WiefindeichdieIPmeinerVirtuellenMaschine: + +Wie finde ich die IP meiner Virtuellen Maschine +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Die IP wird einem entweder beim Einloggen im Startbildschirm (Roter + Kasten) oder mit folgendem Befehl : **ifconfig** in der VM angezeigt. +| Nach Eingabe von **ifconfig** sollte folgende Anzeige in der VM zu + sehen sein. + +.. code:: wiki + + eth0 Link encap:Ethernet Hardware Adresse 08:00:27:45:53:49 + inet Adresse:192.168.XXX.203 Bcast:192.168.XXX.255 Maske:255.255.255.0 + inet6-Adresse: XXXX::XXXX:XXXX:XXXX:XXXX/XX Gültigkeitsbereich:Verbindung + UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 + RX packets:454 errors:0 dropped:0 overruns:0 frame:0 + TX packets:155 errors:0 dropped:0 overruns:0 carrier:0 + Kollisionen:0 Sendewarteschlangenlänge:1000 + RX bytes:59413 (59.4 KB) TX bytes:24972 (24.9 KB) + Interrupt:10 Basisadresse:0xd020 + + lo Link encap:Lokale Schleife + inet Adresse:127.0.0.1 Maske:255.0.0.0 + inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine + UP LOOPBACK RUNNING MTU:16436 Metrik:1 + RX packets:15 errors:0 dropped:0 overruns:0 frame:0 + TX packets:15 errors:0 dropped:0 overruns:0 carrier:0 + Kollisionen:0 Sendewarteschlangenlänge:0 + RX bytes:1122 (1.1 KB) TX bytes:1122 (1.1 KB) + +| Wie auf dem Auszug zu sehen hat die VM die **192.168.XXX.203** als IP + bekommen. Die IP kann aber von System zu System anders lauten, das ist + Abhängig vom IP-Bereich eures Systems. Sollte euch jedoch dort gar + keine IP angezeigt werden, müsst ihr die Einstellungen eures PC's bzw. + eures VM-Players erneut überprüfen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +`Sonstige Tips und Tricks zur Fritzbox +allgemein `__ + +- Tags +- `faq `__ + +.. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png +.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/FreetzConf2011.rst b/wiki/FreetzConf2011.rst new file mode 100644 index 0000000..f5c6556 --- /dev/null +++ b/wiki/FreetzConf2011.rst @@ -0,0 +1,31 @@ +FreetzConf2011 +============== +.. _FreetzConf2011: + +FreetzConf 2011 +=============== + +Zum ersten Mal seit Bestehen des Projekts treffen sich die +Freetz-Entwickler + +- am 12. und 13. November 2011 +- in Frankfurt am Main +- im Hackerspace des Frankfurter Chaos Computer Clubs (vgl. + `​Ankündigung `__), + +der uns freundlicherweise Räumlichkeiten zur Verfügung stellt, in denen +wir uns kennenlernen, gemeinsam arbeiten und über die Zukunft von Freetz +reden können. + +Ankündigung Chaos Computer Club Frankfurt e.V. `​Entwicklertreffen +“FreetzConf 2011″ im +Hackquarter `__ Die +Veranstaltung ist **nicht öffentlich**, Teilnahme nur auf Einladung. +Sollte jemand aktuell noch nicht eingeladen sein, aber gern teilnehmen +wollen, weil er vergessen wurde und/oder vorhat, in irgendeiner Form zum +Projekt beizutragen, so möge er sich bitte im +`​IPPF `__ per PN +an olistudent oder kriegaex wenden. + +- Tags +- `FreetzConf `__ diff --git a/wiki/Impressum.rst b/wiki/Impressum.rst new file mode 100644 index 0000000..49f6f2e --- /dev/null +++ b/wiki/Impressum.rst @@ -0,0 +1,48 @@ +Impressum +========= +.. _Impressum: + +`Impressum `__ +------------------------------ + +**Betreiber** + +Der Anbieter der Domain freetz.org und aller zugehöriger Subdomains ist +das Freetz Projekt. Primärer Ansprechpartner für inhaltliche Belange +ist: + +| Alexander Kriegisch +| Schillerplatz 6 +| D-91315 Höchstadt + +| Tel. +49 (9193) 52 76 +| Mob. +49 (176) 20 53 07 02 + +| Nutzungsbedingungen +| Weite Teile der Website werden mit Hilfe eines sogenannten Wikis + verwaltet, das es Besuchern gestattet, selbständig Informationen + einzutragen oder vorhandene Informationen zu editieren. Die im Wiki + verwalteten Informationen können somit von praktisch jedermann + verändert werden. + +Die Benutzer sind aufgerufen, alle Inhalte, die sie zu dieser Website +beisteuern, nach bestem Wissen zu erstellen. Weder der Anbieter noch die +einzelnen Benutzer erheben aber Anspruch auf Vollständigkeit, +Aktualität, Qualität und Richtigkeit. Es kann deshalb keine +Verantwortung für Schäden übernommen werden, die durch das Vertrauen auf +die Inhalte dieser Website oder deren Gebrauch entstehen. + +| Lizenz für Wiki-Inhalte +| Sämtliche Inhalte des Wikis werden unter der Creative Commons Lizenz + `​Namensnennung-Weitergabe unter gleichen Bedingungen + 2.0 `__ + angeboten. Autoren, die eigene Texte zu unserem Wiki beitragen, + erklären sich ausdrücklich damit einverstanden, daß ihre Beträge + ebenfalls unter diesen Bedingungen zur Verfügung gestellt werden. + +| Vorgehen bei Beanstandungen +| Sollte Grund zur Beanstandung von hier angebotenen Inhalten oder + verlinkten Seiten bestehen, bitten wir um sofortige Benachrichtigung. + Der Anbieter wird dann so schnell wie möglich reagieren und ggf. die + betroffenen Inhalte korrigieren bzw. beseitigen. Dies gilt vor allem + für eventuelle Fälle von Urheberrechtsverletzungen. diff --git a/wiki/Press.en.rst b/wiki/Press.en.rst new file mode 100644 index 0000000..8ca1d26 --- /dev/null +++ b/wiki/Press.en.rst @@ -0,0 +1,18 @@ +Press.en +======== +.. _Freetzinpublicpressweb: + +Freetz in public press & web +============================ + +- Fon blog, 2008-06-09: `​AVM (Fritzbox) öffnet + sich.... `__ + News item concerning availibility of freetz-1.0, relating to Heise + news ticker +- Heise.de, 2008-06-09: `​Freie Router-Erweiterung für AVMs + Fritzboxen `__ + News ticker entry concerning availibility of freetz-1.0 +- PC-Welt, 2007-11-20: `​DS-Mod: Hohe Schule für + Firmware-Mods `__ + Report about ds26, Fretz's predecessor, within an article about + "router tuning" for different hardware types diff --git a/wiki/Press.rst b/wiki/Press.rst new file mode 100644 index 0000000..972ca8c --- /dev/null +++ b/wiki/Press.rst @@ -0,0 +1,42 @@ +Press +===== +.. _FreetzinPresseundWeb: + +Freetz in Presse und Web +======================== + +- CHIP online, 11.09.2010, `​Freetz: Neue FritzBox-Software + erstellen `__ +- CHIP online, `​Gratis-eBook: Das große inoffizielle FRITZ!Box + Handbuch `__ +- CHIP Ausgabe 2/2010, FritzBox zum Server aufbohren +- c't Ausgabe 17/2009, S. 61, Fritzens neue Tricks + `​http://www.ctmagazin.de/0917061 `__ +- Tecchannel vom 18.06.09, `​Alternative Fritz!Box-Firmware Freetz 1.1 + ist + fertig... `__ +- c't Ausgabe 4/2009, S. 172, Hotline: DNS-Server im WLAN nachrüsten + `​http://www.heise.de/ct/faq/hotline/09/04/04.shtml `__ +- PC Magazin Ausgabe 12/2008, Free Fritz! Eigene FritzBox-Firmware mit + Freetz! + dreiseitiger Bericht über Freetz (freetz-stable-1.0). +- PC-Welt, 27.06.2008 `​Fritz!Box: Neue Features + durch... `__ + Bezugnehmend auf die TecChannel-Meldung +- Techchannel, 27.06.2008 `​Fritz!Box: Neue Firmware selbst + gebaut... `__ + Teil 6 des Specials über AVM-Router und deren + Modifikationsmöglichkeiten +- Fon-Blog, 09.06.2008: `​AVM (Fritzbox) öffnet + sich.... `__ + Meldung zur Freigabe von freetz-1.0, bezugnehmend auf Heise-Meldung +- Heise.de, 09.06.2008: `​Freie Router-Erweiterung für AVMs + Fritzboxen `__ + Meldung zur Freigabe der Version freetz-1.0 +- PC-Welt, 20.11.2007: `​DS-Mod: Hohe Schule für + Firmware-Mods `__ + Bericht über ds26, den Vorgänger von Freetz, im Rahmen des Themas + "Router-Tuning" zu verschiedenen Router-Modellen +- Neue FritzBox-Firmware selbst bauen mit Freetz: `​Das inoffizielle + Fritz!Box Handbuch (E.F. + Engelhardt) `__ diff --git a/wiki/common/source_code.en.rst b/wiki/common/source_code.en.rst new file mode 100644 index 0000000..5b5e2c9 --- /dev/null +++ b/wiki/common/source_code.en.rst @@ -0,0 +1,91 @@ +common/source_code.en +===================== +.. _Sourcecode: + +Source code +=========== + +The Freetz source code is managed in a +`​Subversion `__ repository. Subversion is +generally abbreviated by SVN. + +.. _Developerversiontrunk: + +Developer version (trunk) +------------------------- + +|/!\\| This version is only for experienced users and developers who +know how to help themselves! The trunk changes continuously and might +temporarily contain bugs or not work at all. + +Check out from SVN: + +.. code:: wiki + + $ svn co http://svn.freetz.org/trunk <--- check out current trunk revision + $ svn co http://svn.freetz.org/trunk trunk_7843 -r 7843 <--- check out specific trunk revision (here: 7843) into subdirectory + "trunk_7843", so as not to overwrite the current trunk directory + +Check out from Git (|/!\\| Git is not the leading system and is +officially unsupported presently. We provide it "as is" for test +purposes.): + +.. code:: wiki + + $ git clone https://github.com/Freetz/freetz.git freetz-devel <--- freetz-devel: local copy of Git repository + +.. _Updates: + +Updates +------- + +How to update an existing local SVN repository (here: developer +version): + +.. code:: wiki + + $ cd trunk + $ svn up <--- update to current revision + $ svn up -r 7843 <--- update to specific revision (here: 7843) + +How to update an existing local Git repository (here: developer +version): + +.. code:: wiki + + $ cd freetz-devel + $ git pull + +.. _Stableversion: + +Stable version +-------------- + +|/!\\| **The "stable" version is not maintained anymore. Newer boxes as +well as firmwares are not available there. Please use whenever possible +the trunk as mentioned above.** |/!\\| + +For some box types no firmware is available on AVM servers. Help +yourself using this +`info <../FAQ.html#Couldnotdownloadfirmwareimage>`__. + +Depending on your hardware type you need one of the following Freetz +versions: + +**freetz-2.0**: current stable version (list of supported boxes and +firmware versions) + +.. code:: wiki + + $ svn co http://svn.freetz.org/branches/freetz-stable-2.0 + +**ds-0.2.9-p8** (kernel 2.4): for very old boxes which do not get AVM +firmware updates anymore (more +`​info `__) + +.. code:: wiki + + $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/common/source_code.rst b/wiki/common/source_code.rst new file mode 100644 index 0000000..3f1ce54 --- /dev/null +++ b/wiki/common/source_code.rst @@ -0,0 +1,114 @@ +common/source_code +================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Entwicklerversion + (Trunk) `__ +#. `Updates `__ +#. `Stabile Version `__ + +.. _Quellcode: + +Quellcode +========= + +Der Freetz-Quellcode wird in einem +`​Subversion `__-Repository verwaltet. +Subversion wird allgemein abgekürzt mit SVN. + +.. _EntwicklerversionTrunk: + +Entwicklerversion (Trunk) +------------------------- + +| |/!\\| Diese Version ist ausschließlich für **erfahrene Benutzer und + Entwickler** gedacht, die sich selbst zu helfen wissen! +| |/!\\| Sie ist ständigen Änderungen unterworfen und funktioniert daher + möglicherweise **nur eingeschränkt** oder **temporär nicht**! + +Aktuelle Liste unterstützter Boxen mit +`Firmware-Version `__\ `​ `__. + +Auschecken aus SVN (zuvor ggf ``umask 022`` nicht vergessen!): + +.. code:: wiki + + $ svn co http://svn.freetz.org/trunk freetz-devel <--- freetz-trunk: Lokale Kopie des SVN-Repositorys + $ svn co http://svn.freetz.org/trunk freetz-devel_r7843 -r 7843 <--- Bestimmte Revision auschecken (hier: 7843) + +Auschecken aus Git: + +.. code:: wiki + + $ git clone https://github.com/Freetz/freetz.git freetz-devel <--- freetz-git: Lokale Kopie des Git-Repositorys + +|/!\\| `​Git `__ ist nicht das führende System und +wird derzeit nicht offiziell unterstützt, sondern nur zusätzlich zu +Testzwecken zur Verfügung gestellt. + +| Hinweis-1: Ein entsprechendes Paket, welches das ``git`` Programm + enhält, muss auf dem Build-Host installiert sein! +| Hinweis-2: Sollte der Projekt-Server oder das SVN-Repository nicht + erreichbar sein, kann alternativ das Git-Repository genutzt werden. +| Hinweis-3: Das `​Freetz + Git-Repository `__ auf GitHub + bezieht seine Daten direkt vom Projekt-Server! +| Hinweis-4: Wer ``FREETZ_DEVELOPER_VERSION_STRING=y`` benutzt, sollte + sich das Ticket `fwmod: Identify SVN_VERSION within Freetz Git + repository `__ anschauen. + +.. _Updates: + +Updates +------- + +Aktualisieren (Update) eines vorhandenen lokalen SVN-Repositorys (hier: +Entwicklerversion): + +.. code:: wiki + + $ cd freetz-devel + $ svn up <--- Update auf aktuelle Revision + $ svn up -r 7843 <--- Update auf eine bestimmte Revision (hier: 7843) + +Update eines lokalen Git-Repositorys (hier: Entwicklerversion): + +.. code:: wiki + + $ cd freetz-devel + $ git pull + +.. _StabileVersion: + +Stabile Version +--------------- + +|/!\\| **Die "stabile" Version wird nicht mehr gepflegt und neuere Boxen +wie auch aktuelle Firmwares (06.X) sind hier nicht verfügbar. Es +empfiehlt sich nur den trunk Zweig zu nutzen.** |/!\\| + +Für einige Box-Typen kann keine Firmware von den AVM-Servern geladen +werden: Abhilfe siehe +`hier <../FAQ.html#Couldnotdownloadfirmwareimage>`__. + +Je nach Gerätetyp wird eine der nachstehenden Versionen benötigt: + +**freetz-2.0**: aktuellste stabile Version (Liste unterstützter Boxen +mit +`Firmware-Version `__\ `​ `__) + +.. code:: wiki + + $ svn co http://svn.freetz.org/branches/freetz-stable-2.0 + +**ds-0.2.9-p8** (Kernel 2.4): für sehr alte Boxen, die kein +Firmware-Update mehr von AVM erhalten (mehr Infos +`​hier `__) + +.. code:: wiki + + $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/costumscript_dublesyslog.rst b/wiki/costumscript_dublesyslog.rst new file mode 100644 index 0000000..4e9de52 --- /dev/null +++ b/wiki/costumscript_dublesyslog.rst @@ -0,0 +1,148 @@ +costumscript_dublesyslog +======================== +Ausgeführt auf einer Fritzbox 7330 mit Firmware: 107.06.03 rev27364 +Branding: avm Freetz: devel-12445 - FRITZ!OS 06.03-freetz-devel-12445 +Zum Zeitpunkt der Installation gabs noch kein stable für diese Box mit +dieser Firmware… der derzeitige Status ist mir nicht bekannt… + +Intention zu Diesen CostumScript: + +ich wünschte die möglichkeit das syslogging (einstellbar unter +`​http://fritz.box:81/cgi-bin/conf/syslogd `__ +) über den Local logger sowohl ins Filesystem (auf einen durchs fritzos +eingehaengten usb stick) als auch in den ram-ringbuffer zu schreiben. + +.. _SchrittezurLösungkannübersprungenwerden: + +Schritte zur Lösung, kann übersprungen werden… +---------------------------------------------- + +Ich habe erst einmal mit + +.. code:: wiki + + # syslogd -h + syslogd: invalid option -- h + BusyBox v1.22.1 (2014-09-13 22:25:43 CEST) multi-call binary. + + Usage: syslogd [OPTIONS] + + System logging utility + (this version of syslogd ignores /etc/syslog.conf) + + -n Run in foreground + -O FILE Log to FILE (default:/var/log/messages) + -l N Log only messages more urgent than prio N (1-8) + -S Smaller output + -s SIZE Max size (KB) before rotation (default:200KB, 0=off) + -b N N rotated logs to keep (default:1, max=99, 0=purge) + -R HOST[:PORT] Log to HOST:PORT (default PORT:514) + -L Log locally and via network (default is network only if -R) + -D Drop duplicates + -C[size_kb] Log to shared mem buffer (use logread to read it) + +angeschaut was denn der BusyBox syslogd so bietet und dann mit + +.. code:: wiki + + # ps w | grep syslog + 4718 root 3256 S {busybox} syslogd -L -C2048 + +geschaut wie er denn gerade so läuft. Durch editieren der Option +"Additional command line options (for experts)" im webinterface +(variable SYSLOGD_EXPERT_OPTIONS) habe ich es dann zu folgenden Status +gebracht: + +.. code:: wiki + + root@FB:/var/mod/root# ps w | grep syslog + 4718 root 3256 S {busybox} syslogd -L -C2048 -O /var/media/ftp/uStor01/log/messages -b 20 -s 20048 + +leider scheint es allerdings so als ob die entweder oder option im +webinterface korrekt abstrahiert wurde und der busyboxsyslogd die zweite +option konsequent ignoriert. + +nun kam eine nähere Untersuchung des Befehls logread (ebenfals mit +parameter -h) dran welcher offenbarte das dieser aehnlich wie tail eine +option -f bietet welche den logausgaben folgt. nun ging es daran einen +kleinen script zu schreiben der dann beim booten jeweils gestartet wird. +gut aber wie macht man das, unter meinen "normalen" linuxdistributionen +schreibe ich was nach /etc/rc.local aber hier auf der freetzbox ist das +anders… es gibt eine option im webinterface unter +…:81/cgi-bin/file/mod/rc_custom bei welcher ich aber beim compilieren +der firmware die editierung deaktiviert hatte. Also musste es auch per +ssh gehen… Da mir die leute im channel ##fritzbox im freenode irc netz +nicht weiterhelfen konnten habe ich mich wieder einmal selbst auf die +suche gemacht…: + +nach diversen cds, lss und lesss fand ich dann durch +``cat /etc/init.d/rc.mod |grep custom`` heraus das die datei unter +/tmp/flash/mod/rc.custom zu finden ist. in der freez faq, welche mir +freundlicherweise über den irc channel angeboten wurde und jetzt bei dem +dort anwesenden bot auch einen alias hat…, stieß ich über dies auf den +Hinweis wie man diese Änderung im tempfs (ram) permanent in den flash +scriebt. + +.. _AlsohierdieAnleitungzurEditierungderrc.costumueberdieshell:: + +Also hier die Anleitung zur Editierung der rc.costum ueber die shell: +--------------------------------------------------------------------- + +.. code:: wiki + + #fritzbox rc.custom ohne webinterface anlegen + touch /tmp/flash/mod/rc.custom + chmod +x /tmp/flash/mod/rc.custom + vi /tmp/flash/mod/rc.custom #das gewünschte reinschreiben... + # modsave flash # die daten vom ram in den flash übertragen... + Checking Freetz configuration ... changed. + Writing 3023 bytes to /var/flash/freetz ... done. + +.. _weiterdurchdieherleitungschrittezurloesungwhatever: + +weiter durch die herleitung (schritte zur loesung, whatever) +------------------------------------------------------------ + +nun hieß es erst einmal zu checken ob das fritzos meinen stick (dessen +mountpoint man durch ``mount`` erfährt) schon einhängt bevor freetz den +rc.custom ausführt, also getreu nach der Anleitung zur editierung der +der rc.custum sie in folgenden Zustand versetzt: + +.. code:: wiki + + cat /tmp/flash/mod/rc.custom + echo testtest >> /var/media/ftp/uStor01/testlog + date >> /var/media/ftp/uStor01/testlog + +die fritzbox neugestartet und siehe da die file +/var/media/ftp/uStor01/testlog hat den richtigen Inhalt. + +Gut nun sind alle nötigen infos eingehohlt und tests durchgeführt und es +geht zu meiner… + +.. _Lösung:: + +…Lösung: +-------- + +.. code:: wiki + + //////////////// + /tmp/flash/my/logtostick: (die datei muss natürlich auch das recht zum ausführen erhalten und in den flash permanentisiert werden...) + #dieser script loggt das was ueber logread aus dem ram zu lesen ist susaetzlich auf nen usb stick + echo logtostick started at: >> /var/media/ftp/uStor01/logtostick + date >> /var/media/ftp/uStor01/logtostick + echo current readlog content >> /var/media/ftp/uStor01/logtostick + logread >> /var/media/ftp/uStor01/logtostick + echo starting logread -f >> /var/media/ftp/uStor01/logtostick + logread -f >> /var/media/ftp/uStor01/logtostick + + /////////////// + root@FB:/var/mod/root# cat /tmp/flash/mod/rc.custom + /tmp/flash/my/logtostick & + root@FB:/var/mod/root# modsave flash + Checking Freetz configuration ... changed. + Writing 3623 bytes to /var/flash/freetz ... done. + root@FB:/var/mod/root# + +happy hacking wünscht treaki — diff --git a/wiki/freetz.en.rst b/wiki/freetz.en.rst new file mode 100644 index 0000000..af4dd16 --- /dev/null +++ b/wiki/freetz.en.rst @@ -0,0 +1,157 @@ +freetz.en +========= +.. _FreetzgetsmorefromtheBox: + +Freetz gets more from the Box! +============================== + +.. figure:: /screenshots/52.png + :alt: + +The fritzbox firmware developers can't foresee all the functions that +you might wish for. Freetz changes this. The functionality of the box +can be adapted to individual needs. With Freetz, functionality can be: + +- **added.** + That could, for example, be a web server or special VPN. The `list of + packeges `__ provides an overview of what is possible. +- **changed.** + Sometimes, functionality exists but in it's original form it can't be + configured or there are limits on what can be configured. (e.g. the + integrated firewall). In this case, the `list of + enhancements `__ gives an overview + of the possibilities. +- **removed.** + This can be useful when a particular feature isn't needed or when + additional space is needed to make way for additional packages (the + box's memory is quite limited). There is also an overview of the + options here in the `list of patches `__. + +.. _HowdoesFreetzwork: + +How does Freetz work? +--------------------- + +The Fritzbox firmware consists of many individual components. They are +developed by various people and organisations and built together to form +the Firmware. Freetz removes individual components, changes their +configuration or puts new components in place. In this way, a new +firmware can be built to match individual requirements. This new +firmware can be installed using the normal firmware update function. + +.. _HowdoIobtainmyownFirmware: + +How do I obtain my own Firmware? +-------------------------------- + +For legal reasons you have to build your own firmware yourself. More on +this later. + +.. _Prerequisites: + +Prerequisites +------------- + +You will need: + +- A Linux-System. Either directly installed on the PC or in a virtual + machine under Windows (e.g. + `​Freetz-Linux `__). +- The Linux installation may need some additional packages to be + installed. See `einige + Werkzeuge `__ +- `download `__ the current release of Freetz. + +.. _TheProcess: + +The Process +----------- + +Once the prerequisites are in place, you are ready to go. You need to +take the following steps: + +.. figure:: /screenshots/53.png + :alt: Freetz menuconfig + + Freetz menuconfig + +- **Gather Parts.** + The process is menu-driven. You can define define exactly what goes + on the box and what features it will have. Freetz understands the + dependencies between the components and ensures that it will put + together a working combination. +- **Produce.** + This part takes a while, depending on the performance of the PC but + it will normal proceed without requiring any interaction. In + accordance with the selected components, source files will be + downloaded from the Internet. At the end, a complete firmware file + will exist. +- **Install** using the normal Firmware-Update on the Box. +- **Configure** and **use** the new features of the box. In the + configuration you will find a Freetz link. Under here, the packages + can be configured. + +Detailed information regarding the +`FREETZ-Installation `__ can be found +on the `corresponding wiki-Site `__. +There's also special `instructions for +newbies `__ which you should read if +you're new to Freetz. + +.. _LegalBackground: + +Legal Background +---------------- + +A large proportion of the Firmware components are Open Source software. +Their authors have explicity allowed the software to be used by anyone, +modified and distributed. Freetz makes good use of this. + +Other parts of the Firmware are developed by AVM (or by other firms and +then licenced to AVM). These components are protected and not made +publicly available. In order to have a functioning box both these and +the free components are required. + +For as long as this is the case, no complete firmware can be made +available for download. Freetz, therefore, is limited to providing the +tools with which anyone can build their own individual firmware. + +The self-built firmware should not be made available publicly. In this +way we avoid upsetting AVM. + +.. _Support: + +Support +------- + +When a self-built (and not the original) firmware is installed on the +box, you can't expect any support from AVM if you have any questions or +problems. You may, however, be able to get help in the +`​IP-Phone-Forum `__. + +.. _DonationsSupportfortheProject: + +Donations / Support for the Project +----------------------------------- + +| If you like Freetz and would like to support its further development, + the developers would gladly receive any donation + (`​Details `__). +| Donate directly with + `​Paypal `__. + +.. _FurtherLinks: + +Further Links +------------- + +- `Available Packages `__ +- `Available Patches `__ +- `​Support - Help and + Support `__ +- `Download Current Release `__ +- `FAQ - Frequently Asked Questions `__ +- `How To ... - Documentation of freetz + Modifications `__ +- `Developer + Information `__ diff --git a/wiki/freetz.rst b/wiki/freetz.rst new file mode 100644 index 0000000..d2d09d1 --- /dev/null +++ b/wiki/freetz.rst @@ -0,0 +1,165 @@ +freetz +====== +.. _FreetzmachtmehrausderBox: + +Freetz macht mehr aus der Box! +============================== + +.. figure:: /screenshots/52.png + :alt: + +Nicht immer hat der Hersteller der Box in seiner Firmware genau die +Funktionen vorgesehen, die man sich selber wünscht. Freetz kann das +ändern! Die Funktionalität der Box kann den individuellen Bedürfnissen +angepasst werden. Freetz kann Funktionalität + +- **hinzufügen.** + Das könnte zum Beispiel ein Web-Server auf der Box sein oder ein + spezielles VPN. Die `Liste der Pakete `__ gibt hierzu + eine Übersicht. +- **verändern.** + Manchmal ist die Funktion da, aber sie lässt sich im Original nicht + oder nicht detailliert genug konfigurieren (z. B. die integrierte + Firewall). Die `Liste der + Erweiterungen `__ gibt hier einen + Überblick. +- **entfernen.** + Das kann nötig werden, wenn man eine Funktion nicht braucht oder für + zusätzliche Pakete Platz schaffen möchte (der Speicher der Box hat + seine Grenzen). Auch hier gibt es einen Überblick in der `Liste der + Patches `__. + +.. _WiefunktioniertFreetz: + +Wie funktioniert Freetz? +------------------------ + +Die Firmware der Box besteht aus vielen einzelnen Komponenten. Sie +wurden von verschiedenen Personen und Firmen entwickelt und bilden +gemeinsam die Firmware der Box. Freetz tauscht nun einzelne Komponenten +aus, verändert ihre Konfiguration oder fügt neue Komponenten ein. So +entsteht eine neue Firmware für die Box ganz nach den individuellen +Wünschen. Diese neue Firmware kann über die gewohnte Update-Funktion auf +die Box installiert werden. Die ursprüngliche Funktionalität inklusive +der AVM Weboberfläche bleibt erhalten, Freetz kann sozusagen als +Erweiterung angesehen werden. + +.. _WiebekommeicheineeigeneFirmware: + +Wie bekomme ich eine eigene Firmware? +------------------------------------- + +Aus rechtlichen Gründen muss jeder seine Firmware selbst bauen. Dazu +später mehr. + +.. _Voraussetzungen: + +Voraussetzungen +--------------- + +Dazu braucht man: + +- Ein Linux-System. Entweder direkt auf dem PC installiert oder in + einer Virtuellen Maschine unter Windows (z.B. + `​Freetz-Linux `__). +- Möglicherweise muss das Linux noch um `einige + Werkzeuge `__ ergänzt werden. +- Den aktuellen Release von Freetz `downloaden `__. + +.. _Ablauf: + +Ablauf +------ + +Sind die Voraussetzugen geschaffen, kann es los gehen. Es ist soweit, +die individuelle Firmware … + +.. figure:: /screenshots/53.png + :alt: Freetz menuconfig + + Freetz menuconfig + +- **Zusammenstellen.** + Der Prozess ist menü-gesteuert. Man kann festlegen, was genau in die + Box kommt und worauf man verzichten kann/will/muss. Freetz kennt die + Abhängigkeiten unter den Komponenten und sorgt für eine + funktionierende Kombination. +- **Herstellen.** + Abhängig von der Leistungsfähigkeit des Pcs dauert dieser Prozess + eine kleine Weile, läuft im Normalfall aber automatisch ab. Je nach + gewählten Komponenten, werden dabei weiter Dateien (Quellen) aus dem + Internet geladen. Nach Abschluß ist eine fertige Firmware (Image) + entstanden. +- **Installieren** über das normale Firmware-Update der Box. +- Die neuen Funktionalitäten auf der Box **konfigurieren** und + **benutzen**. In der Konfiguration der Box findet sich jetzt in Link + auf Freetz. Hier können die zusätzlichen neuen Pakete konfiguriert + werden. + +Detaillierte Information über die Freetz-Installation finden sich auf +der `entsprechenden Wiki-Seite `__. Für +Anfänger existiert eine spezielle +`Anleitung `__, die man als +Freetz-Neuling unbedingt lesen sollte. + +Die Einstellungen in der FritzBox bleiben normalerweise bei einem +Upgrade auf Freetz erhalten. + +.. _RechtlicheHintergründe: + +Rechtliche Hintergründe +----------------------- + +Ein grosser Teil der Komponenten der Firmware ist freie Software. Ihre +Autoren haben erlaubt, dass sie von jedem verwendet, modifiziert und +weitergegeben werden kann. Davon macht Freetz reichlich Gebrauch. + +Ein anderer Teil aber ist von AVM (oder anderen Firmen) entwickelt und +geschützt. Diese Komponenten sind geschützt und nicht öffentlich +zugänglich. Für eine funktionierende Box braucht es aber beide Teile. + +Solange das so ist, darf keine fertige Firmware zum +`Download `__ angeboten werden in der AVM-Teile stecken. +Freetz muss sich deshalb darauf beschränken die Werkzeuge zu liefern, +mit denen jeder seine individuelle Firmware selbst bauen kann. + +Die selbst gebaute Firmware sollte nicht öffentlich zugänglich gemacht +werden. Das erspart möglichen Ärger mit AVM. + +.. _Support: + +Support +------- + +Wenn die selbst gebaute Firmware in der Box ist (und nicht mehr das +Original), kann man bei Fragen und Problemen **keinen Support von AVM** +erwarten. Hilfe kann man jetzt im +`​IP-Phone-Forum `__ +finden. + +.. _UnterstützungSpenden: + +Unterstützung / Spenden +----------------------- + +| Falls Dir Freetz gefällt und du seine Weiterentwicklung unterstützen + möchtest, freuen sich die Macher über jede Spende + (`​Details `__). +| Spende direkt über + `​Paypal `__. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `Verfügbare Pakete `__ +- `Verfügbare Patches `__ +- `​Support - Unterstützung und + Hilfe `__ +- `Download aktueller Release `__ +- `FAQ - Antworten auf häufig gestellte Fragen `__ +- `How To ... - Anleitungen zum modifizieren von + freetz `__ +- `Development + Bereich `__ diff --git a/wiki/help.rst b/wiki/help.rst new file mode 100644 index 0000000..5779226 --- /dev/null +++ b/wiki/help.rst @@ -0,0 +1,41 @@ +help +==== +.. _Hilfe: + +Hilfe +===== + +.. _WikiForumundIRC: + +Wiki, Forum und IRC +------------------- + +- `Wiki `__: + + - `Installation `__ + - `Pakete, Addons und CGI-Erweiterungen `__ + - `Patches `__, `Aussehen `__ + - `Bibliotheken `__, Module, `FAQ `__ + - Hintergrund-Infos + - `Howtos `__, und `Hilfe `__ + - `Trouble-Shooting `__ + +- `​Forum `__: + Diskussion, Fragen und Ankündigungen +- `IRC-Themenkanal `__ zu FritzBox und (inoffiziell) + Freetz + +Weitere Informationen rund um FritzBox & Co. außerdem bei WeHaveMoreFun +(WHMF): + +- `​Fritz!Box-Wiki `__: Tipps & + Tricks, Hintergrund-Infos u.v.m. + +Hier findet sich Hilfe für Freetz - und auch für das Wiki: + +- `Erste Schritte für Newbies `__ +- `FAQ: Antworten auf häufige Fragen zu Freetz `__ +- `FAQ: Antworten auf häufige allg. Fragen zur + Fritzbox `__ +- `HowTos: 'Wie mache ich …' `__ +- `Wiki Bearbeitung `__ diff --git a/wiki/help/fritz_faq.rst b/wiki/help/fritz_faq.rst new file mode 100644 index 0000000..b2482b4 --- /dev/null +++ b/wiki/help/fritz_faq.rst @@ -0,0 +1,339 @@ +help/fritz_faq +============== +.. _FAQ: + +FAQ +=== + +FAQ +^^^ + +#. + + #. `Wie kann ich einen eigenen/anderen DNS-Server für alle + angeschlossenen PCs + … `__ + #. `Wie kann man character devices + erstellen? `__ + #. `Was für ein Netzwerkkabel benötige ich für das recovern + ? `__ + #. `Woran erkenne ich, dass ich eine FB 7270v3 habe + ? `__ + #. `Wie alt ist meine FritzBox + ? `__ + #. `Wie viel Flash hat meine FritzBox 7270 + ? `__ + #. `Steuercodes für die + Fritzbox `__ + #. `Hilfe, die Box ist total verkonfiguriert / Freetz + "Not-AUS" `__ + +Während das FAQ zu Freetz spezifischen Fragen `hier <../FAQ.html>`__ zu +finden ist sollen hier allgemeine Fragen und Antworten zur FritzBox +gesammelt werden. + +.. _WiekannicheineneigenenanderenDNS-ServerfüralleangeschlossenenPCsundFritzboxverwenden: + +Wie kann ich einen eigenen/anderen DNS-Server für alle angeschlossenen PCs und Fritzbox verwenden ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AVM lässt die Änderung des default DNS-Servers, den die Box nutzt, im +Gegensatz zu anderen Routern über die Benutzeroberfläche derzeit(Ende +2009) nicht zu. Mögliche Lösungswege: + +- dnsmasq: Installation eines eigenen DNS-Servers auf der Fritzbox + mittels dem Packet `dnsmasq <../packages/dnsmasq.html>`__. Dies ist + ein allgemeiner Weg der auf jeder Box funktioniert, jedoch einen + Neubau des Images (freetzen) erfordert. Zusammen mit einer geänderten + Datei /etc/resolv.conf (im Trunk möglich über die GUI mit + "Einstellungen"→"Freetz: resolv.conf") kann ein DNS-Server so + eingetragen werden: "nameserver 208.67.220.220" (hier der von + OpenDNS) +- ohne dnsmasq: Bei einigen Boxen, z.B. 7170(Firmware 29.04.76) ist es + möglich die zentrale Konfigurationsdatei von AVM zu bearbeiten. Mit + "nvi /var/flash/ar7.cfg" müssen alle Vorkommen von "overwrite_dns1 = + xxx.xxx.xxx.xxx" und "overwrite_dns2 = xxx.xxx.xxx.xxx" bearbeitet + werden. Dieser Weg ist nur Personen empfohlen die Grundkenntnisse mit + nvi und telnet bzw. ssh/telnet haben! Hier läuft der multid von AVM + als DNS-Server. in der resolv.conf steht ein loopback "nameserver + 127.0.0.1". Dies ermöglicht auch Linux standard Anwendungen auf der + fritzbox die Auflösung über den multid. +- Ändern von /etc/resolv.conf: Wenn es nur darum geht, dass die Box + selbst einen anderen DNS-Server benutzt, reicht eine Änderung in der + Datei /etc/resolv.conf wie oben beim dnsmasq beschrieben. Dies ändert + allein jedoch nur die Namensauflösung der Box, angeschlossene Clients + nutzen dann weiter den Standard-DNS + +.. _Wiekannmancharacterdeviceserstellen: + +Wie kann man character devices erstellen? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Freetz benutzt auch ein solches `​character +device `__, +welches Dateien mit Hilfe eines Tiny Flash Filesystems (TFFS) dauerhaft +und veränderbar im Flash abspeichert, um die Konfiguration zu sichern. +Vorraussetzung ist eine Minor Nummer, die von keinem anderen character +device in ``/var/flash/`` verwendet wird (Freetz benutzt die Minor +0x3c), die Major Nummer kann aus ``/proc/devices`` ausgelesen werden: + +.. code:: wiki + + mknod /var/flash/ c + +Da dieses character device in der +`​Ramdisk `__ unter ``/var/`` +erzeugt wurde, muss dieser Befehl jedesmal beim Neustart ausgeführt +werden. Der Inhalt bleibt aber erhalten. |/!\\| Zum Bearbeiten solcher +character devices **niemals** vi verwenden! Dafür gibt es das +Wrapper-Skript nvi. + +|/!\\| **ACHTUNG:** Die Flash Partition des TFFS ist sehr klein und +nicht geeignet Dateien > 10-30 KB aufzunehmen (je nach Größe der anderen +Dateien). + +Der aktuelle Füllstand kann wie folgt ausgelesen werden: + +:: + + echo 'cleanup' > /proc/tffs + echo 'info' > /proc/tffs + cat /proc/tffs | grep '^fill=' + +.. _WasfüreinNetzwerkkabelbenötigeichfürdasrecovern: + +Was für ein Netzwerkkabel benötige ich für das recovern ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + RJ45 Standardnetzwerkkabel, kein Crossover + +.. _WoranerkenneichdassicheineFB7270v3habe: + +Woran erkenne ich, dass ich eine FB 7270v3 habe ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- An der Firmwareversion. Firmwares für 7270v3 beginnen mit 74.xx.xx +- An der Anzeige im AVM-Web-Interface + `​http://fritz.box `__, z.B. + **Produktinformationen**: FRITZBox Fon WLAN 7270 v3 (UI) +- Anhand der Seriennummer (s.u.) + +.. _WiealtistmeineFritzBox: + +Wie alt ist meine FritzBox ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Benötig werden dazu die ersten vier Stellen der Seriennummer: +| Beispiel: **W484**-xxx-xx-xxx-xxx ⇒ **Donnerstag, den 27.11.2008** + +| **W484 = Produktionswoche (Achtung: bitte nicht verwechseln mit der + Kalenderwoche) 48 und 4. Tag = Donnerstag** + + +---------------+-------------+ + | **Buchstabe** | **Baujahr** | + +---------------+-------------+ + | U | 2006 | + +---------------+-------------+ + | V | 2007 | + +---------------+-------------+ + | W | 2008 | + +---------------+-------------+ + | X | 2009 | + +---------------+-------------+ + | A | 2010 | + +---------------+-------------+ + | B | 2011 | + +---------------+-------------+ + | C | 2012 | + +---------------+-------------+ + +| **Info:** Wo liegt der Unterschied zwischen Produktionswoche und + Kalenderwoche: +| In meinem Beispiel ist die Produktionswoche = der Kalenderwoche, aber + z.B. im Jahr 2010 unterscheiden sich die Tage etwas: +| A101 = Kalenderwoch 10 = sollte einen Montag in der 10 KW, also + 08.03.2010 ergeben, das ist aber falsch, +| A101 = Produktionswoche 10 ergibt einen Montag in der 9 KW und zwar + den 01.03.2010 +| Quelle meiner Behauptung: - Wird nachgeliefert. + +.. _WievielFlashhatmeineFritzBox7270: + +Wie viel **Flash** hat meine FritzBox 7270 ? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Für die zweite  Ziffern-Gruppe (xxxx-**XXX**-xxx-xxx) sind bislang + folgende Nummern aufgetreten: + + +---------+---------+---------+---------+---------+---------+---------+ + | **Numme | **HWRev | **Brand | **Flash | **Farbe | **Versi | **Komme | + | r** | ision** | ing** | größe | ** | on** | ntar** | + | | | | (in | | | | + | | | | MB)** | | | | + +---------+---------+---------+---------+---------+---------+---------+ + | 293 | 122 | AVM | 8 | rot | 7270 V1 | | + +---------+---------+---------+---------+---------+---------+---------+ + | 294 | 122 | 1und1 | 8 | schwarz | 7270 V1 | | + | | | | | / | | | + | | | | | silber | | | + +---------+---------+---------+---------+---------+---------+---------+ + | 304 | 139 | AVM | 16 | rot | 7270 V2 | | + +---------+---------+---------+---------+---------+---------+---------+ + | 305 | 139 | 1und1 | 16 | schwarz | 7270 V2 | | + | | | | | / | | | + | | | | | silber | | | + +---------+---------+---------+---------+---------+---------+---------+ + | 336 | 139 | AVM | 16 | rot | 7270 V2 | für | + | | | | | | | Kabel | + | | | | | | | Deutsch | + | | | | | | | land-Ku | + | | | | | | | nden | + +---------+---------+---------+---------+---------+---------+---------+ + | 334 | 145 | 1und1 | 16 | schwarz | 7270 V3 | | + +---------+---------+---------+---------+---------+---------+---------+ + | 351 | 145 | AVM | 16 | rot | 7270 V3 | | + +---------+---------+---------+---------+---------+---------+---------+ + | 352 | 145 | otwo | 16 | rot | 7270 V3 | für | + | | | | | | | o2-Kund | + | | | | | | | en | + +---------+---------+---------+---------+---------+---------+---------+ + | 354 | 145 | AVM | 16 | rot | 7270 V3 | für | + | | | | | | | Netcolo | + | | | | | | | gne-Kun | + | | | | | | | den | + +---------+---------+---------+---------+---------+---------+---------+ + | 355 | 145 | EWE | 16 | weiß / | 7270 V3 | für | + | | | | | grau | | EWE-Kun | + | | | | | | | den | + +---------+---------+---------+---------+---------+---------+---------+ + | 307 | 139 | AVME | 16 | rot | 7270 V2 | Interna | + | | | | | | | tionale | + | | | | | | | -Versio | + | | | | | | | n | + +---------+---------+---------+---------+---------+---------+---------+ + | 310 | 139 | AVME | 16 | rot | 7270 V2 | A-/CH-V | + | | | | | | | ersion | + +---------+---------+---------+---------+---------+---------+---------+ + +| Beispiel: W484-\ **305**-xx-xxx-xxx ⇒ Fritzbox mit 16MB und + 1und1-Branding + +oder + +| 1.) Support Datei auslesen über: + `​http://fritz.box/html/support.html `__ +| 2.) In der Datei sollte folgender Eintrag zu finden sein: + +- 8MB: **flashsize 0x00800000** +- 16MB: **flashsize 0x01000000** + +| 00800000 Hex = 8.388.608 Dezimal = 8.192 KB = 8 MB +| 01000000 Hex = 16.777.216 Dezimal = 16.384 KB = 16 MB +| Weitere Details sind + `​[hier] `__ + beschrieben. + +.. _SteuercodesfürdieFritzbox: + +Steuercodes für die Fritzbox +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Hier findet Ihr eine (unvollständige) Liste der Steuercodes für Eure +Fritzbox: + + +--------------------+----------------------------------------------+ + | **Telefoncode** | **Funktion** | + +--------------------+----------------------------------------------+ + | #96*0\* | WLAN ausschalten | + +--------------------+----------------------------------------------+ + | #96*1\* | WLAN einschalten | + +--------------------+----------------------------------------------+ + | #96*2\* | CAPI over TCP (NetCAPI) ausschalten | + +--------------------+----------------------------------------------+ + | #96*3\* | CAPI over TCP (NetCAPI) einschalten | + +--------------------+----------------------------------------------+ + | #96*4\* | Anrufmonitor ausschalten | + +--------------------+----------------------------------------------+ + | #96*5\* | Anrufmonitor einschalten | + +--------------------+----------------------------------------------+ + | #96*6\* | Anzeige: "Kein Bier vor 4" oder "Bier holen" | + +--------------------+----------------------------------------------+ + | #96*7\* | telnetd einschalten | + +--------------------+----------------------------------------------+ + | #96*8\* | telnetd ausschalten | + +--------------------+----------------------------------------------+ + | #96*9\* | Anzeige: Uptime des Routers | + +--------------------+----------------------------------------------+ + | #990*15901590\* | Reboot der Fritzbox | + +--------------------+----------------------------------------------+ + | #991*15901590\* | Rücksetzen auf Werkseinstellungen | + +--------------------+----------------------------------------------+ + | #83*hhmmddmmyyyy\* | Uhr stellen | + +--------------------+----------------------------------------------+ + +.. _HilfedieBoxisttotalverkonfiguriertFreetzNot-AUS: + +Hilfe, die Box ist total verkonfiguriert / Freetz "Not-AUS" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Jetzt ist es passiert: Paket konfiguriert und dabei irgendwas so +verstellt, dass die Box nicht mehr erreichbar ist. Auch in so einem Fall +gibt es noch eine Möglichkeit vor dem Recover: + +`​Den Freetz "Not-Aus" +Schalter `__. + +Wenn der Parameter *kernel_args* den Eintrag ``ds_off=y`` enthält, wird +der Haupteil von Freetz nicht mehr gestartet (genauer wird +/etc/init.d/rc.mod nicht aufgerufen). Um den Parameter zu setzen muss +man sich allerdings per FTP auf die Box verbinden, hat aber dann gute +Chancen, die Box ohne Recover erfolgreich zu neu wiederbeleben. + +So geht es: + +- PC eine "feste" IP aus dem Netz 192.168.178.0 geben, z.B. + 192.168.178.12 255.255.255.0 +- Direkt nach dem Einschalten des Routers per FTP auf die 192.168.178.1 + (User/PW: adam2/adam2) verbinden (der FTP-Server steht nur wenige + Sekunden nach dem Einstecken des Netzteils zur Verfügung, also + eventuell ein paar mal versuchen (oder den Hinweis aus dem letzten + Punkt ausprobieren) +- Im FTP: + + .. code:: wiki + + quote SETENV kernel_args ds_off=y + quote REBOOT + + (bereits vorhandene Einträge in den kernel_args gehen dadurch + natürlich verloren…) + +- Falls die Box auf die IP 192.168.178.1 nicht reagiert hilf in der + Regel der Trick, ein unpassendes Recover einer anderen(!) Box zu + starten, was zwar mit einer Fehlermeldung abbricht, aber zwei + angenehme Nebeneffekte hat: Die Box wird (wenn der PC eine IP wie + oben hat) im FTP-Modus auf die IP 192.168.178.1 gesetzt und bleibt im + FTP-Modus, so dass das Abpassen des kurzen Momentes nach dem Starten + entfällt. + +Jetzt sollte zumindest die AVM-Oberfläche wieder wie gewohnt zu +erreichen sein. Man kann sich nun per Telnet auf die Box verbinden und +die "fehlerhafte" Konfiguration eines Paketes zurücksetzen, indem man +z.B. /var/tmp/flash/.diff löscht, von Hand "korrigiert" oder +umbenennt. Wenn dann der Aufruf von ``/etc/init.d/rc.mod`` wieder ein +"normal funktionierendes" Freetz startet, braucht man nur noch den +``ds_off=y`` Parameter zu entfernen, und alles sollte wieder gehen: + +.. code:: wiki + + . /usr/bin/kernel_args + ka_removeVariable ds_off + +Ergänzender Hinweis: Analog schaltet ``dbg_off=y`` das Abarbeiten der +debug.cfg beim Starten ab. + +- Tags +- `faq `__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos.rst b/wiki/help/howtos.rst new file mode 100644 index 0000000..4589145 --- /dev/null +++ b/wiki/help/howtos.rst @@ -0,0 +1,121 @@ +help/howtos +=========== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Allgemeines `__ +#. `Development `__ +#. `Security `__ +#. `Troubleshooting `__ + +.. _HowTos: + +HowTos +====== + +Die HowTos hier sind entweder Freetz-spezifisch, oder stehen zumindest +mit Freetz in Zusammenhang. Eine Reihe weiterer HowTos für AVM "Boxen" +finden sich im + +- `​Wiki des + IPPF `__. +- `​Fritz!Box Wiki `__ + +.. _Allgemeines: + +Allgemeines +----------- + +- `Freetz-Linux unter verschiedenen Virtualisierungslösungen zum Laufen + bringen `__ +- `Erste Schritte für Newbies `__ +- `Zweiter Schritt für Newbies (Mein erster + Trunk) `__ +- `Freetz installieren `__ +- `Swap-File anlegen `__ +- `Kleiner Webserver mit BusyBox `__ +- `Möglichkeiten der Nutzung von WoL `__ +- `Rechner im Netzwerk herunterfahren `__ +- `Benutzer dauerhaft speichern in der passwd bei + Freetz-1.1 `__ +- `​IPv6 inkl. Subnet für das LAN mit + SixXS `__ +- `Tutorial WIP: CustomScript zur Umgehung der Beschränkung von BusyBox + Syslogd entweder in den ram oder auf das fs zu + loggen <../costumscript_dublesyslog.html>`__ + +.. _Development: + +Development +----------- + +- `FW-Image entpacken, ändern und wieder + packen `__ +- `Eigene Dateien in die Firmware + integrieren `__ +- `Cross-Compiler / Toolchain + erstellen `__ +- Vorkompilierte Programme neu übersetzen? +- `Menükonfiguration pflegen `__ +- `Kernel konfigurieren und + kompilieren `__ +- `Busybox konfigurieren und + kompilieren `__ +- `Patches in Freetz + einspielen `__ +- `Addon Paket installieren `__ +- `Eigene Programme + kompilieren `__ +- `Dynamische Bandbreitenanzeige per SVG + realisieren `__ +- `Flash-Partitionierung `__ +- `Flash-Partitionen im laufenden Betrieb + sichern `__ +- `Flash-Partitionen von außen mit FTP + sichern `__ +- `Ablauf eines + Firmware-Updates `__ +- `Wie die Fritz!Box Manipulationen + erkennt `__ +- `ADAM2-Bootloader `__ +- `Freetz Build Prozess `__ +- `Wie baue ich ein eigenes Paket für + Freetz? `__ +- `Platz sparen im Dateisystem der + Fritz!Box `__ +- `Einstellungen speichern im + Urlader-Environment `__ +- `Infos zur Web-GUI `__ +- `Firmware-Image-Namen analysieren und + interpretieren `__ +- `​Informationen über die einzelnen Fritz!Boxen und ihre + Ausstattung `__ + +.. _Security: + +Security +-------- + +- `Benutzerverwaltung `__ +- `Freetz als interner Router mit + Firewall `__ +- `WLAN von LAN trennen mit + iptables `__ +- `Konfiguration des eingebauten + Switches `__ +- `Leistungsfähige Firewall mit iptables <../packages/iptables.html>`__ + +.. _Troubleshooting: + +Troubleshooting +--------------- + +- `Original Firmware + wiederherstellen `__ +- `Kaputtes Telefonbuch + reparieren `__ +- `Häufige selbstständige Reboots `__ + +- Tags +- `help <../help.html>`__ +- `howtos `__ diff --git a/wiki/help/howtos/common.rst b/wiki/help/howtos/common.rst new file mode 100644 index 0000000..75df07e --- /dev/null +++ b/wiki/help/howtos/common.rst @@ -0,0 +1,320 @@ +help/howtos/common +================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rechner im Netz + herunterfahren `__ + + #. `Voraussetzungen `__ + #. `Konfiguration der + Fritzbox `__ + + #. `Keys erzeugen `__ + #. `Konfiguration der Fritzbox für herunterzufahrenden + Linux-Rechner `__ + #. `Konfiguration der Fritzbox für herunterzufahrenden + Windows-Rechner `__ + + #. `Konfiguration des herunterzufahrenden + Linux-Rechners `__ + #. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet + unter + … `__ + #. `Bemerkungen `__ + +#. `Sonstige Infos für + Newbie's `__ + + #. `Wie könnte mein nächstes Image + aussehen: `__ + + #. `VirtualBox + starten `__ + #. `Einstellen des + menuconfig `__ + #. `Image auf den PC + kopieren `__ + #. `Freetz-Linux + beenden `__ + #. `Der Flashvorgang `__ + + #. `Konfiguration der neuen + Plugins `__ + + #. `Freetz-WebIF + einstellen `__ + #. `USB-Stick + erstellen `__ + #. `SWAP-File + einrichten `__ + #. `Samba `__ + + #. `Einstellungen `__ + + #. `Starttyp `__ + #. `Konfiguration: `__ + #. `Standardfreigaben `__ + + #. `Erweitert `__ + #. `Freigaben `__ + + #. `VSFTPD `__ + + #. `Einstellungen `__ + + #. `Starttyp `__ + #. `FTP Server `__ + #. `Zugriff `__ + #. `Erweiterte + Einstellungen `__ + #. `Zusätzliche Konfigurationsoptionen (für + Experten) `__ + #. `Logging `__ + #. `Änderungen am + USB-Stick `__ + + #. `Rechtevergabe für FTP-User (wie ändere ich die + Beispieldateien aus dem ZIP + … `__ + + #. `Inhalt der Datei + : `__ + + #. `FTP-User + erzeugen `__ + + #. `Wie ist der + adduser-Befehl:; `__ + + #. `FTP-User für unser Image + anlegen: `__ + + #. `admin `__ + #. `paul `__ + #. `mary `__ + #. `gast `__ + + #. `AVM-Firewall `__ + + #. `Einstellungsseite `__ + + #. `Sonstige Fragen `__ + + #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen + kann `__ + + #. `Linux `__ + #. `Windows `__ + + #. `Image auf den PC + kopieren `__ + #. `Wie kann man eine gefreetzte Fritzbox + updaten `__ + #. `Einige Programme haben ähnliche Funktionen, welche sind + performanter? `__ + + #. `Linux-Befehle (Zielgruppe + Newbies) `__ + + #. `allgemeine + Linux-Befehle `__ + #. `Der vi Editor `__ + +#. `Was mache ich, wenn sich meine Box nicht Freetzen + lässt `__ + + #. `FAQ's lesen und Tickets + durchsuchen `__ + #. `Suchfunktion des IPPF + benutzen `__ + #. `Einen neuen Thread im IPPF + eröffnen `__ + +#. `Wie baue ich meinen ersten trunk + ? `__ + + #. `Beschreibung für ein Trunk-Image inkl. Samba und + VSFTP `__ + #. `Trunk-Image bauen `__ + + #. `Samba einrichten `__ + #. `FTP-Freigaben einrichten + (Freetz-Trunk) `__ + #. `Einrichten von + Benutzern `__ + #. `Rechtevergabe für + FTP-User `__ + + #. `Image für einen Speedport + bauen `__ + + #. `Welche Speedports lassen sich mit Freetz + modifizieren? `__ + #. `Umbau eines W701V `__ + #. `Umbau eines W501V `__ + #. `Umbau eines W920V `__ + +#. `Wake on Lan (WoL) mit der + Fritzbox `__ + + #. `Möglichkeiten der Nutzung von + WoL `__ + #. `Callmonitor `__ + #. `Shellscripte `__ + + #. `Wake on LAN-Skript `__ + #. `Wake on LAN automatisieren (über + SSH) `__ + +#. `Swap-File anlegen `__ + + #. `Was ist ein Swap-File, und wofür brauche ich + es? `__ + #. `Wie lege ich es an? `__ + +#. `Installation `__ + + #. `Virtuelles Linux: Freetz-Linux für + VMware-Player `__ + #. `Vorbereitung `__ + #. `Durchführung mit Windows + OS `__ + #. `Durchführung mit Linux + OS `__ + + #. `Notwendige Pakete `__ + + #. `freetz-2.x (stabile + Version) `__ + #. `aktuelle Entwicklerversion und spezielle + Pakete `__ + #. `alte + Entwicklerversionen `__ + + #. `Installation der benötigten Pakete + (Ubuntu) `__ + #. `Installation der benötigten Pakete + (Fedora) `__ + #. `Erstellung & + Installation `__ + + #. `coLinux / andLinux / + speedLinux `__ + #. `Cygwin `__ + #. `Mac OS X `__ + +#. `Aktualisierung `__ +#. `Fehlerbehebung `__ +#. `Manuelles einspielen des + Images `__ +#. `Weiterführende Links `__ +#. `Erste Schritte mit + Freetz `__ + + #. `Fragen im Vorfeld `__ + + #. `Was ist Freetz? `__ + #. `Was brauche ich um ein Freetz-Image erstellen zu + können? `__ + #. `Was sollte ich + bedenken? `__ + #. `Was soll mein erstes Freetz-Image + können? `__ + #. `Warum sollte ich mit einem Minimal-Image am Anfang + starten? `__ + + #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen + kann? `__ + #. `Wie baue ich mein erstes eigenes Image + (Minimal-Image) `__ + + #. `Starten von Freetz `__ + #. `PuTTY starten `__ + #. `Freetz Sourcen + auschecken `__ + #. `Einstellungen im + menuconfig `__ + #. `Image auf den PC + kopieren `__ + #. `Freetz-Linux + beenden `__ + + #. `Der Flashvorgang `__ + #. `Weiterführende Links `__ + +#. `External `__ +#. `Konfiguration `__ + + #. + + #. `Prepare files for + Downloader `__ + #. `Keep + subdirectories `__ + #. `Create file for + upload `__ + #. `own files `__ + +#. `Auswahl `__ + + #. + + #. `packages `__ + #. `services `__ + #. `libraries `__ + +#. `Installation `__ +#. `Automatisches starten/stoppen von + Diensten `__ +#. `Firmware-build-Prozess und + Update `__ +#. `Benutzer dauerhaft in der passwd + speichern `__ + + #. `Beschreibung + (Freetz-1.2.x) `__ + #. `Beschreibung + (Freetz-1.1.x) `__ + + #. `Originalbeiträge zum + HowTo `__ + #. `Vorgehen `__ + #. `Alternative `__ + +#. `Kleiner Webserver mit + BusyBox `__ + + #. `Weiterführende + Links `__ + +#. `Konfiguration `__ + + #. `General `__ + #. `Brandings `__ + #. `Mod `__ + +#. `Freetz Linux `__ + + #. `Freetz Linux unter + VirtualBox `__ + #. `Freetz Linux unter + VMWare `__ + + #. `Freetz Linux unter VMware ESXi V4.1 Hypervisor (funktioniert + auch mit + … `__ + #. `Freetz Linux unter VMware Player + V2.5 `__ + + #. `Freetz Linux unter Virtual + PC `__ + +.. _Allgemeines: + +Allgemeines +=========== + +In dieser Rubrik finden sich allgemeine Themen - und vielleicht auch +das, was sich woanders nicht recht einsortieren ließ. Was das genau ist, +lässt sich dem Inhaltsverzeichnis zur Rechten übernehmen. diff --git a/wiki/help/howtos/common/busybox_httpd.rst b/wiki/help/howtos/common/busybox_httpd.rst new file mode 100644 index 0000000..1f03f8b --- /dev/null +++ b/wiki/help/howtos/common/busybox_httpd.rst @@ -0,0 +1,225 @@ +help/howtos/common/busybox_httpd +================================ +Howtos: Allgemeines +^^^^^^^^^^^^^^^^^^^ + +#. `Rechner im Netz + herunterfahren `__ + + #. `Voraussetzungen `__ + #. `Konfiguration der + Fritzbox `__ + #. `Konfiguration des herunterzufahrenden + Linux-Rechners `__ + #. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet + unter + … `__ + #. `Bemerkungen `__ + +#. `Sonstige Infos für + Newbie's `__ + + #. `Wie könnte mein nächstes Image + aussehen: `__ + #. `Sonstige Fragen `__ + #. `Linux-Befehle (Zielgruppe + Newbies) `__ + +#. `Was mache ich, wenn sich meine Box nicht Freetzen + lässt `__ + + #. `FAQ's lesen und Tickets + durchsuchen `__ + #. `Suchfunktion des IPPF + benutzen `__ + #. `Einen neuen Thread im IPPF + eröffnen `__ + +#. `Wie baue ich meinen ersten trunk + ? `__ + + #. `Beschreibung für ein Trunk-Image inkl. Samba und + VSFTP `__ + #. `Trunk-Image bauen `__ + #. `Image für einen Speedport + bauen `__ + +#. `Wake on Lan (WoL) mit der + Fritzbox `__ + + #. `Möglichkeiten der Nutzung von + WoL `__ + #. `Callmonitor `__ + #. `Shellscripte `__ + +#. `Swap-File anlegen `__ + + #. `Was ist ein Swap-File, und wofür brauche ich + es? `__ + #. `Wie lege ich es an? `__ + +#. `Installation `__ + + #. `Virtuelles Linux: Freetz-Linux für + VMware-Player `__ + #. `Vorbereitung `__ + #. `Durchführung mit Windows + OS `__ + #. `Durchführung mit Linux + OS `__ + #. `coLinux / andLinux / + speedLinux `__ + #. `Cygwin `__ + #. `Mac OS X `__ + +#. `Aktualisierung `__ +#. `Fehlerbehebung `__ +#. `Manuelles einspielen des + Images `__ +#. `Weiterführende Links `__ +#. `Erste Schritte mit Freetz `__ + + #. `Fragen im Vorfeld `__ + #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen + kann? `__ + #. `Wie baue ich mein erstes eigenes Image + (Minimal-Image) `__ + #. `Der Flashvorgang `__ + #. `Weiterführende Links `__ + +#. `External `__ +#. `Konfiguration `__ +#. `Auswahl `__ +#. `Installation `__ +#. `Automatisches starten/stoppen von + Diensten `__ +#. `Firmware-build-Prozess und + Update `__ +#. `Benutzer dauerhaft in der passwd + speichern `__ + + #. `Beschreibung + (Freetz-1.2.x) `__ + #. `Beschreibung + (Freetz-1.1.x) `__ + +#. `Kleiner Webserver mit + BusyBox `__ + + #. `Weiterführende Links `__ + +#. `Konfiguration `__ + + #. `General `__ + #. `Brandings `__ + #. `Mod `__ + +#. `Freetz Linux `__ + + #. `Freetz Linux unter + VirtualBox `__ + #. `Freetz Linux unter + VMWare `__ + #. `Freetz Linux unter Virtual + PC `__ + +.. _KleinerWebservermitBusyBox: + +Kleiner Webserver mit BusyBox +============================= + +BusyBox enthält einen kleinen Webserver, den man z.B. so starten kann: + +.. code:: wiki + + httpd -P /var/run/port90.pid -p 90 -c /mod/etc/webcfg.conf -h /var/media/ftp/irgendwo/htdocs/ -r "Port 90" + +Diese Zeile startet den Webserver auf Port 90, d.h. um ihn zu erreichen, +benutzt man `​http://fritz.box:90 `__. Wenn man in +/var/media/ftp/irgendwo/htdocs/ eine Datei namens index.html abgelegt +hat, wird diese angezeigt. + +Der Inhalt von Verzeichnissen wird nicht automatisch angezeigt. Dafür +kann man ein CGI-Skript mit dem Namen index.cgi im Unterverzeichnis +cgi-bin anlegen, im Beispiel also +/var/media/ftp/irgendwo/htdocs/cgi-bin/index.cgi. + +.. code:: wiki + + #!/bin/sh + + # standardkonformen HTTP-Header erzeugen + echo -en "Content-Type: text/html\r\n\r\n" + cat << EOF + + + Index of ${QUERY_STRING} + + +

Index of ${QUERY_STRING}

+ + + + + $( + # alle Fehler ins Nirvana umleiten + exec 2>/dev/null + # Datumsformat 1 zum Finden in der Verzeichnisliste + date_format1="[A-Z][a-z]{2} [A-Z][a-z]{2} [ 123][0-9] [0-9]{2}:[0-9]{2}:[0-9]{2} [0-9]{4}" + # langer Ersetzungsausdruck (daher separat), der eine Tabellenzeile + # generiert + replace="
Name  Last modified  Size

$([ "$QUERY_STRING" == "/" ] || echo '..')
\3<\/a><\/tt><\/td>\ \ \2<\/tt><\/td>\ \ \1<\/tt><\/td><\/tr>" + # Datumsformat 2 zum Separieren eines führenden Leerzeichens bei der + # Tageszahl (muß durch festes HTML-Leerzeichen   ersetzt werden) + date_format2="([A-Z][a-z]{2} [A-Z][a-z]{2} ) ([0-9] [0-9]{2}:[0-9]{2}:[0-9]{2} [0-9]{4})" + busybox ls -lLep ../${QUERY_STRING} | + # im Wurzelverzeichnis "cgi-bin" herausfiltern + ([ "$QUERY_STRING" == "/" ] && grep -v 'cgi-bin' || cat) | + # Zeilen numerieren, damit Reihenfolge innerhalb der beiden Gruppen + # (Verzeichnisse und der Rest) später erhalten bleibt beim Sortieren + awk '{printf("%5d %s\n", NR,$0)}' | + # "X" vor Verzeichnisse setzen, "Y" vor den Rest ("X" < "Y") + sed -r 's/^([0-9 ]+ d)/X \1/' | + sed -r 's/^([0-9 ]+)/Y \1/' | + # Sortieren bewirkt Gruppierung der Einträge + sort | + # Sortierhilfen + nicht benötigte Spalten löschen + sed -r 's/^([^ ]+ +){6}(.*)/\2/' | + # Dateigrößen für Verzeichnisse durch "---" ersetzen + sed -r 's/^[0-9]+(.*)\/$/---\1/' | + # eine Tabellenzeile je Verzeichniseintrag erzeugen + sed -r "s/^([-0-9, ]+) ($date_format1) +(.*)$/$replace/" | + # Sonderfall führendes Leerzeichen bei Tageszahl im Datum + sed -r "s/$date_format2/\1\ \2/" + ) +
+ + + EOF + +Der BusyBox-httpd kann auch PHP-Skripte ausführen, wenn man das +`PHP-Package <../../../packages/php.html>`__ installiert hat. Dazu muss +man in /mod/etc/webcfg.conf eine neue Zeile einfügen: + +.. code:: wiki + + *.php:/usr/bin/php-cgi + +Damit index.php-Dateien verarbeitet werden, kann man beim +index.cgi-Skript nach der ersten Zeile folgende Zeilen einfügen: + +.. code:: wiki + + if test -s "../${QUERY_STRING}/index.php" ; then + echo -e "Status: 302 Found\r" + echo -e "Location: index.php\r" + exit 0 + fi + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​IPPF + Artikel `__ diff --git a/wiki/help/howtos/common/create_swap.rst b/wiki/help/howtos/common/create_swap.rst new file mode 100644 index 0000000..5b8f2d2 --- /dev/null +++ b/wiki/help/howtos/common/create_swap.rst @@ -0,0 +1,56 @@ +help/howtos/common/create_swap +============================== +.. _Swap-Fileanlegen: + +Swap-File anlegen +================= + +.. _WasisteinSwap-Fileundwofürbraucheiches: + +Was ist ein Swap-File, und wofür brauche ich es? +------------------------------------------------ + +Das Wort *Swap* kommt aus dem Englischen und bedeutet so viel wie +"austauschen" oder "auslagern" - und genau um letzteres geht es dabei: +Wird der Arbeitsspeicher (RAM) knapp, wird es für die Programme eng. +Damit es trotzdem munter weitergehen kann, kann das System gerade nicht +benötigte Bereiche aus dem Arbeitsspeicher auslagern. Das sind z.B. +Programme, die vielleicht gerade gelangweilt im Hintergrund hängen und +nix zu tun haben. Wird der Speicher später wieder benötigt, holt das +System ihn zurück. + +Wer's genauer wissen möchte, schaut z.B. in der +`​Wikipedia `__ nach. + +.. _Wielegeichesan: + +Wie lege ich es an? +------------------- + +Jetzt kommt der interessantere Teil |:)| Im Entwickler-Repository +(``trunk``) gibt es dafür bereits im WebIF eine einfache Möglichkeit. +Wer lieber auf "Nummer sicher" geht, und daher die Release +(``freetz-1.0``) oder ``stable`` Branch verwendet, dem hilft ein anderer +Linux-PC weiter, auf dem man die benötigte Swap-Datei erstellt, um sie +dann auf die Box zu kopieren. Das sieht z.B. so aus: + +.. code:: wiki + + dd if=/dev/zero of=swapfile bs=1k count=64000 + mkswap swapfile + scp swapfile root@fritz.box:/var/media/ftp/uStor01/ + +Dann im Freetz-WebIF unter *Einstellungen ⇒ Swap* noch den Pfad +eintragen, wo das System es finden kann (also +``/var/media/ftp/uStor01/swapfile``), und den Starttyp sinnvollerweise +auf "Automatisch" umstellen. Will man es sofort (ohne Reboot) +aktivieren, geht man im gleichen WebIF noch ins *Dienste* Menü, und +startet den Swap-Dienst manuell - er findet sich gleich im ersten Block +bei den *Basis-Paketen*. + +- Tags +- `help <../../../help.html>`__ +- `howtos `__ + +.. |:)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/help/howtos/common/external.rst b/wiki/help/howtos/common/external.rst new file mode 100644 index 0000000..c7b7d17 --- /dev/null +++ b/wiki/help/howtos/common/external.rst @@ -0,0 +1,178 @@ +help/howtos/common/external +=========================== +.. _External: + +External +======== + +.. figure:: /screenshots/118.jpg + :alt: external menuconfig page + + external menuconfig page + +Entstanden aus diesem Thread im IPPF: +`​http://www.ip-phone-forum.de/showthread.php?t=160920 `__ + +| Mit "External" kann dem Platzproblem im Flash der Fritzboxen + entgegengewirkt werden, man kann also ein größeres Image als das Flash + zulassen würde installieren. Hierzu werden Packages, Librarys als auch + benutzerdefinierte Dateien aus dem Image "externalisiert" oder + ausgelagert. Bei Boxen mit USB-Host bietet sich hierzu ein + angeschlossener USB-Stick an. Bei älteren Boxen können unter + Zuhilfenahme des + `Downloader-CGIs <../../../packages/downloader.html>`__ die Dateien + von einem FTP- oder HTTP-Server in den RAM nachgeladen werden. + Alternativ können die Dateien auch per + `autofs <../../../packages/autofs.html>`__ eingebunden werden. +| Mit External kann man die Meldung `Filesystem image too + big <../../../FAQ.html#Filesystemimagetoobig>`__ vermeiden. + +| |/!\\| Der Pfad zu den external-Dateien kann im Webinterface unter + Freetz → Einstellungen → external konfiguriert werden. + +In diesem dürfen sich keine andere Dateien befinden, dies könnte zu +`​Fehlern `__ +führen. + +| |/!\\| Es können nur Pakete ausgelagert werden, die zur Installation + ausgewählt wurden. + +.. _Konfiguration: + +Konfiguration +============= + +zu finden im menuconfig unter "Advanced Options" → "External" + +.. _PreparefilesforDownloader: + +Prepare files for Downloader +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Diese Option ist nur zu sehen, wenn das Downloader-CGI zur + Installation ausgewählt wurde. +| Es werden hiermit beim make-Prozess Pakete für den späteren + `Download <../../../Download.html>`__ erstellt. +| Näheres hierzu beim + `Downloader-CGI <../../../packages/downloader.html>`__. + +.. _Keepsubdirectories: + +Keep subdirectories +~~~~~~~~~~~~~~~~~~~ + +Die Verzeichnisstruktur der ausgelagerten Dateien wird beibehalten. Dies +hat den Vorteil dass eine gleichlautende Datei an verschiedenen Stellen +im Image ausgelagert werden kann. Ein Nachteil ist, dass das händische +Kopieren auf die Box umständlicher ist. + +.. _Createfileforupload: + +Create file for upload +~~~~~~~~~~~~~~~~~~~~~~ + +Alle ausgelagerten Dateien werden in eine Datei gepackt, die mittels +Freetz-Webinterface auf die Box geladen werden kann. Die Datei ist im +Verzeichnis .\ *image* zu finden und trägt den gleiche Namen wie das +erstellte Image, weist aber die Endung ".external" auf. + +.. _ownfiles: + +own files +~~~~~~~~~ + +Hier können noch zusätzliche Dateien zum auslagern angegeben werden. Es +ist der Pfad auf der Fritzbox anzugeben! Wenn es mehr als eine Datei +ist, sind diese mit einem Leerzeichen voneinander zu trennen. + +.. _Auswahl: + +Auswahl +======= + +packages +~~~~~~~~ + +Hier können verschiedene "binary-only" Packages zum auslagern ausgewählt +werden. Es sollten alle unproblematisch sein. + +services +~~~~~~~~ + +Hier können verschiedene automatisch startende Packages zum auslagern +ausgewählt werden. + +|/!\\| Diese werden erst geladen wenn der USB-Stick verfügbar ist und +die Option zum automatischen Starten von ausgelagerten Diensten im +Webinterface aktiviert ist. + +libraries +~~~~~~~~~ + +Hier können verschieden Libraries zum auslagern ausgewählt werden. + +|/!\\| Zu beachten ist, dass Programme, die gegen diese gelinkt sind, +erst gestartet werden können, wenn die Datei auf der Box geladen ist. +Also vorher bitte die Abhängigkeiten prüfen. + +.. _Installation: + +Installation +============ + +Die Dateien, die für external ausgewählt wurden, müssen auf der Box +verfügbar gemacht werden. + +Im Falle eines USB-Sticks sollte man bei der Konfiguration die Option +"Create file for upload" auswählen. Die damit erzeugte Datei kann man +über das installierte Freetz Webinterface System" → "Firmware-Update" → +Option "external-Datei hochladen" auf die Box kopieren. + +Wenn man einen FTP/HTTP-Server oder einen NFS-Server verwendet, muß man +selbst dafür sorgen, daß die Box auf die Dateien zugreifen kann. + +.. _AutomatischesstartenstoppenvonDiensten: + +Automatisches starten/stoppen von Diensten +========================================== + +| Dies kann im Webinterface unter ``Einstellungen`` konfiguriert werden. + Dienste die hier eingetragen sind erscheinen im Webinterface nur + solange der Datenträger mit den ausgelagerten Dateien zur Verfügung + steht. +| Ansonsten müssten die Optionen selbsterklärend sein. Hier noch ein + Screenshot davon: + +.. figure:: /screenshots/175.jpg + :alt: external_services + + external_services + +| Unter ``Logdateien`` wird im Webinterface die + ``/var/log/external.log`` angezeigt. +| In dieser bedeutet in den "Waiting" Zeilen jeder Punk, dass 1 Sekunde + gewartet wurde. Falls es also "tausende" Punkte sind, behindert + irgendetwas das saubere hochfahren der Box, vermutlich ein Timer in + der rc.custom oder debug.cfg. + +.. _Firmware-build-ProzessundUpdate: + +Firmware-build-Prozess und Update +================================= + +Beim Firmware-build werden zwei Dateien erzeugt: xxx.image → die +eigentliche Firmware-Image xxx.external → Die Dateien, die +externalisiert werden sollen + +Beide Dateien sind im Ordner [images] zu finden. Bei der external-Datei +handelt es sich um eine gepackte tar-Datei, die beim Upload übers +Freetz-Webinterface automatisch ins Zielverzeichnis entpackt wird. Es +wird empfohlen, erst die external hochzuladen [Freetz-WebIf → System → +Firmware-Update] und danach erst die Firmware. So stehen die +external-Pakete der aktualisierten Firmware schon zur Verfügung. + +- Tags +- `external `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/first_trunk.rst b/wiki/help/howtos/common/first_trunk.rst new file mode 100644 index 0000000..e01bdb1 --- /dev/null +++ b/wiki/help/howtos/common/first_trunk.rst @@ -0,0 +1,515 @@ +help/howtos/common/first_trunk +============================== +.. _Wiebaueichmeinenerstentrunk: + +Wie baue ich meinen ersten trunk ? +================================== + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Beschreibung für ein Trunk-Image inkl. Samba und + VSFTP `__ +#. `Trunk-Image bauen `__ + + #. `Samba einrichten `__ + #. `FTP-Freigaben einrichten + (Freetz-Trunk) `__ + #. `Einrichten von + Benutzern `__ + #. `Rechtevergabe für + FTP-User `__ + +#. `Image für einen Speedport + bauen `__ + + #. `Welche Speedports lassen sich mit Freetz + modifizieren? `__ + #. `Umbau eines W701V `__ + #. `Umbau eines W501V `__ + #. `Umbau eines W920V `__ + +| + +.. _BeschreibungfüreinTrunk-Imageinkl.SambaundVSFTP: + +Beschreibung für ein Trunk-Image inkl. Samba und VSFTP +------------------------------------------------------ + +| Diese Anweisung ist für alle die geschrieben die zum ersten Mal Ihre + Fritzbox mit einem FREETZ-Trunk (Entwickler-Version) modifizieren + wollen. + +.. _Trunk-Imagebauen: + +Trunk-Image bauen +----------------- + +Das Vorgehen um ein Trunk-Image zu bauen stimmt bis zum Punkt **Freetz +Sourcen auschecken** mit den Schritten aus dem +`Newbie-Tutorial `__ überein. Deshalb steigt diese +Anleitung erst an dieser Stelle ein. Falls ihr euch unsicher seid, dann +geht das Tutorial nochmal bis zu `dieser +Stelle `__ durch. + +| Der Befehl zum Auschecken sieht nun etwas anders aus. Folgender Befehl + ist jetzt einzugeben: + +.. code:: wiki + + svn checkout http://svn.freetz.org/trunk freetz-trunk + +| +| Sollte dies nicht starten, so kann es sein das die Netzwerkverbindung + nicht funktioniert. In diesem Fall sollte ein **ping 192.168.XXX.1** + über die Konsole Aufschluss geben, ob die Netzwerkverbindung + funktioniert. Nun sollten die Freetz Quellen runtergeladen werden. + Danach wechselt man in das Freetz Verzeichnis mit **cd freetz-trunk** + und gibt dann ein **make menuconfig** ein. + +.. figure:: /screenshots/72.png + :alt: auschecken von Freetz + + auschecken von Freetz + +| Nach dieser Eingabe solltet Ihr folgendes Bild sehen: + +.. figure:: /screenshots/73.png + :alt: menuconfig + + menuconfig + +| Dies ist wieder die Konfigurations-Oberfläche des Freetz-Buildsystems. + Dort wählt ihr den jeweiligen Router und die gewünschten Pakete aus. + Für dieses HowTo haben wir beispielhaft die 7270_v2 gewählt. Als + erstes aktivieren wir die erweiterte Ansicht (**Level of user + competence**\ →\ **Advanced**) auf der ersten Seite. Danach sollten in + einem Freetz-Image folgende Patches ausgewählt werden: +| **Unter Firmware language:** + +- Auswählen ob ihr eine Firmware de oder en Firmware erstellen wollt. + (Achtung: Die Auswahl muss zur vorhandenen Box passen.) + +| **Unter Other patches:** + +- **FREETZMOUNT** +- **Automount Filesystems** + + - **NTFS** + +| **Unter Removal patches** + +- **Remove ftpd (NEW)** (ein FTP-Programm auf der Box reicht) + +.. figure:: /screenshots/187.png + :alt: Patches + + Patches + +| **Unter Packages/Standard packages:** + +- **Samba suite** (Server der den Zugriff auf die USB Medien an der FB + von Windows erlaubt). Die Haken bei den beiden Unterpunkten von Samba + smbd und nmbd müssen gesetzt werden. +- **VSFTP** (FTP-Server). Hier bitte keine weiteren Haken bei den + Unterpunkten setzen. + +.. figure:: /screenshots/186.png + :alt: Patch : SAMB und VSFTP + + Patch : SAMB und VSFTP + +| **Unter Packages/ Web interfaces:** + +- **AVM-firewall** (Web-Oberfläche zum Administrieren der von AVM dem + User vorenthaltene integrierten Firewall) +- **spindown-cgi 0.2** +- **Syslogd CGI 0.2.3** + +.. figure:: /screenshots/185.png + :alt: Patche : Web interfaces + + Patche : Web interfaces + +| **Unter Web Interface:** + +- **Favicons (none) —→** einen Favicon auswählen. (Das ist das Bild was + als Lesezeichen im Browser angezeigt wird) + +.. figure:: /screenshots/188.png + :alt: Patch : Advanced options + + Patch : Advanced options + +.. figure:: /screenshots/228.png + :alt: + +| Weitere Pakete und Patches incl. der Beschreibungen findet ihr auf der + `Paketseite <../../../packages.html>`__ +| Nachdem alle Pakete und Patches ausgewählt sind, beendet man die + Konfiguration und gibt auf der Kommandozeile der Shell Konsole + **make** ein. Nun solltet ihr ein solches Bild sehen: + +.. figure:: /screenshots/189.png + :alt: make ausführen + + make ausführen + +| Nun startet wieder der Erstellungsvorgang. Der Ablauf ist identisch + zum ersten Image. Das erstellte Image wird wiederum im Unterordner + **images** des Freetz Verzeichnisses abgelegt. +| Die Abschlussmeldung sieht wie folgt aus: + +.. figure:: /screenshots/190.png + :alt: make ist fertig + + make ist fertig + +| +| Die Schritte **Image auf den PC kopieren** und Flash-Vorgang sind + wieder identisch zum `Newbie-Tutorial `__. + +.. _Sambaeinrichten: + +Samba einrichten +~~~~~~~~~~~~~~~~ + +Samba muß zunächst eingerichtet werden. Hierfür geht man auf +**Pakete/Samba**. Starttyp auf **automatisch** stellen und Netbios Name +vergeben. Wichtig ist der Haken bei **Bevorzugter Master**, weil er den +Standard Samba-Server der FritzBox ersetzt. + +.. figure:: /screenshots/192.jpg + :alt: Freetz-WebIF + + Freetz-WebIF + +| +| Den Rest kann man so lassen und klickt auf **Samba Freigaben**. + +.. figure:: /screenshots/193.jpg + :alt: Freetz-WebIF + + Freetz-WebIF + +| Wir haben hier nun 2 Freigaben auf der USB-HDD der FB beispielhaft + erstellt, ein für **Gast** und die zweite für **Familie**. Hier eine + kurze Beschreibung der Parameter anhand der ersten Freigabe: + + | **/var/media/ftp/uStor01** dies ist der interner Pfad auf die + Festplatte + | **/Videos** das ist das Freigegebenes Verzeichnis + | **hdd1** Name der Freigabe der in der Windows-Netzwerkumgebung als + Freigabe angezeigt wird. + | **1** Gast-Zugang erlaubt, kein Benutzername und Passwort nötig + | **0** Schreib-Lesezugriff aktiviert + | **-** Grund für das - ????? (Muß rein, Begründung folgt !) + | **Videos** Kommentar + +**Beispiel:** + +.. code:: wiki + + /var/media/ftp/uStor01/Videos hdd1 1 0 - Videos + +| Da wir als Netbiosname **fritz** vergeben hatte, lautet der Zugriff + von Windows auf die Freigabe +| fritz\hdd1 . +| Jetzt noch unter **Dienste** den Samba Server starten und dann sollte + es funktionieren. + +.. _FTP-FreigabeneinrichtenFreetz-Trunk: + +FTP-Freigaben einrichten (Freetz-Trunk) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| **Achtung! Diese Beschreibung beruht auf einem Trunk-Image. + FTP-Freigaben für Freetz-1.1.x-Images werden später erklärt** +| Als erstes muss eine Order-Struktur auf der USB-Platte erzeugt werden. + Dazu einfach euren USB-Stick oder Festplatte im Fat32 formatieren + (NTFS würde auch gehen wird hier aber nicht näher beschrieben). +| Eure Platte sollte dann wie folgt aussehen : + +.. figure:: /screenshots/81.jpg + :alt: + +| Wenn das der Fall sein sollte könnt ihr den Stick (wir gehen im + weiteren Verlauf dieser Beschreibung von einem Stick aus) an eure + FritzBox stecken. +| Nun wird, wenn noch nicht unter der Samba-Einrichtung erfolgt, die + AVM-Lösungen von FTP abgeschaltet: + +- fritz.box → Einstellungen → Erweiterte Einstellungen → USB-Geräte → + USB-Speicher(Speicher(NAS) +- USB-Speicher FTP-Zugriff aktivieren → Häkchen weg +- USB-Netzwerkspeicher aktivieren → Häkchen weg + +Das sollte nun so aussehen: + +.. figure:: /screenshots/82.jpg + :alt: + +| Nun wechseln wir ins Freetz-Interface: + `​http://fritz.box:81/ `__ und geben dort unter + : —> Dienste —> vsftp folgende Sachen ein: + +- Starttyp : Automatisch +- Zugriff : Haken setzen bei **Lokale Benutzer** und **chroot jail** + (alle anderen Haken raus) +- Zusätzliche Konfigurationsoptionen (für Experten) : + **user_config_dir=/var/media/ftp/uStor01/vsftp_user_conf** +- Logging : **/var/media/ftp/uStor01/vsftpd.log** (kann man aktivieren, + muß man aber nicht). + +| +| Die ganzen Eingaben sollten nun mit dem Drücken des Button + **Übernehmen** übernommen werden. Das sollte dann wie folgt aussehen: + +.. figure:: /screenshots/194.jpg + :alt: Freetz-WebIF + + Freetz-WebIF + +.. figure:: /screenshots/84.jpg + :alt: + +Nun wenden wir uns der AVM-Firewall zu: + +- [—>Pakete —> AVM-Firewall und dort den Pkt. Forwarding). Hier muß + noch der FTP-Port freigegeben werden (siehe Bilder). + +.. figure:: /screenshots/85.jpg + :alt: + +Nach eingabe der Zahlen (siehe Oben) einfach auf **Hinzufügen** drücken +und das Ergenbins sollte wie Folgt aussehen: + +.. figure:: /screenshots/86.jpg + :alt: + +| Um diese Einstellung nun endgültig zu speichern einfach den Haken + (Blinkendes Kästchen) setzen und den Reeboot der Box abwarten. +| Nachdem die Box nun wieder gestartet ist öffnen wir nochmals in der + Freetz-Weboberfläche den Reiter **Dienste** und aktivieren den Dienst + **telnetd**. Dieser muß gestartet sein um im nächsten Schritt dieser + Anweisung die FTP-User einrichten zu können. Es wird nicht empfohlen + diesen Dienst auf automatisch zu setzen sondern ihn bei Bedarf manuell + zu starten. +| Nun verlassen wir für's erste die Web-Oberfläche und nähern uns der + Kommandozeilenebene der FritzBox ! Dazu benötigen wir als erstes das + Programm `​Putty `__ welches wir uns aus + dem Netz laden und auf dem PC installieren. Dieser Schritt ist nur für + Windows-User nötig. Linux-User können eine Telnet-Sitzung wie gewohnt + starten. +| Putty kann man hier als Freeware laden + :`​Download `__ und wird wie folgt + eingestellt: + +.. figure:: /screenshots/87.jpg + :alt: + +Nach drücken von **Open** und Eingabe folgender Daten **login:root** und +**Password:freetz** solltet ihr folgendes Bild sehen: + +.. figure:: /screenshots/88.jpg + :alt: + +| + +.. _EinrichtenvonBenutzern: + +Einrichten von Benutzern +~~~~~~~~~~~~~~~~~~~~~~~~ + +| Der Befehl ist wie folgt aufgebaut: + ``adduser -h '''Verzeichnis''' '''Benutzername'''`` + + | **Verzeichnis**: Ordner auf dem Stick, der dem Benutzer zugeordnet + werden soll, z.B. **/var/media/ftp/uStor01/** + | **Benutzername**: Name des Benutzers + +| Beim Erstellen des Benutzers wird danach gleich das Passwort + abgefragt. Dieses muss zweimal eingegeben werden, und es wird dabei + nichts am Bildschirm angezeigt, auch keine Sterne. +| Erzeugen wollen wir nun einen User **Paul** und eine Userin **Mary** + welche auf die Ordner **hdd1**\ (Paul) und **hdd2**\ (Mary) (siehe + Samba) FTP-Zugriff erhalten sollen. Weiterhin wird hier ein User + **Gast** mit nur Leserechten auf dem Ordner **hdd1** erzeugt. +| Hierzu werden nun folgende Befehle in Putty eingegeben (Bitte auf Groß + und Kleinschreibung achten): + +.. code:: wiki + + /var/mod/root # adduser -h /var/media/ftp/uStor01/hdd1 paul + adduser: /var/media/ftp/uStor01/hdd1: Operation not permitted + Changing password for paul + New password: + Bad password: too short + Retype password: + Password for paul changed by root + +| Die Meldung ``Operation not permitted`` kommt, wenn es sich um ein + Dateisystem mit FAT oder NTFS handelt. +| Das selbe machen wir nun nochmals für Marry und Gast: + +.. code:: wiki + + adduser -h /var/media/ftp/uStor01/hdd2 mary + adduser -h /var/media/ftp/uStor01/hdd1 gast + +| Wenn man das Paßwort ändern will, verwendet man dazu den Befehl + ``passwd``\ **``Benutzername``**. Man wird dann wieder zweimal nach + dem neuen Paßwort gefragt. +| Einen Benutzer löschen kann man mit dem Befehl + ``deluser``\ **``Benutzername``**. +| In jedem Fall müssen die Änderungen mit dem Befehl **modsave all** + wieder gespeichert werden. +| Anzeigen kann man die Datei mit dem Befehl **cat /var/tmp/passwd**. +| Anzeigen und Ändern ist auch möglich über die + `Rudi-Shell <../../../packages/rudi-shell.html>`__ von Freetz. Diese + ist nur verfügbar, wenn die + `Sicherheitsstufe <../../../FAQ.html#KonfigurationinderaktuellenSicherheitsstufenichtverf%C3%BCgbar>`__ + auf 0 gesetzt ist. +| Wenn alles Richtig gelaufen ist, sollte folgendes in der passwd + stehen: + +.. code:: wiki + + root:x:0:0:root:/mod/root:/bin/sh + ftp:x:2:1:FTP account:/home/ftp:/bin/sh + ftpuser:x:1:1:ftp user:/var/media/ftp:/bin/sh + paul:x:1000:1000:Linux User,,,:/var/media/ftp/uStor01/hdd1:/bin/sh + mary:x:1001:1001:Linux User,,,:/var/media/ftp/uStor01/hdd2:/bin/sh + gast:x:1002:1002:Linux User,,,:/var/media/ftp/uStor01/hdd1:/bin/sh + +| Nun melden wir uns noch mit folgendem Befehl von der Putty Konsole ab: + +.. code:: wiki + + exit + +| + +.. _RechtevergabefürFTP-User: + +Rechtevergabe für FTP-User +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | Ob ein Neuer FTP-User Schreibrechte erhalten soll oder nur lesen + können soll wird wie folgt geregelt: + | Jeder Benutzer erhält eine Datei mit seinem Dateinamen im Ordner + **/var/media/ftp/uStor01/vsftp_user_conf/**, die festlegt, ob er + Schreibrechte hat oder nicht. + +Inhalt der Datei : + + | **write_enable=yes**\ (User hat Schreibrechte / siehe Paul und + Mary) + | **write_enable=no**\ (User hat **keine** Schreibrechte / siehe + Gast) + +Über diese Benutzerdateien ist es auch möglich einzelne FTP-Befehle +(`​Liste `__) für +Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein +und entfernt die Befehle die der User nicht ausführen darf: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +**Beispiel:** Mary darf Dateien auf den FTP kopieren und Verzeichnisse +anlegen, jedoch diese nicht wieder löschen. Also muß folgendes in der +Datei stehen: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +.. + + | **DELE** (Delete file), **RMD** (Remove a directory) wurden aus dem + oben angegebenen String gelöscht. + | Sollte etwas immer noch nicht gehen, dann den Router einfach + nochmal neu starten. + +| + +.. _ImagefüreinenSpeedportbauen: + +Image für einen Speedport bauen +------------------------------- + +Speedports lassen sich aufgrund einer Software-Sperre leider nicht per +AVM-Webinterface flashen. Nutze die Freetz-Tools recover-eva oder +push_firmware oder die GUI-Programme aus dem Forum wie z.B das +`​ruKernelTool `__. +Dieses funktioniert sehr gut und ist einfach in der Bedienung. + +.. _WelcheSpeedportslassensichmitFreetzmodifizieren: + +Welche Speedports lassen sich mit Freetz modifizieren? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- `W501V `__ +- `W701V `__ +- `W900V `__ +- `W920V `__ + +.. _UmbaueinesW701V: + +Umbau eines W701V +~~~~~~~~~~~~~~~~~ + +| 1.) Freetz-Linux wie es oben beschrieben ist starten +| 2.) Wir arbeiten alle Schritte ab wie im `HowTo `__ + beschrieben, jedoch bei Boxtyp wählen wir die 7170 und stellen unter + Alien hardware type den W701V aus. + +.. figure:: /screenshots/196.png + :alt: Speedport_Trunk_2 + + Speedport_Trunk_2 + +.. figure:: /screenshots/197.png + :alt: Speedport_Trunk_3 + + Speedport_Trunk_3 + +| 3.) Samba und VSFTP bringen nur was bei einem W920V (7570), da dieser + einen USB-Port hat. Alle anderen Schritte in dem + `HowTo `__ passen jedoch auch bei einem Speedport. +| 4.) Das erstellte Image sollte sich als normales FW-Update in die Box + laden lassen. Sollte die Box den Update verweigern (war bei meinem + W701V der Fall) bleibt Euch nur der Weg über das + `​ruKernelTool `__. + Dann sind jedoch alle Zugangsdaten sowie alle Einstellungen verloren. + Die Box macht in diesem Fall quasi einen Werksreset. +| **Ergebnis:** + +.. figure:: /screenshots/195.png + :alt: Speedport_Trunk_1 + + Speedport_Trunk_1 + +.. _UmbaueinesW501V: + +Umbau eines W501V +~~~~~~~~~~~~~~~~~ + +Der W501V läßt sich direkt als Boxtyp auswählen + +.. _UmbaueinesW920V: + +Umbau eines W920V +~~~~~~~~~~~~~~~~~ + +| Boxtyp: 7570 VDSL +| Alientyp: W920V + +.. figure:: /screenshots/198.png + :alt: Speedport_Trunk_4 + + Speedport_Trunk_4 + +- Tags +- `howtos `__ diff --git a/wiki/help/howtos/common/freetz_linux.rst b/wiki/help/howtos/common/freetz_linux.rst new file mode 100644 index 0000000..1d2b0b3 --- /dev/null +++ b/wiki/help/howtos/common/freetz_linux.rst @@ -0,0 +1,235 @@ +help/howtos/common/freetz_linux +=============================== +.. _FreetzLinux: + +Freetz Linux +============ + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Freetz Linux unter + VirtualBox `__ +#. `Freetz Linux unter + VMWare `__ + + #. `Freetz Linux unter VMware ESXi V4.1 Hypervisor (funktioniert auch + mit + … `__ + #. `Freetz Linux unter VMware Player + V2.5 `__ + +#. `Freetz Linux unter Virtual + PC `__ + +.. _FreetzLinuxunterVirtualBox: + +Freetz Linux unter VirtualBox +----------------------------- + +| 1.) VirtualBox starten, Datei → Appliance importieren auswählen und + dem Dialog folgen. Als Image die gerade runtergeladene freetz-linux + Datei angeben. +| 2.) Der Import dauert einen Augenblick. Danach noch mit **Ändern** die + Einstellungen kontrollieren. + +.. _FreetzLinuxunterVMWare: + +Freetz Linux unter VMWare +------------------------- + +| Je nach dem, in welchem VMware Produkt Freetz Linux nachher laufen + soll, habe ich zwei Wege ausprobiert. Folgende Tools sind dabei + hilfreich (aber nicht alle für beide Wege notwendig): + +- `​Freetz-Linux `__ + selbst +- `​Virtualbox `__ +- `​VMWare OVF Tool `__ +- `​Notepad++ `__ als guter Editor +- `​VMware vCenter Converter + standalone `__ + +.. _FreetzLinuxunterVMwareESXiV4.1HypervisorfunktioniertauchmitvSphereHypervisor5.5: + +Freetz Linux unter VMware ESXi V4.1 Hypervisor (funktioniert auch mit vSphere Hypervisor 5.5) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) VirtualBox starten, Datei → Appliance importieren auswählen und + dem Dialog folgen … +| 2.) Der Import dauert einen Augenblick. Danach Datei → Appliance + exportieren auswählen und dem Dialog folgen +| → Speicherort und Dateinamen wählen. Dabei die Dateiendung von \*.ova + in \*.ovf abändern. +| Die OVF Version sollte auf 1.0 eingestellt werden. +| 3.) Die unter anderem enstandene \*.ovf Datei in einen Texteditor + laden +| 4.) virtualbox-2.2 + abändern in vmx-07 + und die \*.ovf Datei speichern +| → vmx-07 tituliert VM Version 7 (z.B. für ESXi V4.1), ältere VM + Versionen sollten mit vmx-04 zurecht kommen +| 5.) vSphere Client starten, zum ESXi Hypervisor verbinden. +| 6.) Datei → OVF-Vorlage bereitstellen. Dem Dialog folgen und + gewünschte Einstellungen machen. Importvorgang abwarten. +| 7a.) Virtuelle Maschine starten. +| 7b.) Wer beim Systemstart einen Segmentation Fault Fehler bekommt: +| → VM ausschalten, in den Optionen der VM-Einstellungen + Paravirtualisierung aktivieren und die VM erneut starten. + +.. _FreetzLinuxunterVMwarePlayerV2.5: + +Freetz Linux unter VMware Player V2.5 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) VirtualBox starten, Datei → Appliance importieren auswählen und + dem Dialog folgen … +| 2.) Der Import dauert einen Augenblick. Danach Datei → Appliance + exportieren auswählen und dem Dialog folgen +| → Speicherort und Dateinamen wählen. Dabei die Dateiendung von \*.ova + in \*.ovf abändern. +| 3.) Die unter anderem enstandene \*.ovf Datei in einen Texteditor + laden +| 4.) virtualbox-2.2 + abändern in vmx-07 + und die \*.ovf Datei speichern +| → vmx-07 tituliert VM Version 7 (z.B. für ESXi V4.1), ältere VM + Versionen sollten mit vmx-04 zurecht kommen +| 5.) Kommandozeile öffnen (Windows: Start → Ausführen → cmd [ENTER]) +| 6.) In das OVFTool Verzeichnis wechseln und die VM wie folgt + konvertieren +| → ovftool [*.ovf Datei] [*.vmx Datei] +| 7.) VMware Player starten und die VM laden. + +| Die in Szenario 2 erzeugte \*.vmx Datei kann ebenfalls genutzt werden + auf dem ESXi Hypervisor und manuell über den Datenspeicherbrowser in + die Bestandsliste aufgenommen werden. Dabei bitte den oben erwähnten + Hinweis zum Segmentation Fault berücksichtigen. +| Evtl. ist die Erzeugung der \*.vmx und \*.vmdk Dateien sowieso + sinnvoll, um sich das konvertierte Freetz-Linux so wegspeichern zu + können. + +| Zur Information: +| Den oben aufgeführten VMware vCenter Converter standalone habe ich nur + einmal bei einem ESXi Hypervisor benutzen müssen, da keiner der beiden + beschriebenen Wege funktioniert hat. + +Und noch ein paar Screenshots passend zu den Hinweisen oben: + +.. figure:: /screenshots/222.jpg + :alt: convert command line + + convert command line + +| + +.. figure:: /screenshots/223.jpg + :alt: + +| + +.. figure:: /screenshots/224.jpg + :alt: + +| + +.. figure:: /screenshots/225.jpg + :alt: + +| + +.. _FreetzLinuxunterVirtualPC: + +Freetz Linux unter Virtual PC +----------------------------- + +| Getestet habe ich unter Windows XP x86 mit Virtual PC 2007 sowie + Windows 7 x86_64 Windows Virtual PC. +| Folgende Tools sind dabei hilfreich: + +- `​Freetz-Linux `__ + selbst +- `​Virtualbox `__ +- `​Virtual PC + 2007 `__ + (für Windows XP +- `​Windows Virtual + PC `__ (für Windows 7 … + XP-Mode nicht erforderlich) + +| 1a.) VirtualBox starten, Datei → Appliance importieren auswählen und + dem Dialog folgen … Der Import dauert einen Augenblick. +| 1b.) VirtualBox beenden +| 2.) Folgende Kommandos absetzen, um die zwei Festplatten zu + kovertieren: +| → VBoxManage.exe clonehd freetz-linux-1.2.1-disk1.vmdk freetz.vhd + —format VHD +| → VBoxManage.exe clonehd freetz-linux-1.2.1-disk2.vmdk freetz2.vhd + —format VHD +| 3a.) Virtual PC starten und einen neuen virtuellen Computer anlegen + (Details siehe Screenshot). +| 3b.) Den neuen virtuellen PC starten. +| 4.) Höchstwahrscheinlich wird die Grafikauflösung etc. nicht + ordentlich erkannt (siehe Screenshot). Wenn dem so ist, weiter bei 5. +| 5.) Virtuelle Maschine neu starten (Tastenkombination [Alt GR]+[ENTF]) +| 6.) Während der Bootmanager Grub aktiv ist, [ESC] drücken, um ins Menu + zu gelangen. +| 7a.) Taste [e] drücken beim ersten Menueintrag. Nochmal Taste [e] + drücken bei den Kernel Bootparametern. +| → Folgende Bootoptionen hinzufügen: vga=791 noreplace-paravirt +| 7b.) [RETURN] drücken +| 7c.) [b] drücken, um Ubuntu zu starten +| 8.) Daraufhin sollte der gewohnte Ubuntu Bildschirm erscheinen und + Freetz-Linux bis zum Konsolenlogin starten +| 9.) Die manuellen Eingaben nun festigen in der Grub Konfiguration. + Folgendes Kommando absetzen: +| → sudo nano /boot/grub/menu.lst +| → Recht weit unten in der Datei die Optionen ergänzen, die beim ersten + Booten benutzt wurden +| → Mit [STRG]+[O] speichern und [STRG]+[X] beenden +| 10.) Virtuelle Maschine neu starten, um zu sehen, ob die Werte fest + übernommen wurden. + +| Und noch ein paar Screenshots passend zu den Hinweisen oben: + +.. figure:: /screenshots/230.jpg + :alt: vpc2007_convert.jpg + + vpc2007_convert.jpg + +| + +.. figure:: /screenshots/233.jpg + :alt: vpc2007_params.jpg + + vpc2007_params.jpg + +| + +.. figure:: /screenshots/234.jpg + :alt: vpc2007_wrong_graphic.jpg + + vpc2007_wrong_graphic.jpg + +| + +.. figure:: /screenshots/232.jpg + :alt: vpc2007_kernel_boot_params.jpg + + vpc2007_kernel_boot_params.jpg + +| + +.. figure:: /screenshots/231.jpg + :alt: vpc2007_freetz_linux.jpg + + vpc2007_freetz_linux.jpg + +| + +.. figure:: /screenshots/235.jpg + :alt: vpc2007_grub.jpg + + vpc2007_grub.jpg + +| diff --git a/wiki/help/howtos/common/install.en.rst b/wiki/help/howtos/common/install.en.rst new file mode 100644 index 0000000..bc5cb6b --- /dev/null +++ b/wiki/help/howtos/common/install.en.rst @@ -0,0 +1,687 @@ +help/howtos/common/install.en +============================= +Index +^^^^^ + +#. `Installation `__ + + #. `Virtual LINUX: FriBoLi / StinkyLinux / + Freetz-Linux `__ + + #. `Preparation `__ + #. `Execution `__ + + #. `Linux `__ + + #. `Notwendige Pakete `__ + + #. `freetz-1.0 `__ + + #. `freetz-1.3 `__ + + #. `aktuelle Entwicker Version und spezielle + Pakete `__ + #. `alte Entwicker + Versionen `__ + + #. `Installation der benötigten + Pakete `__ + #. `Erstellung & + Installation `__ + + #. `coLinux / andLinux / + speedLinux `__ + #. `Cygwin `__ + #. `Mac OS X `__ + +#. `Aktualisierung `__ +#. `Troubleshooting `__ + + #. `AVM Firmware wird nicht + gefunden `__ + #. `Image too big `__ + #. `Sonstige Probleme oder + Fehlermeldungen `__ + +#. `Weiterführende Links `__ +#. `Konfiguration `__ + + #. `General `__ + #. `Brandings `__ + #. `Mod `__ + +.. _Installation: + +Installation +============ + +`Freetz <../../../freetz.html>`__ provides some scripts for modifying an +original firmware. Because of license issues the distribution of +original or modified firmware images is forbidden. + +|/!\\| the installation of a modified firmware invalidates the +manufacturer's warranty! In case of problems, do NOT contact AVM +support. |/!\\| + +**Speedports**: (see +`​sp2fritz `__). +From scriptversion 2.2.2008 the use of speed2fritz is possible. + +**Newbies**: Please read '`Freetz for Beginners `__' first! + +.. _VirtualLINUX:FriBoLiStinkyLinuxFreetz-Linux: + +Virtual LINUX: FriBoLi / StinkyLinux / Freetz-Linux +--------------------------------------------------- + +`​StinkyLinux `__ +(formerly FriBoLi) is a virtual Linux operating system for building +FritzBox firmware images on Windows. Unfortunately, support for +StinkyLinux was discontinued some time ago. This means it cannot be used +for freetz anymore without hassle with updates. + +Because of that, a new build environment +`​Freetz-Linux `__ +was created by Silent-Tears (cinereous), who also maintains it. The use +of this environment is strongly recommended if no native linux can be +used. + +The following instructions were initially adopted from +`​Saphir `__ , but +have grown over time and were completed and/or edited by many different +users. We try to keep these up-to-date and adapt it to the current +versions of VM and freetz. However, the steps below can (with some minor +limitations) be used for every freetz-VM. + +.. _Preparation: + +Preparation +~~~~~~~~~~~ + +See also: + +`​Installing +Freetz-Linux `__ + +`​Installing +StinkyLinux `__ +(!!!obsolete!!!) + +`​Installing Freetz and +Speed-to-Fritz `__ +(SpeedPort users only) + +`​StinkyLinux +Homepage `__ +(Attention! instructions and images there are out of date!) + +.. _Execution: + +Execution +~~~~~~~~~ + +#. Needed files: + + - `​VMware + Player `__ + - `​Freetz-Linux `__: + Image for VMWare Player or StinkyLinux: Image for VMWare Player + (StinkyLinux-v1.06.7z), + (`Download <../../../Download.html>`__-Source: + `​Mirrors `__) + - Freetz, (`Download <../../../Download.html>`__-Source: + `Downloadseite <../../../Download.html>`__) + - optional patches for freetz, (Quelle: `​Freetz + Forum `__) + +#. Unpack + `​Freetz-Linux `__ + under Windows using + `​7-Zip `__ or + `​WinRAR `__ . +#. Run VMWare Player. Leave all settings as they are; the Player will be + able to connect to the Internet by itself. If not, you can set up + internet access manually like so: + + .. code:: wiki + + ifconfig eth0 192.168.178.xx netmask 255.255.255.0 broadcast 192.168.178.255 + + (where ``eth0`` might have to be replaced with your configured + network interface. **"ifconfig -a"** will list all network interfaces + available to your virtual machine.) + +#. In VMWare Player, log on as user **freetz** with password **freetz**. + From here, there are several ways to work with Freetz-Linux and to + exchange files between Freetz-Linux and the rest of the world. One + might work on Freetz-Linux' console, for example. + + - **SSH/SCP**: One might also connect to the VM using an SSH/SCP + connection. Windows clients include + `​putty `__ + and `​WinSCP `__. + Enter the VM's hostname (or IP-Address) under "Server name". For + "name" and "password" please use the credentials indicated above. + - **SAMBA**: It is also possible to exchange data between Windows + and Freetz-Linux via SAMBA. To do that, enter " + Freetz-Linux" or " + Freetz-Linuxs-IP-Address" in Explorer's address bar and you get a + listing of files and folders present in your VM. Then, you can + move and copy them around as usual. + All those connection options have been pre-set in Freetz-Linux and + should work out-of-the-box. If problems occur, please verify your + network connection(s), and your firewall settings (if applicable). + Also, don't forget to verify VMWare Player's network connection + settings. By default, VMWare Player uses **Bridged Mode**. To + start with, run ``ping `` inside + Command Prompt. + +#. Depending on your preferred choice, you proceed with one of the + following: + + - **SSH/TELNET**: (the preferred method) + + .. code:: wiki + + svn co http://svn.freetz.org/tags/freetz-1.1.x freetz-1.1.x + +You can replace ``freetz-1.1.x`` with any other valid tag, or use the +development ``/trunk`` if you wish. + +#. *Optional*: Apply patch(es) (see + `Howto <../development/integrate_patches.html>`__) +#. Change into the freetz directory you just checked out (or unpacked + into): + + .. code:: wiki + + cd freetz-*/ + +#. Configure freetz. It is possible to do this using a + `​ncurses `__ interface, the + same one being used to configure the Linux kernel. For a detailed + description, see `menuconfig `__. + + .. code:: wiki + + make menuconfig + +#. Modify firmware. In this step, the original firmware and packages + matching your configuration as well as the necessary build tools are + being downloaded automatically and a new one is being built, + according to your configuration, in three distinct steps. The first + run through will take a little while, so you might want to have some + coffee or tea in the meantime. + + .. code:: wiki + + unset CFLAGS CXXCFLAGS + make + +#. In ``~/freetz-*/images``, you'll find your newly built firmware (e.g. + ``7170_04.76freetz-devel-3790.de_20091021-180742.image``). +#. Upload the image + ``_freetz-devel-VVVV._YYYYMMDD-HHMMSS.image`` + as Firmware Update to your FritzBox. After successful Upload, you can + access a secondary web interface on port 81 of your box, offering + detailed instructions to finalize installation. Should your Box be + unreachable even though INFO-LED stopped flashing several minutes ago + - especially if, in **regular intervals**, all LEDs light up), you + can recover your box' original firmware on most Box types. For + details, see `this Howto <../troubleshoot/recover_firmware.html>`__. + +.. _Linux: + +Linux +----- + +.. _NotwendigePakete: + +Notwendige Pakete +~~~~~~~~~~~~~~~~~ + +Für das Erstellen der Firmware kann auch Knoppix verwendet werden, wozu +keine Linux-Installation erforderlich ist. Wichtig ist, dass zum +Kompilieren des Mods unter Linux keine FAT oder NTFS Partition verwendet +wird. Die folgende Anleitung benötigt für + +freetz-1.0 +^^^^^^^^^^ + +- **gcc** - GNU C Compiler +- **g++** - GNU C++ Compiler +- **binutils** - GNU Assembler, Linker und Binary-Werkzeuge +- **autoconf** - dem Make vorgeschalteter Generator für + Konfigurationsskripten nach GNU-Standard; hilft dabei, + plattformunabhängig programmierte Software letztendlich für einen + plattformspezifischen Build vorzubereiten +- **automake** ab Version 1.10 - Makefile-Generator nach GNU-Standard; + wird nicht für alle DS-Mod-Pakete benötigt, aber z.B. für + `privoxy <../../../packages/privoxy.html>`__; Paketmanager + installiert normalerweise *autoconf* als abhängiges Paket gleich mit +- **automake-1.9** - Version, die zusätzlich speziell von + ``tar-1.15.1`` aus *tools* benötigt wird +- **libtool** - hilft beim Erstellen von statischen und dynamischen + Bibliotheken; kann z.B. beim aufruf von *autoreconf* notwendig werden +- **GNU make** ab Version 3.81 - skriptgesteuertes Build-System +- **bzip2** - (Ent)packen von Software-Archiven +- **libncurses5-dev** - Entwickler-Bibliothek für ncurses (Erzeugung + komfortabler textbasierter Benutzerschnittstellen, vgl. + ``make menuconfig``) +- **zlib1g-dev** - Entwickler-Bibliothek für gzip-Kompression +- **flex** - lex-kompatibler Generator für lexikalische Analyse +- **bison** - YACC-kompatibler Parser-Generator +- **patch** - Programm, um Patches anzuwenden +- **texinfo** - Online-/Druck-Doku aus gemeinsamer Quelle erzeugen +- **tofrodos** - Dateiumwandlung DOS ↔ UNIX (für was wird das + benötigt?) +- **gettext** - Texte in Programmen internationalisieren +- **pkg-config** - Hilfstool welche zum Bauen von Binaries und + Libraries nötig ist; notwendig für Packages ntfs? und + `transmission <../../../packages/transmission.html>`__ +- **ecj-bootstrap** - Eclipse Java Compiler (evtl. auch libecj-java und + ecj in neueren Distributionen); nur notwendig für Package *classpath* + ab 0.95 bzw. ds26-14.5 +- **perl** - Perl-Interpreter; notwendig für ``make recover`` +- **libstring-crc32-perl** - Perl-Modul zur Berechnung von + CRC32-Prüfsummen; notwendig für ``make recover`` +- **intltool** - ``make menuconfig`` + +freetz-1.3 +~~~~~~~~~~ + +- **xz-utils** - (Ent)packen von Software-Archiven im xz-Format + +.. _aktuelleEntwickerVersionundspeziellePakete: + +aktuelle Entwicker Version und spezielle Pakete +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Diese benötigen zusätzlich zu bereits unter *freetz-1.0* genanntem noch +folgende Pakete: + +- **svn** - Subversion zum Auschecken der aktuellen Freetz-Versionen +- **ruby1.8** - objektorientierte Skriptsprache (Version 1.8.6); nur + notwendig für Package *ruby* (ab freetz-devel) - seltsamerweise + benötigt der Crosscompile für *ruby-1.8.6* eine installierte Version + seiner selbst als Voraussetzung. Zu allem Überfluß könnte es sein, + daß Sie im Paket zwar ``/usr/bin/ruby1.8`` o.ä. haben, aber nicht das + vom Makefile benötigte Binary Namens *ruby*. Da hilft im o.g. + Beispiel ``sudo ln -s ruby1.8 /usr/bin/ruby`` bzw. die Ausführung des + ``ln``-Befehls als Benutzer *root*. +- **gawk** - GNU awk; notwendig für das Skript ``tools/extract-images`` + (ab freetz-devel), wenn man z.B. ein Recover-EXE zerlegen, also + *urlader.image* und *kernel.image* extrahieren möchte. Die in anderen + *awk*-Varianten nicht vorhandene Funktion *strtonum* wird an einer + Stelle verwendet. +- **python** - Python-Interpreter; notwendig, um via + ``tools/mklibs.py`` unbenutzte Symbole aus Bibliotheken zu entfernen, + um Platz zu sparen (ab freetz-devel) +- **libusb-dev** - Entwicklungs-Bibliothek für USB-Anwendungen im + Userspace; nur notwendig für SANE, wenn bspw. + Multifunktionsdrucker/-scanner an die FritzBox angebunden werden + sollen. Siehe auch + `​Forums-Beitrag `__ + dazu. +- **realpath** - wird nur von Entwicklern benötigt, die ab ds26-15 + innerhalb von *fwmod* beim Build das Patch-Auto-Fixing verwenden + (AUTO_FIX_PATCHES im Environment). Wer nicht weiß, wovon die Rede + ist, braucht es auch nicht. +- **fastjar** - Implementation des Java jar utils; nur notwendig für + Package *classpath* +- **graphicsmagick** - enthält ``composite`` mit dem Bilder kombiniert + werden können; nur notwendig wenn man das AVM-Webinterface "taggen" + möchte + +.. _alteEntwickerVersionen: + +alte Entwicker Versionen +^^^^^^^^^^^^^^^^^^^^^^^^ + +Hier wird zusätzlich folgendes benötigt: + +- **automake-1.8** - Version, die zusätzlich speziell von *libid3tag* + benötigt wird. Nicht mehr erforderlich ab Freetz 1.0. +- **jikes** - Java Byte Code Compiler; nur notwendig für Package + *classpath* bis 0.93 bzw. ds26-14.4 + +.. _InstallationderbenötigtenPakete: + +Installation der benötigten Pakete +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Eine einfache Möglichkeit die benötigten Pakete zu installieren besteht +darin, diesen Code in der Konsole auszuführen: + +:: + + sudo apt-get -y update + sudo apt-get -y upgrade + sudo apt-get -y dist-upgrade + + # Angepasst z.B. auf Ubuntu 9.04 (kein automake 1.8, "ecj" statt "ecj-bootstrap"): + sudo apt-get -y install imagemagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config jikes ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev + + # Ubuntu 9.10, 10.xx, 11.xx und 12.04 + sudo apt-get -y install imagemagick subversion gcc g++ bzip2 binutils automake patch autoconf libtool pkg-config make libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev + + #Ubuntu 13.04 und 14.04 + sudo apt-get -y install graphicsmagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev + + # Seit Debian Jessie bzw. Ubuntu 15.04 (vivid) wird zusätzlich das Paket libtool-bin benötigt: + sudo apt-get -y install libtool-bin + + # Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren: + sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6 + +.. _ErstellungInstallation: + +Erstellung & Installation +~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Shell öffnen, ins Verzeichnis von ``freetz-//xxx//.tar.bz2`` wechseln + und diesen mit ``tar -xvjf ds-x.y.z.tar.bz2`` entpacken +#. *Optional*: Patch einspielen (siehe + `Howto <../development/integrate_patches.html>`__) +#. Mit ``cd freetz-xxx/`` in das Verzeichnis des entpackten Freetz + wechseln +#. Konfiguration wählen. Dies ist über ein ncurses Interface möglich, + welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. + Details und Beschreibungen zu den Optionen gibt es in der + Beschreibung zum `make menuconfig `__. +#. Firmware modifizieren. In diesem Schritt werden die zu der gewählten + Konfiguration passenden original Firmware und Pakete, sowie Sourcen + für die benötigten Tools vollautomatisch heruntergeladen und die + modifizierte Firmware in drei Schritten erzeugt. Dies erledigt ein + simples ``make``. +#. ``*.image`` als Firmware Update auf die Box hochladen. Nach einem + erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface + verfügbar, welches Instruktionen zum Abschluss der Installation + enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten + nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar + sein (typischerweise leuchten **periodisch** immer wieder alle LEDs + auf), so kann die originale Firmware bei den meisten Box-Typen, wie + in diesem `Howto <../troubleshoot/recover_firmware.html>`__ + beschrieben, wiederhergestellt werden. + +.. _coLinuxandLinuxspeedLinux: + +coLinux / andLinux / speedLinux +------------------------------- + +Siehe auch: `​andlinux unter Vista +installieren `__ + +Alternativ kann auch `​coLinux `__ benutzt werden, +ist etwas resourcenschonender als der vmware player. Mit speedLinux ist +alles vorbereitet für freetz oder speed-to-fritz. Mit ./freetz werden +alle notwendigen Vorbereitungen und Installationen durchgeführt. +aktueller Stand 25.10.2009 + +Anmerkung von Alexander Kriegisch (kriegaex), 24.02.2008: Ja, das +benutze ich auch seit gestern, und zwar speziell die mit Ubuntu Gutsy +und XFCE (wahlweise auch KDE) vorkonfigurierte Variante +`​andLinux `__, die man wahlweise als Dienst +oder als Anwendung starten kann und mit einem einfachen Installer +ausgeliefert wird. Scheint etwas langsamer zu sein als ein reines Linux, +aber es ist schon cool, Linux-Fenster nativ neben Windows-Fenstern zu +haben. *:-)* Der mitgelieferte X-Server Xming (für Windows) macht's +möglich. Ich verwende übrigens nicht mal ein X-Terminal, sondern logge +mich sozusagen "headless" über SSH ein (Putty). Ab und zu lasse ich mal +Synaptic oder als X-Editor SciTE laufen, den ich nachinstalliert habe. +Ich baue gerade sämtliche Freetz-Pakete "from scratch" inkl. +`Download <../../../Download.html>`__, es geht genauso wie in VMware +oder nativem Linux, also Linux-Paketliste siehe oben. + +Nachteile von coLinux/andLinux/speedLinux: + +- bei Multicore-Prozessoren wird nur ein Kern benutzt +- keine 64bit Unterstützung +- gravierende Systemanpassungen (spezieller Kernel, etc) bei Updates + des Systems notwendig. + +Vorteile von coLinux/andLinux/speedLinux: + +- kommt mit weniger RAM aus als VMWare (geringerer Ressourcenbedarf) +- native Windowsfenster + +.. _Cygwin: + +Cygwin +------ + +|/!\\| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für +ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme +geben kann und es außerdem einen riesigen Geschwindigkeitsverlust beim +Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |/!\\| + +Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier +lediglich die Beschreibung für ds-mod: + +Ein Howto von dsl123 zum Kompilieren des ds-mod's unter Cygwin gibt es +`​hier `__. Zum +Entpacken der Datei ``ds-*.tar.bz2`` unter Windows **ausschließlich** +das Cygwin-tar — wie in der Anleitung beschrieben — verwenden: + +#. Cygwin Installer von + `​http://www.cygwin.com/ `__ herunterladen + und ausführen +#. Cygwin mit den folgenden Paketen installieren: + + - Archive > unzip + - Devel > gcc, libncurses-devel, make, patchutils + - Interpreters > perl + - Web > wget + +#. ``ds-*.tar.bz2`` in das Cygwin Home-Verzeichnis herunterladen (je + nach Installation z.B. ``C:/Cygwin/home//``) +#. Cygwin Shell öffnen und den ds-mod entpacken + ``tar -xvjf ds-x.y.z.tar.bz2`` +#. *Optional*: Patch einspielen (siehe + `Howto <../development/integrate_patches.html>`__) +#. In das Verzeichnis des entpackten ds-mod wechseln ``cd ds-*/`` +#. Konfiguration wählen. Dies ist über ein + `​ncurses `__ Interface + möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt + ist. Details und Beschreibungen zu den Optionen gibt es in der + Beschreibung zum `menuconfig `__. + ``make menuconfig`` +#. Firmware modifizieren. In diesem Schritt werden die zu der gewählten + Konfiguration passenden original Firmware und Pakete, sowie Sourcen + für die benötigten Tools vollautomatisch heruntergeladen und die + modifizierte Firmware in drei Schritten erzeugt. ``make`` +#. ``firmware_*.image`` als Firmware Update auf die Box hochladen. Nach + einem erfolgreichen Upload ist nun auf Port 81 ein weiteres + Webinterface verfügbar, welches Instruktionen zum Abschluss der + Installation enthält. Sollte die Box nach dem Hochladen der Firmware + auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr + erreichbar sein (typischerweise leuchten **periodisch** immer wieder + alle LEDs auf), so kann die original Firmware mit Hilfe der + ``recover.exe`` von AVM wiederhergestellt werden. + +.. _MacOSX: + +Mac OS X +-------- + +Im Prinzip und mit ein paar Patches funktioniert ein aktuelles ds-mod +auch unter Mac OS X. Zumindest ist mir gelungen, ds-0.2.9_26-14.2 unter +Mac OS X zum Funktionieren zu überreden. + +Zunächst sind folgende Voraussetzungen zu erfüllen: + +#. Datenpartition erstellen, bei der das HFS+ case sensitive + konfiguriert ist. +#. Xcode installieren. Dadurch erhält man geeignete Versionen von u. a. + + - gcc + - g++ + - autoconf + - automake + - make + - `​ncurses `__ + - zlib + - flex + - bison + +Außerdem sind einige (GNU) Utilities nötig, die z.B. über Darwin Ports +installiert werden können: + +- gettext +- texinfo +- dos2unix +- gawk +- coreutils +- findutils +- gsed + +Und vermutlich ein paar weitere, wenn man die entsprechenden Packages +anwählt. + +Die zusätzlichen Utilities werden in der Regel unter Namen installiert, +die mit g beginnen, um nicht mit den nativen Utilities von Mac OS X in +Konflikt zu geraten. Manche Konfigurationsskripte setzen aber die +Eigenschaften von GNU-Utilities voraus, auch wenn sie unter dem +Standardnamen aufgerufen werden. Daher habe ich mir ein Verzeichnis +erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities +zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad +aufzunehmen: + +.. code:: wiki + + ~/gnubin $ ls -l + total 64 + -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:23 as + lrwxr-xr-x 1 enrik enrik 19 20 Mär 17:18 awk -> /opt/local/bin/gawk + lrwxr-xr-x 1 enrik enrik 18 20 Mär 18:32 cp -> /opt/local/bin/gcp + lrwxr-xr-x 1 enrik enrik 22 11 Apr 10:11 cpp -> /usr/local/bin/cpp-3.3 + lrwxr-xr-x 1 enrik enrik 20 11 Apr 10:11 find -> /opt/local/bin/gfind + lrwxr-xr-x 1 enrik enrik 23 20 Mär 17:18 install -> /opt/local/bin/ginstall + -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:24 ld + lrwxr-xr-x 1 enrik enrik 21 20 Mär 17:18 sed -> /opt/local/bin/gnused + +Die Pseudebefehle ``as`` und ``ld`` dienen hier nur dazu, der glibc für +den Kernel-Compiler, die über crosstool erstellt wird, geeignete +binutils vorzugaukeln. Die beiden Dateien sehen so aus: + +:: + + ~/gnubin $ cat as + #! /bin/sh + + # fake as version for crosstool + + [ "$1" = -v ] && echo GNU assembler 2.13 || /usr/bin/as "$@" + +:: + + ~/gnubin $ cat ld + #! /bin/sh + + # fake ld version for crosstool + + [ "$1" = --version ] && echo GNU ld 2.13 || /usr/bin/ld "$@" + +:: + + ~/gnubin $ PATH=$HOME/gnubin:$PATH + +Außerdem wird ein Patch für ds-mod benötigt, den man hier herunterladen +kann: + +- `​ds-0.2.9_26-14.2-macosx.patch.gz `__ + +Das ganze ist wenig getestet, insbesondere habe ich noch kein so +erstelltes Image ausprobiert. + +.. _Aktualisierung: + +Aktualisierung +============== + +*Freetz* läuft nun also super auf der Box, und das schon seit längerer +Zeit. Da kommt es unvermeidlich vor, dass AVM eine neue Firmware-Version +herausbringt, und auch die *Freetz*-Entwicklung ist weitergegangen. +Kurzum: Man möchte nun natürlich auch von den neuen Features und +Bugfixes profitieren. Wie bringt man also *Freetz* auf der Box auf den +neuesten Stand? + +Die Antwort ist recht einfach: "Siehe oben". Eine Aktualisierung geht +genau so vonstatten, wie auch die Erst-Installation: Man baut sich ein +neues *Freetz*-Image und nutzt dann das "Firmware-Update" der Box. + +Hat man für die Installation eine Repository-Version verwendet, bringt +man selbige zuvor auf den aktuellen Stand, indem man in das +Quellverzeichnis wechselt und… + +:: + + # In das Verzeichnis wechseln, in dem sich das "ausgecheckte" Freetz befindet: + cd freetz + # Quelldateien aktualisieren + svn up + # ggf. die Paketauswahl überprüfen, verändern, neue Patches aktivieren, etc. + make menuconfig + # Image bauen + make + +Und jetzt das fertige Image auf die Box. + +.. _Troubleshooting: + +Troubleshooting +=============== + +.. _AVMFirmwarewirdnichtgefunden: + +AVM Firmware wird nicht gefunden +-------------------------------- + +19. `FAQ <../../../FAQ.html#NosuchfileFRITZ.Box_xxxxxxxxx.aa.bb.cc.image>`__ + +**Achtung:** Die `FAQ <../../../FAQ.html>`__'s sollten in Deutsch +angezeigt werden. Sollte das nicht der Fall sein, dann Bitte diesen +`​Tip `__ +beachten. + +.. _Imagetoobig: + +Image too big +------------- + +19. `FAQ <../../../FAQ.html#Filesystemimagetoobig>`__ + +**Achtung:** Die `FAQ <../../../FAQ.html>`__'s sollten in Deutsch +angezeigt werden. Sollte das nicht der Fall sein, dann Bitte diesen +`​Tip `__ +beachten. + +.. _SonstigeProblemeoderFehlermeldungen: + +Sonstige Probleme oder Fehlermeldungen +-------------------------------------- + +19. `FAQ <../../../FAQ.html>`__ + +**Achtung:** Die `FAQ <../../../FAQ.html>`__'s sollten in Deutsch +angezeigt werden. Sollte das nicht der Fall sein, dann Bitte diesen +`​Tip `__ +beachten. + +.. _WeiterführendeLinks: + +Weiterführende Links +==================== + +- `​Alternatives HowTo für die + Installation `__ **Hinweis + 20091025: Link existiert nicht (mehr ?)** +- `​IPPF + Thread `__ zum + Thema + +- Tags +- `howto `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/install.rst b/wiki/help/howtos/common/install.rst new file mode 100644 index 0000000..49d672e --- /dev/null +++ b/wiki/help/howtos/common/install.rst @@ -0,0 +1,800 @@ +help/howtos/common/install +========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Installation `__ + + #. `Virtuelles Linux: Freetz-Linux für + VMware-Player `__ + #. `Vorbereitung `__ + #. `Durchführung mit Windows + OS `__ + #. `Durchführung mit Linux + OS `__ + + #. `Notwendige Pakete `__ + + #. `freetz-2.x (stabile + Version) `__ + #. `aktuelle Entwicklerversion und spezielle + Pakete `__ + #. `alte + Entwicklerversionen `__ + + #. `Installation der benötigten Pakete + (Ubuntu) `__ + #. `Installation der benötigten Pakete + (Fedora) `__ + #. `Erstellung & + Installation `__ + + #. `coLinux / andLinux / + speedLinux `__ + #. `Cygwin `__ + #. `Mac OS X `__ + +#. `Aktualisierung `__ +#. `Fehlerbehebung `__ +#. `Manuelles einspielen des + Images `__ +#. `Weiterführende Links `__ +#. `Konfiguration `__ + + #. `General `__ + #. `Brandings `__ + #. `Mod `__ + +.. _Installation: + +Installation +============ + +`Freetz <../../../freetz.html>`__ stellt Skripte zum Modifizieren einer +originalen Firmware bereit. Aus Lizenzgründen ist die Verbreitung sowohl +originaler als auch modifizierter Firmware Images untersagt! + +|/!\\| Achtung: Das Aufspielen einer modifizierten Firmware geht mit dem +Verlust der Garantie einher. Wendet euch bei Problemen mit einer +modifizierten Firmware daher **NICHT** an den AVM Support. + +**Anfänger**: Bitte zuerst '`Erste Schritte für +Anfänger `__' lesen! + +.. _VirtuellesLinux:Freetz-LinuxfürVMware-Player: + +Virtuelles Linux: Freetz-Linux für VMware-Player +------------------------------------------------ + +Wenn kein natives Linux zur Verfügung steht wird von uns +`​Freetz-Linux `__ +als Buildumgebung empfohlen. Das von Silent-Tears (cinereous) zur +Verfügung gestellte Image wird bei Problemen supported. + +Die unten stehende Anleitung wurde anfangs teilweise von +`​Saphir `__ +übernommen, ist aber über die Zeit historisch gewachsen und wurde nach +und nach von mehreren Benutzer erweitert und überarbeitet. Wir bemühen +uns diese Anleitung möglichst aktuell zu halten und der jeweils +aktuellen Version der aktuell zu empfehlenden virtuellen Maschine +anzupassen. Grundsätzlich gelten jedoch die hier empfohlene Schritte mit +gewissen Einschränkungen für jede FREETZ-tauglich konfigurierte +virtuelle Linux-Maschine. + +.. _Vorbereitung: + +Vorbereitung +------------ + +Siehe auch: + +`​Buildumgebung Freetz-Linux +Installieren `__ + +`​Freetz und Speed-to-Fritz +Installation `__ +(relevant nur für SpeedPort Benutzer) + +.. _DurchführungmitWindowsOS: + +Durchführung mit Windows OS +--------------------------- + +#. Benötigte Dateien: + + - VMWare Player + `​http://www.vmware.com/de/download/player/ `__ + - VMware Image für Freetz-Linux + `​Forumpost `__ + `​Download `__ + - Freetz (aktuelle und ältere Versionen) + `Download <../../../Download.html>`__ + (Muss man nicht direkt downloaden, wenn man sich das Paket wie + unten empfohlen per svn lädt) + - Evtl. vorhandene Patches für Freetz `​Freetz + Forum `__ + +#. `​Freetz-Linux `__ + unter Windows mit + `​7-Zip `__ oder + `​WinRAR `__ entpacken. +#. VMWare Player starten und keine Einstellungen ändern, da sich die + virutelle Maschine eine IP per DHCP holt. Sollte dieses nicht der + Fall sein kann die IP-Adresse mit folgendem Befehl auch per Hand + gesetzt werden: + + .. code:: wiki + + ifconfig eth0 192.168.178.xx netmask 255.255.255.0 broadcast 192.168.178.255 + + | (Wobei die Netzwerkkarte "eth0" evtl. durch eine eine andere + ersetzt werden muss. Eine Auflistung aller Netzwerkkarten erhält + man mit **"ifconfig -a"**) + +#. Im VMWare Player mit dem Benutzernamen **freetz** und dem Passwort + **freetz** anmelden. + Jetzt gibt es mehrere Alternativen, wie man mit Freetz-Linux arbeiten + kann und die Dateien zwischen Freetz-Linux und dem Rest der Welt + bewegen kann. + + - **Freetz-Linux Konsole** im VMware Player (am einfachsten) + - **SSH/SCP**: Zu anderen Möglichkeiten gehört z.B. eine + SSH/SCP-Verbindung mit + `​putty `__ + oder/und mit + `​WinSCP `__ (beide + nur als Beispiel). Als Servernamen für putty/WinSCP trägt man die + IP-Adresse von Freetz-Linux. Benutzername und Passwort s. oben + - **SAMBA**: Außerdem gibt es die Möglichkeit Daten zwischen Windows + und Freetz-Linux über SAMBA auszutauschen. Dafür gibt man in der + Adressenleiste von WindowsExplorer " + Freetz-Linux" oder " + IP-Adresse-von-Freetz-Linux" an und schon kann man die Dateien + zwischen Windows und Freetz-Linux hin und her schieben. Allerdings + stimmen dann die Linux Benutzerrechte nicht automtisch wie sie + sollten. + - **FTP**: Funktioniert ähnlich wie SAMBA + Alle diese Verbindungsmöglichkeiten sind unter Freetz-Linux + voreingestellt und sollten von Anfang an funktionieren. Bei + Problemen bitte Netzwerkverbindung, Firewall, etc. überprüfen. + Ebenso sollten die Netzwerkeinstellungen vom VMWare-Player + überprüft werden. Standardmäßig ist hier **Bridged-Mode** + eingestellt. Anfangen mit den Tests sollte man mit "ping + IP-Adresse-von-Freetz-Linux" unter Eingabeaufforderung. + +#. Je nachdem, für welche Methode man sich entschieden hat, macht man + folgendes: + + - Mit **SSH/TELNET** oder **Freetz-Linux Konsole** (bevorzugt) + folgendes eingeben: (Anstatt freetz-2.0.x kann auch eine andere, + z.B. Entwicklerversion genommen werden.) + + .. code:: wiki + + svn co http://svn.freetz.org/branches/freetz-stable-2.0.x freetz-2.0.x + +Aktuell: + +.. code:: wiki + + svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-2.0 + +.. + + | **Achtung:** Kleiner Tip für Vista und Windows 7 User: + | Solltet Ihr eine IP-Adresse in der VM-Ware erhalten (ifconfig), + aber trotzdem folgende Fehlermeldung bekommen :**hostname konnte + nicht aufgelöst werden**, dann kontrolliert bitte Folgendes in + Eurer Systemsteuerung: + | 1.) ob Euer Netzwerk ein Heimnetzwerk ist: + + .. figure:: /screenshots/124.jpg + :alt: + + | 2.) ob Eure Netzwerkkennung eingeschaltet ist: + + .. figure:: /screenshots/123.jpg + :alt: + + | + +#. *Optional*: Patch einspielen (siehe + `Howto <../development/integrate_patches.html>`__) +#. In das Verzeichnis des ausgecheckten/entpackten Freetz wechseln: + + .. code:: wiki + + cd freetz-2.0.x (aktuell: cd freetz-2.0) + +#. Einstellungen wie Boxtyp, Pakete usw. konfigurieren. Dies ist über + ein `​ncurses `__ Interface + möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt + ist. Details und Beschreibungen zu den Optionen gibt es in der + Beschreibung zum `menuconfig `__. + + .. code:: wiki + + make menuconfig + + | Es empfiehlt sich beim ersten Mal nicht zu viele Einstellungen zu + verändern und das erste FritzBox Firmware Image mit den + Standardvorgaben zu erstellen. + +#. Firmware modifizieren. In diesem Schritt werden die zu der gewählten + Konfiguration passenden Originalfirmware, Pakete, sowie Sourcen für + die benötigten Tools vollautomatisch heruntergeladen und die + modifizierte Firmware in drei Schritten erzeugt. Beim ersten Mal + dauert es etwas länger. Die Zeit ist abhängig von den ausgewählten + Paketen und dem benutzten Rechner. Man kann also ruhig eine + Kaffeepause einlegen. + + .. code:: wiki + + make + +#. Wenn der Build ohne Fehler durchgelaufen ist, dann findet sich jetzt + unter ``~/freetz-2.0.*/images`` die neue FritzBox Firmware (z.B. + ``7170_04.76freetz-devel-10390.de_20130421-180742.image``). +#. Diese Datei kann ganz normal als Firmware Update auf die Box + hochladen werden. Dazu muss die FritzBox aber mit einem Passwort + gesichert sein, da sie fremde Images sonst nicht akzeptiert. (Falls + Freetz schon auf der Box ist sollte bevorzugt die Update Funktion des + Freetz Webinterfaces genutzt werden.) Nach einem erfolgreichen Upload + ist nun auf Port 81 ein weiteres Webinterface verfügbar, welches + Instruktionen zum Abschluss der Installation enthält. Sollte die Box + nach dem Hochladen der Firmware auch Minuten nachdem die Info LED + aufgehört hat zu blinken nicht mehr erreichbar sein (typischerweise + leuchten **periodisch** immer wieder alle LEDs auf), so kann die + originale Firmware bei den meisten Box-Typen, wie in diesem + `Howto <../troubleshoot/recover_firmware.html>`__ beschrieben, + wiederhergestellt werden. + +.. _DurchführungmitLinuxOS: + +Durchführung mit Linux OS +------------------------- + +.. _NotwendigePakete: + +Notwendige Pakete +~~~~~~~~~~~~~~~~~ + +Für das Erstellen der Firmware kann auch Knoppix verwendet werden, wozu +keine Linux-Installation erforderlich ist. Wichtig ist, dass zum +Kompilieren des Mods unter Linux keine FAT oder NTFS Partition verwendet +wird. Die folgende Anleitung benötigt für + +.. _freetz-2.xstabileVersion: + +freetz-2.x (stabile Version) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- **gcc** - GNU C Compiler +- **g++** - GNU C++ Compiler +- **binutils** - GNU Assembler, Linker und Binary-Werkzeuge +- **autoconf** - dem Make vorgeschalteter Generator für + Konfigurationsskripten nach GNU-Standard; hilft dabei, + plattformunabhängig programmierte Software letztendlich für einen + plattformspezifischen Build vorzubereiten +- **automake** ab Version 1.10 - Makefile-Generator nach GNU-Standard; + wird nur für manche Pakete benötigt, aber z.B. für + `privoxy <../../../packages/privoxy.html>`__; Paketmanager + installiert normalerweise *autoconf* als abhängiges Paket gleich mit +- **libtool** - hilft beim Erstellen von statischen und dynamischen + Bibliotheken; kann z.B. beim aufruf von *autoreconf* notwendig werden +- **GNU make** ab Version 3.81 - skriptgesteuertes Build-System +- **bzip2** - (Ent)packen von Software-Archiven +- **libncurses5-dev** - Entwickler-Bibliothek für ncurses (Erzeugung + komfortabler textbasierter Benutzerschnittstellen, vgl. + ``make menuconfig``) +- **zlib1g-dev** - Entwickler-Bibliothek für gzip-Kompression +- **flex** - lex-kompatibler Generator für lexikalische Analyse +- **bison** - YACC-kompatibler Parser-Generator +- **patch** - Programm, um Patches anzuwenden +- **texinfo** - Online-/Druck-Doku aus gemeinsamer Quelle erzeugen +- **tofrodos** - Dateiumwandlung DOS ↔ UNIX (für was wird das + benötigt?) +- **gettext** - Texte in Programmen internationalisieren +- **pkg-config** - Hilfstool welches zum Bauen von Binaries und + Libraries nötig ist +- **ecj-bootstrap** - Eclipse Java Compiler (evtl. auch libecj-java und + ecj in neueren Distributionen); nur notwendig für Package *classpath* + ab 0.95 +- **perl** - Perl-Interpreter; notwendig für ``make recover`` +- **libstring-crc32-perl** - Perl-Modul zur Berechnung von + CRC32-Prüfsummen; notwendig für ``make recover`` +- **xz-utils** - (Ent)packen von Software-Archiven im XZ-Format (strace + seit freetz-stable-1.2) + +.. _aktuelleEntwicklerversionundspeziellePakete: + +aktuelle Entwicklerversion und spezielle Pakete +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Diese benötigen zusätzlich zu bereits unter *freetz-2.x* genannten noch +folgende Pakete: + +- **svn** - Subversion zum Auschecken der aktuellen Freetz-Versionen +- **ruby1.8** - objektorientierte Skriptsprache (Version 1.8.6); nur + notwendig für Package *ruby* (ab freetz-devel) - seltsamerweise + benötigt der Crosscompile für *ruby-1.8.6* eine installierte Version + seiner selbst als Voraussetzung. Zu allem Überfluß könnte es sein, + daß Sie im Paket zwar ``/usr/bin/ruby1.8`` o.ä. haben, aber nicht das + vom Makefile benötigte Binary Namens *ruby*. Da hilft im o.g. + Beispiel ``sudo ln -s ruby1.8 /usr/bin/ruby`` bzw. die Ausführung des + ``ln``-Befehls als Benutzer *root*. +- **gawk** - GNU awk; notwendig für das Skript ``tools/extract-images`` + (ab freetz-devel), wenn man z.B. ein Recover-EXE zerlegen, also + *urlader.image* und *kernel.image* extrahieren möchte. Die in anderen + *awk*-Varianten nicht vorhandene Funktion *strtonum* wird an einer + Stelle verwendet. +- **python** - Python-Interpreter; notwendig, um via + ``tools/mklibs.py`` unbenutzte Symbole aus Bibliotheken zu entfernen, + um Platz zu sparen +- **libusb-dev** - Entwicklungs-Bibliothek für USB-Anwendungen im + Userspace; nur notwendig für SANE, wenn bspw. + Multifunktionsdrucker/-scanner an die FritzBox angebunden werden + sollen. Siehe auch + `​Forums-Beitrag `__ + dazu. +- **realpath** - wird nur von Entwicklern benötigt, die innerhalb von + *fwmod* beim Build das Patch-Auto-Fixing verwenden + (AUTO_FIX_PATCHES=y im Environment). Wer nicht weiß, wovon die Rede + ist, braucht es auch nicht. Unter Fedora nicht verfügbar, man kann es + aber selbst kompilieren + `​http://forums.fedoraforum.org/archive/index.php/t-143199.html `__. + **TODO** nicht mehr notwendig in Trunk und freetz-stable-1.2, Eintrag + löschen nach Release. +- **fastjar** - Implementation des Java jar utils; nur notwendig für + Package *classpath* +- **git** - GIT Tool zum auschecken von GIT Repositories (benötigt für + freetz_download) +- **imagemagick** (bzw **ImageMagick**) - enthält ``composite`` mit dem + Bilder kombiniert werden können; nur notwendig wenn man das + AVM-Webinterface "taggen" möchte +- **patchutils** - Tools zum Umgang mit Patches; notwendig für + ``tools/freetz_patch`` (Auto-Fix-Modus) +- **mktemp** - Erzeugen temporärer Dateien mit Zufallsnamen; notwendig + für ``tools/freetz_patch`` (Auto-Fix-Modus) + +.. _alteEntwicklerversionen: + +alte Entwicklerversionen +^^^^^^^^^^^^^^^^^^^^^^^^ + +Hier wird zusätzlich folgendes benötigt: + +- **automake-1.8** - Version, die zusätzlich speziell von *libid3tag* + benötigt wird. Nicht mehr erforderlich ab Freetz 1.0. +- **jikes** - Java Byte Code Compiler; nur notwendig für Package + *classpath* bis 0.93 bzw. ds26-14.4 + +.. _InstallationderbenötigtenPaketeUbuntu: + +Installation der benötigten Pakete (Ubuntu) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Eine einfache Möglichkeit die benötigten Pakete zu installieren besteht +darin, diesen Code per Copy and Paste auf der Konsole auszuführen. + +(Falls du eine US-Tastaturbelegung hast → "sudo locale-gen de_DE" und +"sudo dpkg-reconfigure console-data" ausführen. +`​Details `__ ) + +:: + + sudo apt-get -y update + sudo apt-get -y upgrade + sudo apt-get -y dist-upgrade + + # Angepasst z.B. auf Ubuntu 9.04 (kein automake 1.8, "ecj" statt "ecj-bootstrap"): + sudo apt-get -y install imagemagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config jikes ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev + + # Ubuntu 9.10, 10.xx, 11.xx und 12.04 + sudo apt-get -y install imagemagick subversion gcc g++ bzip2 binutils automake patch autoconf libtool pkg-config make libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libglib2.0-dev xz-utils git-core libacl1-dev libattr1-dev libcap-dev + + #Ubuntu 13.04 und 14.04 + sudo apt-get -y install graphicsmagick subversion gcc g++ binutils autoconf automake automake1.9 libtool make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev + + # Seit Debian Jessie bzw. Ubuntu 15.04 (vivid) wird zusätzlich das Paket libtool-bin benötigt: + sudo apt-get -y install libtool-bin + + # Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren: + sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6 + + # Ubuntu 15.10 x64: + sudo apt-get -y install imagemagick subversion git gcc g++ binutils autoconf automake autopoint libtool-bin make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar realpath perl libstring-crc32-perl ruby ruby1.8 gawk python libusb-dev unzip intltool libacl1-dev libcap-dev libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6 libglib2.0-dev + +Wer vergessen hat welche Ubuntu Version er installierte kann dies mit +folgenden Befehlen prüfen: + +.. code:: wiki + + # Ubuntu Version: ergibt z.B. "Ubuntu 12.04.1 LTS \n \l" + cat /etc/issue + # Maschinen Typ: ergibt z.B. "i686" bei 32-bit Ubuntu und "x86_64" bei 64-Bit Ubuntu + uname -m + +.. _InstallationderbenötigtenPaketeFedora: + +Installation der benötigten Pakete (Fedora) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + sudo yum -y install ImageMagick subversion gcc gcc-c++ binutils autoconf automake libtool make bzip2 ncurses-devel zlib-devel flex bison patch texinfo gettext pkgconfig ecj perl perl-String-CRC32 wget glib2-devel git libacl-devel libattr-devel libcap-devel + # Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren: + sudo yum -y install ncurses-devel.i686 glibc-devel.i686 libgcc.i686 + +.. _ErstellungInstallation: + +Erstellung & Installation +~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Shell öffnen, ins Verzeichnis von ``freetz-xxx.tar.bz2`` wechseln und + diesen mit ``tar -xvjf freetz-x.y.z.tar.bz2`` entpacken +#. *Optional*: Patch einspielen (siehe + `Howto <../development/integrate_patches.html>`__) +#. Mit ``cd freetz-xxx/`` in das Verzeichnis des entpackten Freetz + wechseln +#. Konfiguration wählen. Dies ist über ein ncurses Interface möglich, + welches z.B. aus der Konfiguration des Linux Kernels bekannt ist. + Details und Beschreibungen zu den Optionen gibt es in der + Beschreibung zum `make menuconfig `__. +#. Firmware modifizieren. In diesem Schritt werden die zu der gewählten + Konfiguration passenden original Firmware und Pakete, sowie Sourcen + für die benötigten Tools vollautomatisch heruntergeladen und die + modifizierte Firmware in drei Schritten erzeugt. Dies erledigt ein + simples ``make``. +#. ``*.image`` als Firmware Update auf die Box hochladen. Nach einem + erfolgreichen Upload ist nun auf Port 81 ein weiteres Webinterface + verfügbar, welches Instruktionen zum Abschluss der Installation + enthält. Sollte die Box nach dem Hochladen der Firmware auch Minuten + nachdem die Info LED aufgehört hat zu blinken nicht mehr erreichbar + sein (typischerweise leuchten **periodisch** immer wieder alle LEDs + auf), so kann die originale Firmware bei den meisten Box-Typen, wie + in diesem `Howto <../troubleshoot/recover_firmware.html>`__ + beschrieben, wiederhergestellt werden. + +.. _coLinuxandLinuxspeedLinux: + +coLinux / andLinux / speedLinux +------------------------------- + +Siehe auch: `​andlinux unter Vista +installieren `__ + +Alternativ kann auch `​coLinux `__ benutzt werden, +ist etwas resourcenschonender als der vmware player. Mit speedLinux ist +alles vorbereitet für freetz oder speed-to-fritz. Mit ./freetz werden +alle notwendigen Vorbereitungen und Installationen durchgeführt. +aktueller Stand 25.10.2009 + +Anmerkung von Alexander Kriegisch (kriegaex), 24.02.2008: Ja, das +benutze ich auch seit gestern, und zwar speziell die mit Ubuntu Gutsy +und XFCE (wahlweise auch KDE) vorkonfigurierte Variante +`​andLinux `__, die man wahlweise als Dienst +oder als Anwendung starten kann und mit einem einfachen Installer +ausgeliefert wird. Scheint etwas langsamer zu sein als ein reines Linux, +aber es ist schon cool, Linux-Fenster nativ neben Windows-Fenstern zu +haben. *:-)* Der mitgelieferte X-Server Xming (für Windows) macht's +möglich. Ich verwende übrigens nicht mal ein X-Terminal, sondern logge +mich sozusagen "headless" über SSH ein (Putty). Ab und zu lasse ich mal +Synaptic oder als X-Editor SciTE laufen, den ich nachinstalliert habe. +Ich baue gerade sämtliche Freetz-Pakete "from scratch" inkl. +`Download <../../../Download.html>`__, es geht genauso wie in VMware +oder nativem Linux, also Linux-Paketliste siehe oben. + +Nachteile von coLinux/andLinux/speedLinux: + +- bei Multicore-Prozessoren wird nur ein Kern benutzt +- keine 64bit Unterstützung +- gravierende Systemanpassungen (spezieller Kernel, etc) bei Updates + des Systems notwendig. + +Vorteile von coLinux/andLinux/speedLinux: + +- kommt mit weniger RAM aus als VMWare (geringerer Ressourcenbedarf) +- native Windowsfenster + +Bei andLinux - Beta 2 minimal ist nicht ausreichend Platz für ein Build +vorhanden. Ein Lösungsansatz: Den andLinux Dienst stoppen +(Startmenü-andLinux-Stop andLinux) In das andLinux +Installationsverzeichnis wechseln und die Datei "ImageResizeTool.zip" +nach "Drives" entpacken. Dort die Datei "toporesize.bat" ausführen. + +Leider hat das bei mir nicht funktioniert. + +Alternative Möglichkeit: + +#. cmd.exe ausführen (ggf. als Admin) +#. in das andLinux Installationsverzeichnis wechseln +#. Dienst Stoppen (siehe oben) oder srvstop.bat ausführen +#. in das "Drives" Verzeichnis wechseln +#. tfile base.vdi 4096 : vergrößert das Filesystem auf 4 GB +#. e2fsck.exe -f base.vdi +#. resize2fs.exe base.vdi +#. Dienst wieder starten (via Startmenü oder srvstart.bat) + +Eine weitere Partition für Feetz anlegen. + +Das bietet auch den Vorteil das bei Updates diese Partition nicht +berührt wird und so wie diese ist weiter verwendet werden kann. + + Wie macht man das? + +.. + + Beispiel: + + Eine Kopie von Drives\base.vdi auf Drives\copyofbase.vdi machen, + der Inhalt kann später nach Einbindung gelöscht werden. + +.. + + Im File settings.txt die folgende Zeile zusätzlich eintragen: + + cobd2=Drives\copyofbase.vdi + +.. + + Im gestartenten LINUX vorher Verzeichnis */mnt/freetz* anlegen und + in der Datei */etc/fstab* folgende Zeile eintragen: + + */dev/cobd2 /mnt/freetz ext3 defaults 1 1* + +SpeedLinux hat eine Option zum vergrößern der Partition. + +.. _Cygwin: + +Cygwin +------ + +|/!\\| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für +ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme +geben kann und es außerdem einen riesigen Geschwindigkeitsverlust beim +Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |/!\\| + +Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier +lediglich die Beschreibung für ds-mod: + +Ein Howto von dsl123 zum Kompilieren des ds-mod's unter Cygwin gibt es +`​hier `__. Zum +Entpacken der Datei ``ds-*.tar.bz2`` unter Windows **ausschließlich** +das Cygwin-tar — wie in der Anleitung beschrieben — verwenden: + +#. Cygwin Installer von + `​http://www.cygwin.com/ `__ herunterladen + und ausführen +#. Cygwin mit den folgenden Paketen installieren: + + - Archive > unzip + - Devel > gcc, libncurses-devel, make, patchutils + - Interpreters > perl + - Web > wget + +#. ``ds-*.tar.bz2`` in das Cygwin Home-Verzeichnis herunterladen (je + nach Installation z.B. ``C:/Cygwin/home//``) +#. Cygwin Shell öffnen und den ds-mod entpacken + ``tar -xvjf ds-x.y.z.tar.bz2`` +#. *Optional*: Patch einspielen (siehe + `Howto <../development/integrate_patches.html>`__) +#. In das Verzeichnis des entpackten ds-mod wechseln ``cd ds-*/`` +#. Konfiguration wählen. Dies ist über ein + `​ncurses `__ Interface + möglich, welches z.B. aus der Konfiguration des Linux Kernels bekannt + ist. Details und Beschreibungen zu den Optionen gibt es in der + Beschreibung zum `menuconfig `__. + ``make menuconfig`` +#. Firmware modifizieren. In diesem Schritt werden die zu der gewählten + Konfiguration passenden original Firmware und Pakete, sowie Sourcen + für die benötigten Tools vollautomatisch heruntergeladen und die + modifizierte Firmware in drei Schritten erzeugt. ``make`` +#. ``firmware_*.image`` als Firmware Update auf die Box hochladen. Nach + einem erfolgreichen Upload ist nun auf Port 81 ein weiteres + Webinterface verfügbar, welches Instruktionen zum Abschluss der + Installation enthält. Sollte die Box nach dem Hochladen der Firmware + auch Minuten nachdem die Info LED aufgehört hat zu blinken nicht mehr + erreichbar sein (typischerweise leuchten **periodisch** immer wieder + alle LEDs auf), so kann die original Firmware mit Hilfe der + ``recover.exe`` von AVM wiederhergestellt werden. + +.. _MacOSX: + +Mac OS X +-------- + +Im Prinzip und mit ein paar Patches funktioniert ein aktuelles ds-mod +auch unter Mac OS X. Zumindest ist mir gelungen, ds-0.2.9_26-14.2 unter +Mac OS X zum Funktionieren zu überreden. + +Zunächst sind folgende Voraussetzungen zu erfüllen: + +#. Datenpartition erstellen, bei der das HFS+ case sensitive + konfiguriert ist. +#. Xcode installieren. Dadurch erhält man geeignete Versionen von u. a. + + - gcc + - g++ + - autoconf + - automake + - make + - `​ncurses `__ + - zlib + - flex + - bison + +Außerdem sind einige (GNU) Utilities nötig, die z.B. über Darwin Ports +installiert werden können: + +- gettext +- texinfo +- dos2unix +- gawk +- coreutils +- findutils +- gsed + +Und vermutlich ein paar weitere, wenn man die entsprechenden Packages +anwählt. + +Die zusätzlichen Utilities werden in der Regel unter Namen installiert, +die mit g beginnen, um nicht mit den nativen Utilities von Mac OS X in +Konflikt zu geraten. Manche Konfigurationsskripte setzen aber die +Eigenschaften von GNU-Utilities voraus, auch wenn sie unter dem +Standardnamen aufgerufen werden. Daher habe ich mir ein Verzeichnis +erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities +zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad +aufzunehmen: + +.. code:: wiki + + ~/gnubin $ ls -l + total 64 + -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:23 as + lrwxr-xr-x 1 enrik enrik 19 20 Mär 17:18 awk -> /opt/local/bin/gawk + lrwxr-xr-x 1 enrik enrik 18 20 Mär 18:32 cp -> /opt/local/bin/gcp + lrwxr-xr-x 1 enrik enrik 22 11 Apr 10:11 cpp -> /usr/local/bin/cpp-3.3 + lrwxr-xr-x 1 enrik enrik 20 11 Apr 10:11 find -> /opt/local/bin/gfind + lrwxr-xr-x 1 enrik enrik 23 20 Mär 17:18 install -> /opt/local/bin/ginstall + -rwxr-xr-x 1 enrik enrik 106 20 Mär 17:24 ld + lrwxr-xr-x 1 enrik enrik 21 20 Mär 17:18 sed -> /opt/local/bin/gnused + +Die Pseudebefehle ``as`` und ``ld`` dienen hier nur dazu, der glibc für +den Kernel-Compiler, die über crosstool erstellt wird, geeignete +binutils vorzugaukeln. Die beiden Dateien sehen so aus: + +:: + + ~/gnubin $ cat as + #! /bin/sh + + # fake as version for crosstool + + [ "$1" = -v ] && echo GNU assembler 2.13 || /usr/bin/as "$@" + +:: + + ~/gnubin $ cat ld + #! /bin/sh + + # fake ld version for crosstool + + [ "$1" = --version ] && echo GNU ld 2.13 || /usr/bin/ld "$@" + +:: + + ~/gnubin $ PATH=$HOME/gnubin:$PATH + +Außerdem wird ein Patch für ds-mod benötigt, den man hier herunterladen +kann: + +- `​ds-0.2.9_26-14.2-macosx.patch.gz `__ + +Das ganze ist wenig getestet, insbesondere habe ich noch kein so +erstelltes Image ausprobiert. + +.. _Aktualisierung: + +Aktualisierung +============== + +*Freetz* läuft nun also super auf der Box, und das schon seit längererm. +Da kommt es vor, dass AVM eine neue Firmware-Version herausbringt, und +auch die *Freetz*-Entwicklung weitergegangen ist. Kurzum: Man möchte nun +natürlich auch von den neuen Features und Bugfixes profitieren. Wie +bringt man also *Freetz* auf der Box auf den neuesten Stand? + +Die Antwort ist recht einfach: "Siehe oben". Eine Aktualisierung geht +genau so vonstatten, wie auch die Erst-Installation: Man baut sich ein +neues *Freetz*-Image und nutzt dann das "Firmware-Update" der Box. + +Hat man für die Installation eine Repository-Version verwendet, bringt +man selbiges zuvor auf den aktuellen Stand, indem man in das +Quellverzeichnis wechselt und… + +:: + + # In das Verzeichnis wechseln, in dem sich das "ausgecheckte" Freetz befindet: + cd freetz + # Quelldateien aktualisieren + svn up + # ggf. die Paketauswahl überprüfen, verändern, neue Patches aktivieren, etc. + make menuconfig + # Image bauen + make + +Und jetzt das fertige Image auf die Box. + +.. _Fehlerbehebung: + +Fehlerbehebung +============== + +| Falls bei der Erstellung des Images ein Fehler auftreten sollte, + findet man die Lösung dazu wahrscheinlich in den + `FAQ <../../../FAQ.html>`__. + +**Achtung:** Die `FAQ <../../../FAQ.html>`__ sollten in Deutsch +angezeigt werden. Sollte das nicht der Fall sein, dann bitte diesen +`​Tipp `__ +beachten. + +.. _ManuelleseinspielendesImages: + +Manuelles einspielen des Images +=============================== + +Wenn das Hochladen des Images partout nicht klappen will hat man noch +die Möglichkeit es manuell auf die Fritzbox zu bringen. Hierfür sollten +bevorzugt die Helfer recover-eva und push_firmware aus dem +tools/-Verzeichnis genutzt werden. Aber auch ein Einspieln per Hand ist +möglich und wir im folgenden kurz beschrieben. Voraussetzung ist, daß +wir ein fertig erstelltes Image besitzen und in einer Linuxumgebung +arbeiten! Wir entpacken nun aus dem fertigen Image die kernel.image +Datei und wechseln wenn nötig in das Verzeichnis in welchem die +kernel.image Datei liegt. Jetzt wird es etwas trickreich, da die +Fritzbox nur in den ersten 5-10 Sekunden nach Neustart per ftp zu +erreichen ist. Wir geben also in unserer Linuxkonsole schon einmal den +ersten Befehl ein **ftp 192.168.178.1** und gehen dann zur Fritzbox, um +sie über den Stromstecker zu resetten, eilen schnell wieder zurück und +drücken die Enter-Taste. Wenn es geklappt hat wird man nach Benutzername +und Passwort gefragt, er lautet für beides **adam2**. Weiter gehen wir +wie folgt vor: + +.. code:: wiki + + Eingabe am Prompt: bin + + Eingabe am Prompt: passiv + + Flash am Prompt initiieren mit: quote MEDIA FLSH + + Datei übertragen mit: put kernel.image mtd1 + + Rebranding: quote SETENV firmware_version avm + + Reboot der Box starten: quote REBOOT + + ftp verlassen: quit + +Es klappt meistens nicht beim ersten Versuch. Es hilft dann, ftp +abzubrechen und es direkt nochmal neu zu versuchen. + +.. _WeiterführendeLinks: + +Weiterführende Links +==================== + +- `​IPPF + Thread `__ zum + Thema +- Speedports: (siehe + `​sp2fritz `__). + Ab Skriptversion 2.2.2008 ist das speed2fritz möglich. + +- Tags +- `howtos `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/install/menuconfig.rst b/wiki/help/howtos/common/install/menuconfig.rst new file mode 100644 index 0000000..2f8e820 --- /dev/null +++ b/wiki/help/howtos/common/install/menuconfig.rst @@ -0,0 +1,193 @@ +help/howtos/common/install/menuconfig +===================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Installation <../install.html#Installation>`__ + + #. `Virtuelles Linux: Freetz-Linux für + VMware-Player <../install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player>`__ + #. `Vorbereitung <../install.html#Vorbereitung>`__ + #. `Durchführung mit Windows + OS <../install.html#DurchführungmitWindowsOS>`__ + #. `Durchführung mit Linux + OS <../install.html#DurchführungmitLinuxOS>`__ + + #. `Notwendige Pakete <../install.html#NotwendigePakete>`__ + + #. `freetz-2.x (stabile + Version) <../install.html#freetz-2.xstabileVersion>`__ + #. `aktuelle Entwicklerversion und spezielle + Pakete <../install.html#aktuelleEntwicklerversionundspeziellePakete>`__ + #. `alte + Entwicklerversionen <../install.html#alteEntwicklerversionen>`__ + + #. `Installation der benötigten Pakete + (Ubuntu) <../install.html#InstallationderbenötigtenPaketeUbuntu>`__ + #. `Installation der benötigten Pakete + (Fedora) <../install.html#InstallationderbenötigtenPaketeFedora>`__ + #. `Erstellung & + Installation <../install.html#ErstellungInstallation>`__ + + #. `coLinux / andLinux / + speedLinux <../install.html#coLinuxandLinuxspeedLinux>`__ + #. `Cygwin <../install.html#Cygwin>`__ + #. `Mac OS X <../install.html#MacOSX>`__ + +#. `Aktualisierung <../install.html#Aktualisierung>`__ +#. `Fehlerbehebung <../install.html#Fehlerbehebung>`__ +#. `Manuelles einspielen des + Images <../install.html#ManuelleseinspielendesImages>`__ +#. `Weiterführende Links <../install.html#WeiterführendeLinks>`__ +#. `Konfiguration `__ + + #. `General `__ + #. `Brandings `__ + #. `Mod `__ + +.. _Konfiguration: + +Konfiguration +============= + +Zum Konfigurieren von Freetz kommt das Programm *conf/mconf* zum +Einsatz, welches dem ein oder anderen vielleicht von der Konfiguration +des Linux Kernels bekannt ist. Die +`​ncurses `__ Variante *mconf* +kann mit dem Kommando ``make menuconfig`` aufgerufen werden. + +Eine Hilfe zu den einzelnen Punkten kann übrigens direkt in *menuconfig* +durch Eingabe von "?" aufgerufen werden. + +.. figure:: /screenshots/53.png + :alt: Freetz menuconfig + + Freetz menuconfig + +.. _General: + +General +------- + +- **Hardware Type**: Hier muss der Typ deiner Box gewählt werden. + Standard ist "Fon WLAN 7170". Mit diesem Typ erstellte Images können + nur auf die jeweilige Fritzbox hochgeladen werden. Abhängig vom Typ + werden die `Download <../../../../Download.html>`__ URL der + originalen Firmware auf dem `​AVM FTP Server `__ + und Parameter zum Erstellen des modifizierten Images, wie größe des + Flash etc., automatisch gesetzt. Der Typ "Custom" macht diese "Custom + options" sichtbar, wobei man hier gut mit seiner Box vertraut sein + sollte. +- **Version**: Für manche Fritzboxen (Typen) stellt AVM auch + internationale Versionen der Firmware bereit, die aber auch nur auf + internationalen Fritzboxen laufen. Internationale Fritzboxen gibt es + für den Österreichischen / Schweizer Markt "a-ch" und das Englisch + sprachige Ausland "en". Standard ist die für den Deutschen Markt + bestimmte Version "de". +- **Beta/Labor/VPN**: Ist eine Beta Version für die gewählte Fritzbox + (Typ) verfügbar, so kann diese mit dieser Option zum Testen + ausgewählt werden. An die Betas sollten sich nur Profis wagen, da + Freetz hiermit meist nicht reibungslos bzw. garnicht funktioniert. +- **Compile image for "alien" hardware** : Zur Erstellung eines Images + für andere Hardware, als oben ausgewählt. Wer damit nichts anfangen + kann, wählt es einfach nicht aus |:-)| +- **Firmware language**: AVM stellt die Original-Firmware meist in + mehreren Sprachen zur Verfügung - einfach die gewünschte auswählen. + *Hat keinen Einfluss auf die von Freetz modifizierten Dinge (dazu + siehe*\ `unten `__\ *), sondern nur auf die + Original-Firmware.* +- **Replace kernel**: Den AVM-Kernel durch einen "selbstgebauten" + ersetzen. Wiederum eine Sache für Profis |:-)| +- **Show advanced options**: Ob die "erweiterten Optionen" (siehe unter + `Mod `__) angezeigt werden sollen. +- **Branding**: Siehe `unten `__. +- **Annex**: Bei einigen internationalen Firmwares von AVM gibt es + verschiedene Firmware Versionen für Annex A und Annex B. + +.. _Brandings: + +Brandings +--------- + +Brandings sind von bestimmten Providern vorgenommene Änderungen an der +Firmware. Das aktuelle Branding der Box ist unabhängig von der Firmware. +Die modifizierte Firmware muss mindestens das aktuelle Branding der Box +enthalten. Tipp für Anfänger: Zunächst keine Brandings entfernen. Der +Platzersparnis trägt es nur geringfühgig bei; Images ohne das aktuelle +Branding werden aber von der Box nicht akzeptiert. + +- **1und1**: Gibt an, ob das 1und1 Branding in der modifizierten + Firmware erhalten bleiben soll. +- **avm**: Gibt an, ob das avm Branding in der modifizierten Firmware + erhalten bleiben soll. +- **avme**: Gibt an, ob das avme Branding in der modifizierten Firmware + erhalten bleiben soll. Dieses Branding existiert nur bei + internationalen nicht-Deutschen Firmware Versionen. +- **aol**: Gibt an, ob das aol Branding in der modifizierten Firmware + erhalten bleiben soll. +- **arcor**: Gibt an, ob das arcor Branding in der modifizierten + Firmware erhalten bleiben soll. +- **freenet**: Gibt an, ob das freenet Branding in der modifizierten + Firmware erhalten bleiben soll. + +|/!\\| In `r2700 `__ wurde die Logik der +Brandingauswahl umgekehrt. Ausgewählte Brandings werden ab jetzt +entfernt. |/!\\| + +.. _Mod: + +Mod +--- + +- **Language**: Die Auswahl der Sprache bezieht sich nur auf die + Konfigurations-Webseiten von Freetz, nicht auf die der originalen + Firmware. Es sind noch nicht alle Pakete in Englischer Sprache + verfügbar. Standard ist Deutsch. +- **Patches**: Siehe `patches <../../../../patches.html>`__ für eine + aktuelle Übersicht. +- **Package selection**: Auswahl der für Freetz verfügbaren Pakete / + CGI Erweiterungen. Siehe `Pakete <../../../../packages.html>`__ für + Details. +- **Advanced options** + + - **Override firmware source**: Falls die in der Konfiguration von + Freetz hinterlegte Firmware Version des gewählten Typs nicht mehr + auf dem FTP Server existiert, kann die + `Download <../../../../Download.html>`__ URL mit dieser Option + angepasst werden: + + - **Firmware site**: z.B.: + ``ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7050/firmware`` + - **Firmware source**: z.B.: + ``fritz.box_fon_wlan_7050.14.04.01.image`` + + - **Default Security level**: Wertebereich von 0 bis 2. Legt den + standardmäßigen Security Level fest, welcher aktiviert wird, + sofern kein anderer Wert auf der Box gespeichert ist. Standard ist + 2 (alle Restriktionen aktiviert) + - **Verbosity level**: Wertebereich von 0 bis 2. Je höher die Zahl, + desto mehr Meldungen werden beim Erstellen der Firmware + ausgegeben. Standard ist 0. + - **Favicon**: Auswahl von kleinen Icons, die im Browser neben der + URL der Fritzbox dargestellt werden. "none" installiert keine + Favicons. + - **Add Freetz version to subversion string**: Fügt der im + Web-Interface angezeigten (AVM-) Firmware-Version die + Freetz-Version hinzu + - **Squashfs blocksize**: Die Blockgröße beeinflußt die Kompression + des Images und die Zugriffszeit auf Dateien. Je größer die + Blockgröße, desto besser die Kompression, jedoch wird die + Zugriffszeit auf Dateien des Squashfs Images möglicherweise + schlechter. + - **BusyBox options**: Listenauswahl aller Tools welche in die + BusyBox integriert werden sollen. + - **Kernel modules**: Zusätzliche Kernelmodule. Jegliche Auswahl ist + optional. + - **Shared libraries**: Zusätzliche Laufzeitbibliotheken. Jegliche + Auswahl ist optional. + - **Compiler options**: Wer hier etwas ändert muss wissen was er + tut. + +.. |:-)| image:: ../../../../../chrome/wikiextras-icons-16/smiley.png +.. |/!\\| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/newbie.en.rst b/wiki/help/howtos/common/newbie.en.rst new file mode 100644 index 0000000..ec4e8e1 --- /dev/null +++ b/wiki/help/howtos/common/newbie.en.rst @@ -0,0 +1,372 @@ +help/howtos/common/newbie.en +============================ +.. _Freetzforbeginners: + +Freetz for beginners +==================== + +Table of contents +^^^^^^^^^^^^^^^^^ + +#. `Some questions `__ + + #. `What is Freetz? `__ + #. `What do I need to create a Freetz + image? `__ + #. `What should I take into + consideration? `__ + #. `What's my first Freetz-image supposed to + do? `__ + #. `Why should I start with a minimal + image? `__ + +#. `Do I need to adjust my computer in any way to create an + image? `__ +#. `How do I create my first minimal + image `__ + + #. `Starting Freetz `__ + #. `Starting PuTTY `__ + #. `Settings in menuconfig `__ + #. `Copying the image to your + computer `__ + #. `Shutdown Freetz-Linux `__ + +#. `The flashing process `__ +#. `Links `__ + +| + +.. _Somequestions: + +Some questions +-------------- + +.. _WhatisFreetz: + +What is Freetz? +~~~~~~~~~~~~~~~ + +| A short description and a brief historical overview of Freetz can be + found `here <../../../FAQ.html#WasistFreetz>`__. + +.. _WhatdoIneedtocreateaFreetzimage: + +What do I need to create a Freetz image? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) The newest recovery-image (.exe) for your box. It's very important + that you have an up to date `​recovery + image `__ at hand. + (`​7170 `__, + `​7270 `__). +| After a failed update you may not have any more internet access to + download a recovery image. +| 2a.) A native Linux operating system, e.g. + `​Ubuntu `__ or +| 2b.) for Windows users we recommend to install + `​VirtualBox `__ and to + run + `​Freetz-Linux `__ + as virtual machine. +| 3.) A SSH client + `​PuTTY `__ + (Can be used to connect to Freetz-Linux via ssh or telnet). + +.. _WhatshouldItakeintoconsideration: + +What should I take into consideration? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Remember that your box is primarily a router with a telephone + switchboard. If you modify the firmware it might happen that the main + functions of the box are affected by that. Usually this shouldn't + happen, but it might cause your box to stall and unexpectedly reboot. + When selecting packages you should follow this rule: If you can't tell + someone more than two sentences about a package, it's not supposed to + be on your box. Be careful with the patches. You won't need them all + of them and not in every possible combination. +| The use of "replace kernel", other comprehensive implementations or + own modules is not recommended for beginners. Not everything that + seems to be cool is really cool. +| Recently there have been many issues with packages that use OpenSSL + libraries. The reason is the incompatibility between the AVM and the + Freetz version of this library. So please avoid using the SSL option + in any package (vsftp, dropbear, curl) for your first build or if they + require this option (OpenVPN, stunnel) avoid them in any case. When + you have more experience you can use OpenSSL by embedding them into + the binaries (compile them static) or use even more advanced + solutions. But please, don't do this in the very beginning! You will + surely fail. + +.. _WhatsmyfirstFreetz-imagesupposedtodo: + +What's my first Freetz-image supposed to do? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| You can ask yourself the following question: **"What do I want to + achieve by using Freetz"** or **"What function does my box lack and + can I add it through Freetz?"** +| Freetz itself is no modification but a development environment which + is used to to modify the box's firmware modularly. The list of + packages reflects the current users' needs. Everyone can build his own + custom firmware from the existing packages, add his own or omit + unneeded ones. This way you can decide to a certain degree which + functions your FritzBox will have. +| First of all you should find out which packages are useful for you: + `List of available packages <../../../packages.html>`__ and + `add-ons <../../../packages.html#CGI-Erweiterungen>`__ + +.. _WhyshouldIstartwithaminimalimage: + +Why should I start with a minimal image? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| To find out how Freetz works and what the menu looks like after + flashing the firmware for the first time, we recommend beginners a to + create a minimal configuration and flash that image. Support requests + regarding Freetz and it's packages will only be answered after you + have been able to upload a minimal image to your box. + +.. _DoIneedtoadjustmycomputerinanywaytocreateanimage: + +Do I need to adjust my computer in any way to create an image? +-------------------------------------------------------------- + +You can find instructions for you computer's settings +`HERE `__ + +.. _HowdoIcreatemyfirstminimalimage: + +How do I create my first minimal image +-------------------------------------- + +| Let's get this done even though you probably want to add more packages + later. +| But first we need to check a few things. + +- Which model do I have (7141, 7270, etc.)? +- How much RAM does my model have (16, 32 oder 64 MB)? +- `How big is the flash memory inside my box? (4, 8 or 16 + MB) <../../fritz_faq.html#WievielFlashhatmeineFritzBox7270>`__? +- Do I have a working LAN-cable? If the flashing process fails the only + way to recover your box is via LAN-cable (not WLAN). +- Do I have a backup of my current settings? (Settings → System → + Backup settings) +- Do I have the right recover image?. `​AVM FTP + server `__ → Box → x_misc → english → + …recoverimage…..exe (you need Windows execute) +- Do I need how to run the recovery file? If not, this link might help + `​Link to + AVM `__ or + this `​Offline + PDF `__ + from Router-FAQ. +- My Linux is configurated correctly and all `needed packages for + Freetz `__ are installed? +- Is my current firmware supported by Freetz? `'Supported devices and + firmwares' <../../../FAQ.html#WelcheBoxenundwelcheFirmwareswerdendurchFreetzunterst%C3%BCtzt:>`__ + +| Now we will create the minimal image: + +- These instructions are written for those that want to modify their + Fritzbox for the first time by using Freetz. +- We can not guarantee for the correctness of our instructions, nor do + we take responsibility for any damages caused to your device! +- By using Freetz, the functional range of your AVM FritzBox can be + expanded. +- Freetz is based on Linux and can be used on a Linux machine or run in + a so-called virtual machine. As most current users don't own a Linux + machine we will concentrate on the virtual machine. +- Freetz creates a new firmware image which can be upload to the box + via the offical AVM interface. + +You decide which packages will be included, the number is only limited +by your routers available memory. + +.. _StartingFreetz: + +Starting Freetz +~~~~~~~~~~~~~~~ + +| Now we start VirtualBox and select the correspondingnd VM-image. + Freetz-Linux will then start and you can login using: **freetz** and + **freetz** as username and password followed by the enter key each + time. + +.. figure:: /screenshots/226.png + :alt: + +.. figure:: /screenshots/227.png + :alt: + +The next step is to find out which ip is assigned to our Freetz-Linux +since we need it to get access via putty in the next step. To check, +type in: **ifconfig**. This should bring up the following text. + +.. code:: wiki + + eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 + inet addr:192.168.178.30 Bcast:192.168.178.255 Mask:255.255.255.0 + UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:0 (0 Mb) TX bytes:0 (0 Mb) + +| As you can see, the virtual machine's ip address is + **192.168.178.30**. The ip address can differ from system to system, + that depends on the ip range of your system. If no ip address is shown + at all you have to check your computers or virtual machine's settings + and try again. + +| **IMPORTANT:** you can switch between the VM and Windows by using + **Right CTRL** +| We will use this right away to start + `​PuTTy `__ + +.. _StartingPuTTY: + +Starting PuTTY +~~~~~~~~~~~~~~ + +| Starting PuTTY.EXE on a Windows computer. You should see the following + picture where you enter the VM's (Freetz-Linux's) ip address and + confirm by clicking on **Open**. + +.. figure:: /screenshots/148.jpg + :alt: + +.. figure:: /screenshots/149.png + :alt: + +.. figure:: /screenshots/150.jpg + :alt: + +| The access data for PuTTy are login: **freetz** password: **freetz** +| Please be aware that the password is not shown while typing. After + connecting to the Freetz-VM you should update it by entering the + following commands: + + | **sudo apt-get update** (update the package lists) + | **sudo apt-get upgrade -d** (download updates) + | **sudo apt-get upgrade -y** (install updates) + +| Confirm each command by entering the administrator password + **freetz**. (If there should be a special inquiry for a certain + update, activate the system advisors packages and activate by hitting + ok). +| Next, enter the following command: + + | **svn + checkout**\ `​http://svn.freetz.org/branches/freetz-stable-2.0 `__ + +| This will download the newest stable Freetz source code (in this case: + version 2.0) from the subversion repository. Here you can find out if + a newer version has been released: + `​http://svn.freetz.org/tags/ `__. After + the download has finished you will see this message: **Checked out + revision xxxx**, e.g. xxxx=6526. Please look into FIRMWARES file for + supported firmwares. The release version can be out of date. +| Change directory by entering **cd freetz-stable** into your Freetz + directory and enter **make menuconfig**. + +.. _Settingsinmenuconfig: + +Settings in menuconfig +~~~~~~~~~~~~~~~~~~~~~~ + +| After entering the previous command you should the the following + screen: + +.. figure:: /screenshots/154.png + :alt: Mainpage + + Mainpage + +This is the acutal Freetz interface where you select your router. For +this tutorial we selected the 7270-V3. After selecting the router type, +exit menuconfig by selecting exit and hitting enter and confirm the +question with **Yes**. Then enter **make** and hit enter. Now you should +see this: + +.. figure:: /screenshots/156.png + :alt: + +The creation process will start. For the first time it might take a very +long time depending on your computer and internet connection since all +inital packages have to be downloaded. Once this is done the creation +process will be a lot faster if you make only small modifications. There +have been many warnings during the process but in the end there will be +a message that an image has been created. The corresponding image will +be created in the subfolder **images** of your Freetz directory. This +will be the final message: + +.. figure:: /screenshots/157.png + :alt: + +Now we have to copy the image to your computer. + +.. _Copyingtheimagetoyourcomputer: + +Copying the image to your computer +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +More informations can be found +`HERE `__ + +.. _ShutdownFreetz-Linux: + +Shutdown Freetz-Linux +~~~~~~~~~~~~~~~~~~~~~ + +You can now shot down your Ubuntu-Linux by typing: **sudo shutdown -h +now**.This command needs to be verified by typing in the administartor +password\ **freetz**. + +.. _Theflashingprocess: + +The flashing process +-------------------- + +.. figure:: /screenshots/78.jpg + :alt: + +| Once the image is on your computer you may start. But you need to make + sure to be prepared for the most unusual things to happen, e.g. that + the box does not function correctly after flashing. Therefore we urge + you to take precautions: + + | 1.) `Download <../../../Download.html>`__ the recover image for + your box: You can find the **Recover.exe** on AVM's `​FTP + site `__ + | 2.) Upgrade your router to the newest firmware. + | 3.) Have your access data at hand + | 4.) Backup your FritzBox settings + | 5.) Make sure you've set a password in the AVM-GUI. Even a simple + **0000** is sufficient, otherwise you won't be able to upload the + firmware + +| Now you are ready to go. Go to your FritzBox webinterface to update + your firmware, select the Freetz image and start the process. A notice + will show up informing you that the firmware you are about to upload + to your router is not an officially approved firmware which you have + to confirm. Then your router will restart in about 1-2 minutes. The + AVM webinterface should show up again and you can log into your box + again. Now you will have an additional Freetz interface which can be + accessed through `​http://fritz.box:81 `__. For + the first time you can log into it using **admin** and **freetz** but + you should change that password. +| Congratulations! Your first Freetz-Image is now on your box. + +.. _Links: + +Links +----- + +`An error occured, what now? `__ + +`What could my next image look +like? `__ + +| `Other information `__ diff --git a/wiki/help/howtos/common/newbie.rst b/wiki/help/howtos/common/newbie.rst new file mode 100644 index 0000000..87f94e7 --- /dev/null +++ b/wiki/help/howtos/common/newbie.rst @@ -0,0 +1,448 @@ +help/howtos/common/newbie +========================= +.. _ErsteSchrittemitFreetz: + +Erste Schritte mit Freetz +========================= + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Fragen im Vorfeld `__ + + #. `Was ist Freetz? `__ + #. `Was brauche ich um ein Freetz-Image erstellen zu + können? `__ + #. `Was sollte ich bedenken? `__ + #. `Was soll mein erstes Freetz-Image + können? `__ + #. `Warum sollte ich mit einem Minimal-Image am Anfang + starten? `__ + +#. `Wie muß ich meinen PC einstellen damit ich ein Image bauen + kann? `__ +#. `Wie baue ich mein erstes eigenes Image + (Minimal-Image) `__ + + #. `Starten von Freetz `__ + #. `PuTTY starten `__ + #. `Freetz Sourcen + auschecken `__ + #. `Einstellungen im + menuconfig `__ + #. `Image auf den PC kopieren `__ + #. `Freetz-Linux beenden `__ + +#. `Der Flashvorgang `__ +#. `Weiterführende Links `__ + +| + +.. _FragenimVorfeld: + +Fragen im Vorfeld +----------------- + +.. _WasistFreetz: + +Was ist Freetz? +~~~~~~~~~~~~~~~ + +| Eine Beschreibung sowie eine kurzen historischen Überblick über Freetz + findet ihr `hier <../../../FAQ.html#WasistFreetz>`__. + +.. _WasbraucheichumeinFreetz-Imageerstellenzukönnen: + +Was brauche ich um ein Freetz-Image erstellen zu können? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 0.) Sichern wichtiger (Zugangs-)Daten, z.B. Internet Service Provider, + WLAN, VoIP, Telefonliste, etc. +| 1.) `​Aktuelles Recovery-Image `__ für + deine Box bereithalten z.B. + `​7170 `__ + oder + `​7270 `__. +| |/!\\| Nach einem fehlgeschlagenen Firmware-Update kommst du nicht + mehr ins Internet, um dir ein Recovery-Image zu besorgen. +| 2a.) Ein natives Linux-Betriebssytem, z.B. + `​Ubuntu `__ (Einsteiger), Fedora + (Fortgeschrittener) oder Debian (Universalist). +| oder +| 2b.) Ein virtuelles Linux-Betriebssytem, z.B. + `​Freetz-Linux `__ + in einer virtuellen Maschine (z.B. + `​VirtualBox `__ oder + `​VMware Player `__) + installieren. (Alternativen: `​Ubuntu 10.04 LTS Abbild + 648MB `__ + (VMWare & VirtualBox), + `​speedlinux `__ + (coLinux als VM, 32bit) +| |/!\\| Freetz-Linux steht seit Version 1.2 nur als Virtualbox OVA + Datei bereit. Wer es weiterhin unter VMWare laufen lassen möchte, + findet + `hier <../../../FAQ.html#WiebekommeichFreetzLinuxunterVMWarezumLaufen>`__ + ein paar Hinweise (ohne Gewähr). +| 3.) Einen SSH-Client wie z.B. + `​PuTTY `__, + damit kann man sich via SSH oder Telnet ins Freetz-Linux einloggen. +| 4.) Genügend Speicherplatz auf Festplatte für Betriebssystem-Updates, + lokalen Download-Ordner "freetz/dl" etc. (`​Limitierungen bei + Dateisystemen `__ + beachten). Minimum: 5GiB (VM), Bevorzugt: 10GiB (nativ). +| |/!\\| Die folgende Beschreibung ist auf Freetz-Linux zugeschnitten. + +.. _Wassollteichbedenken: + +Was sollte ich bedenken? +~~~~~~~~~~~~~~~~~~~~~~~~ + +| Vergiss nicht, dass deine Box in erster Linie ein Router mit + Telefonanlage ist. Wenn Du die Firmware modifizierst, kann es + vorkommen, dass die Hauptfunktionen der Box dadurch beeinträchtigt + werden. Im Normalfall sollte dies nicht passieren, kann sich aber zum + Beipsiel dadurch äußern, dass sich die Box aufhängt oder unerwartet + neu startet. Bei der Paketauswahl solltest du folgende Regel befolgen: + Wenn Du nicht mehr als zwei Sätze zu einem Paket sagen kannst, dann + hat es auf Deiner Box nichts zu suchen! Sei bitte vorsichtig mit den + Patches. Nicht alle und nicht in jeder Kombination wirst Du sie + brauchen. +| Für den Anfang wird empfohlen von komplizierten Sachen, wie z.B. + "Replace Kernel" oder Einsetzen von eigenen Modulen, die Finger zu + lassen. Nicht alles, was cool klingt ist es in Wirklichkeit auch. + +.. _WassollmeinerstesFreetz-Imagekönnen: + +Was soll mein erstes Freetz-Image können? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Ihr solltet Euch folgende Frage stellen: **"Was will ich mit Freetz + erreichen?"** bzw. **"Was kann meine Box noch nicht und ich kann es + dann durch Freetz erreichen?"** +| Freetz ist keine Modifikation an sich, sondern eher eine + Entwicklungsumgebung, in der Modifikationen modular an der Firmware + der Box vorgenommen werden. Damit lassen sich sehr nette Sachen mit + der FritzBox anstellen, da man an das zu Grunde liegende Linux + herankommt und eigene Programme auf der Box ausführen kann. Die Liste + der Pakete spiegelt die bisherigen Bedürfnisse der Nutzer wieder. + Jeder kann sich seine Wunsch-Firmware selbst aus den bereits + vorhandenen Bausteinen (Paketen) zusammenstellen, eigene Pakete + hinzufügen oder nicht benötigte weglassen und so bewußt entscheiden, + welche Funktionen seine FritzBox künftig haben soll. +| Als erstes solltet Ihr Euch informieren welche Pakete in eurem neuen + Image überhaupt Sinn machen: `Liste der möglichen + Pakete <../../../packages.html>`__ und + `Erweiterungen <../../../packages.html#CGI-Erweiterungen>`__ + +.. _WarumsollteichmiteinemMinimal-ImageamAnfangstarten: + +Warum sollte ich mit einem Minimal-Image am Anfang starten? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Um überhaupt erstmal zu sehen was wie funktioniert und wie z.B. das + Menü nach dem ersten Flashen aussieht, empfiehlt es sich gerade für + Neueinsteiger eine Minimalkonfiguration herzustellen und einzuspielen. + Anfragen zur Fehlerbehebung und nach weiteren Plugins sind für das + Freetz-Team viel einfacher zu beantworten, wenn ein Minimal-Image + benutzt wird. + +.. _WiemußichmeinenPCeinstellendamiticheinImagebauenkann: + +Wie muß ich meinen PC einstellen damit ich ein Image bauen kann? +---------------------------------------------------------------- + +Hinweise zur Einstellung eures PC's findet ihr +`hier `__ + +.. _WiebaueichmeinersteseigenesImageMinimal-Image: + +Wie baue ich mein erstes eigenes Image (Minimal-Image) +------------------------------------------------------ + +| Also dann legen wir los und machen genau das was hier steht, auch wenn + eigentlich später mehr Pakete ins Image sollen. +| Vorher gilt es nochmal einen kurzen Check zu machen. + +- Welche Box besitze ich (7141, 7270, 7390, usw.)? +- Wieviel Arbeitsspeicher hat meine Box (16, 32, 64 oder 128 MB)? +- `Wie groß ist der Flash-Speicher meiner Box (4, 8 oder 16 + MB) <../../fritz_faq.html#WievielFlashhatmeineFritzBox7270>`__? +- Habe ich ein LAN-Kabel das funktioniert ? Sollte was schief gehen + kann die Box nur über den LAN Anschluß gerettet werden (mit Wlan ist + das nicht möglich) +- Habe ich ein Backup der bestehenden Konfiguration gemacht? + (Einstellungen → System → Einstellungen sichern) +- Ich habe das korrekte Recover Image für meine FritzBox. `​AVM FTP + Server `__ → Box → x_misc → z.B deutsch + → …recoverimage…..exe (zum Ausführen wird Windows benötigt) +- Ich weiß wie ich das Recover im Fall eines Falles durchführe? Wenn + nicht hilft dieser `​Link zu + AVM `__ + oder diese `​Offline + PDF `__ von + Router-FAQ. +- Mein Linux ist konfiguriert und alle für `Freetz benötigten + Pakete `__ sind eingespielt? +- Die aktuelle Firmware meiner Box wird von Freetz unterstützt? + `Unterstütze Boxen und + Firmwares <../../../FAQ.html#WelcheBoxenundwelcheFirmwareswerdendurchFreetzunterst%C3%BCtzt:>`__ + +| Nun geht es ans Bauen des Minimal-Images: + +- Diese Anweisung ist für alle die geschrieben, die zum ersten Mal Ihre + Fritzbox mit FREETZ modifizieren wollen. +- Wir geben hier keinerlei Garantie für die Richtigkeit unserer + Beschreibung oder eine Gewährleistung für evtl. auftretende Schäden + die Aufgrund unserer Beschreibung entstehen können! +- Mit Freetz kann der Funktionsumfang von AVM FritzBox Routern + erweitert werden. +- Das Freetz-Buildsystem ist Linux basierend und kann entweder nativ + unter Linux oder in einer virtuellen Maschine ausgeführt werden. Da + die meisten PCs mit dem Betriebssystem Windows ausgeliefert werden + konzentrieren wir uns in dieser Beschreibung auf den Fall virtuelle + Maschine. +- Freetz erstellt ein neues Firmwareimage, welches wie eine offizielle + Firmware von AVM direkt über das Webinterface der FritzBox in den + Router geladen werden kann. Welche Programmpakete das Image enthalten + soll entscheidet ihr selbst. Die Auswahl ist nur durch den freien + Platz im Flash des Routers begrenzt. + +.. _StartenvonFreetz: + +Starten von Freetz +~~~~~~~~~~~~~~~~~~ + +| Nun starten wir das Programm VirtualBox und wählen über + Datei→Appliance importieren das heruntergeladene Image aus + (freetz-linux-1.3.1.ova). Das Image wird jetzt für die Nutzung in + VirtualBox vorbereitet. Dieser Schritt kann ein wenig dauern. Falls + euer PC einen Prozessor mit mehr als einem Kern hat, dann könnt ihr + über Ändern→System→Prozessor die Anzahl Prozessoren der virtuellen + Maschine erhöhen. Desweiteren solltet ihr, wenn Virtual Box einen + Fehler bezüglich der Konfiguration meldet auf Ändern klicken und die + Einstellungen kontrollieren. Danach kann man das Einstellungsfenster + wieder schließen und die virtuelle Maschine starten. Nach dem Start + von Freetz-Linux meldet ihr euch mit dem Benutzer **freetz** und + Passwort **freetz** an und bestätigt jede Eingabe mit der Returntaste. + (Hinweis: Bei der Eingabe des Passwortes werden die Zeichen nicht auf + dem Bildschirm angezeigt.) + +.. figure:: /screenshots/226.png + :alt: + +.. figure:: /screenshots/227.png + :alt: + +.. _PuTTYstarten: + +PuTTY starten +~~~~~~~~~~~~~ + +| Als nächstes starten wir Putty am PC. Putty ist hier zu finden: + `​Putty-Download `__ +| Als nächstes sollte folgendes Bild erscheinen. +| Dort einmalig auf der linken Seite **Window**\ →\ **Translation** + auswählen und in der Auswahlliste auf der rechten Seite **UTF-8** + auswählen. Auf der linken Seite dann wieder **Session** auswählen und + rechts den Button **Save** drücken. Damit kann Putty auch die Umlaute + richtig anzeigen. +| Zum Verbinden gebt ihr dann **freetz-linux** als Host Name eurer VM + (Freetz-Linux) ein und bestätigt das ganze mit **Open**. + +.. figure:: /screenshots/148.jpg + :alt: + +.. figure:: /screenshots/149.png + :alt: + +.. figure:: /screenshots/150.jpg + :alt: + +| Die Zugangsdaten für PuTTy sind die gleichen wie oben. (Auch hier wird + bei der Passwort-Eingabe kein Echo angezeigt.) +| So, nachdem ihr PuTTy mit Freetz-Linux verbunden habt solltet ihr + Freetz-Linux auf den aktuellen Softwarestand bringen. Dazu gebt ihr + folgende Befehle ein: + + | **sudo apt-get update** (Paketlisten auf den neuesten Stand + bringen) + | **sudo apt-get -d upgrade** (Updates herunterladen) + | **sudo apt-get -y upgrade** (Updates installieren) + +Die nun folgenden Abfragen werden durch Eingabe des Passwortes +**freetz** bestätigt. (Sollte eine Abfrage nach einem Update erscheinen, +dann bitte **die Pakete des Systembetreuers** aktivieren und mit **OK** +bestätigen). Solltet Ihr folgende Fehlermeldung sehen:\ **hostname +konnte nicht aufgelöst werden**, dann kontrolliert bitte die +Netzwerkkonfiguration und prüft ob eure virtuelle Maschine eine +IP-Adresse bekommen hat. Zum Überprüfen bitte folgenden Befehl in der VM +eingeben: **ifconfig** + +.. code:: wiki + + eth0 Link encap:Ethernet Hardware Adresse xx:xx:xx:xx:xx:xx + inet Adresse:192.168.XXX.203 Bcast:192.168.XXX.255 Maske:255.255.255.0 + inet6-Adresse: XXXX::XXXX:XXXX:XXXX:XXXX/XX Gültigkeitsbereich:Verbindung + +| Wie auf dem Auszug zu sehen hat die VM die **192.168.XXX.203** als IP + bekommen. Die IP kann aber von System zu System anders lauten, das ist + Abhängig vom IP-Bereich eures Systems. Sollte euch jedoch dort gar + keine IP angezeigt werden, müsst ihr die Einstellungen eures PC's bzw. + von VirtualBox erneut überprüfen. + +.. _FreetzSourcenauschecken: + +Freetz Sourcen auschecken +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Als nächstes gebt ihr folgenden Befehl ein: + +.. code:: wiki + + svn checkout http://svn.freetz.org/branches/freetz-stable-2.0 + +Nun wird der aktuelle stabile Freetz Source Code (hier: Version 2.0) aus +dem Subversion Repository geladen. Unter folgendem Link kann geprüft +werden, ob es ggf. bereits ein aktuelleres stable Release verfürbar ist: +`​http://svn.freetz.org/tags/ `__. Wenn der +Download beendet ist steht folgende Abschlußmeldung auf dem Bildschirm: +**Checked out revision xxxx**, z.B. xxxx=10388. Tatsächlich trägt +freetz-2.0 die Revision 10388 (man beachte "Last Changed Rev: 10388" +bzw. "Letzte geänderte Rev: 10388"). + +Auch nach dem Erscheinen (Release) von freetz-2.0 (stable) wird Freetz +ständig verbessert. Danach wechselt man mit **cd freetz-stable-2.0** in +das Freetz Verzeichnis und gibt **make menuconfig** ein. + +.. _Einstellungenimmenuconfig: + +Einstellungen im menuconfig +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Nach dieser Eingabe solltet Ihr folgendes Bild sehen: + +.. figure:: /screenshots/154.png + :alt: Mainpage + + Mainpage + +Dies ist die Konfigurations-Oberfläche des Freetz-Buildsystems. Dort +wählt ihr im ersten Anlauf nur den Router aus für den das Image bestimmt +ist. Für dieses HowTo haben wir Beispielhaft die 7270_V3 gewählt. +Nachdem der zu freetzende Router ausgewählt wurde, (Hardware type + +**Enter** drücken + mit erneutem **Enter** zurück ins Main-Menu) beendet +man menuconfig über den Button **EXIT** (welches man durch drücken der +Pfeil nach Unten-Taste erreicht)und bestätigt das ganze mit **Yes**. +Anschließend gibt man auf der Kommandozeile der Konsole ein **make** +ein. Der Erstellungsvorgang beginnt nun und ihr solltet ein solches Bild +sehen: + +.. figure:: /screenshots/156.png + :alt: + +Beim ersten Build kann es je nach System und Internetanbindung sehr +lange dauern, weil alle benötigten Pakete erst einmal runtergeladen +werden müssen. Ist dies einmal geschehen und man passt in einem weiteren +Schritt seine Konfiguration nachträglich nochmal an geht es wesentlich +schneller. Während des Vorgangs gibt es etliche Warnungen. Am Ende +sollte dann aber eine Meldung ausgespuckt werden, dass das Image +erstellt worden ist. Das erstellte Image wird im Unterordner **images** +des Freetz Verzeichnisses abgelegt. Die Abschlussmeldung sieht wie folgt +aus: + +.. figure:: /screenshots/157.png + :alt: + +Nun müssen wir nur noch das Image auf den PC kopieren. + +.. _ImageaufdenPCkopieren: + +Image auf den PC kopieren +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Info's findet ihr `hier `__. + +.. _Freetz-Linuxbeenden: + +Freetz-Linux beenden +~~~~~~~~~~~~~~~~~~~~ + +Euer Freetz-Linux könnt ihr entweder mit dem Befehl **sudo poweroff** +herunter fahren oder den Zustand der virtuellen Maschine abspeichern +indem ihr das VirtualBox Fenster schließt. Die Eingabe **sudo poweroff +ist wieder mit dem bekannten Passwort zu bestätigen.** + +.. _DerFlashvorgang: + +Der Flashvorgang +---------------- + +.. figure:: /screenshots/184.png + :alt: Startseite von Freetz + + Startseite von Freetz + +| Hat man das Image auf dem PC, kann es losgehen. Allerdings sollte man + sicherstellen, dass man für die unwahrscheinliche Situation präpariert + ist, daß die Box nach dem Flashvorgang nicht durchstartet. Hierfür + sollte man folgende Vorbereitungen unbedingt treffen: + + | 1.) Recover Image herunterladen: Die jeweilige **Recover.exe** + findet ihr auf der\ `​AVM FTP Seite `__ + | 2.) Router auf die aktuelle AVM-Firmware updaten. + | 3.) DSL-Zugangsdaten bereithalten + | 4.) Einstellungen der Fritzbox sichern + | 5.) Sicherstellen, dass ein Passwort im AVM-WebIF gesetzt ist. Ein + einfaches **0000** reicht, da sich sonst das neue Image nicht auf + die Box spielen lässt + +| Hat man dies getan, kommt der große Moment. Hierfür im Webinterface + der Fritzbox unter **System → Firmware-Update** das Image auswählen + und den Update-Vorgang starten. +| Nachdem die Firmware übertragen ist kommt nochmal ein Hinweis, daß es + sich um keine offizielle Firmware von AVM handelt, was bestätigt + werden muß. Danach sollte eure FB das Image einspielen und wieder + problemlos starten. +| **Hinweis:** Seit der AVM-Firmware ab der Version 6.5x kann man nicht + mehr so einfach ein selbst gebautes Freetz-Image über den oben + genannten Weg zur Fritzbox hochladen. Seit diesem Zeitpunkt akzeptiert + die Fritzbox nur noch signierte Firmewares. Mehr zu diesem Thema + findet ihr im `hier <../development/sign_image.html>`__ +| Das AVM-WebIF-Fenster zur Passwordeingabe sollte automatisch wieder + auf dem Bildschirm erscheinen. Sollte das AVM-WebIF nicht wieder + autom. gestartet werden, dann könnt ihr euch auch per Browser über + `​http://fritz.box `__ einloggen. Zusätzlich gibt es + jetzt auch das Freetz-WebIF welches über die URL + `​http://fritz.box:81 `__ erreichbar ist. Hier + loggt man sich mit **admin** und **freetz** ein und sieht jetzt das + neue Freetz-Webinterface. +| Glückwunsch! Euer erstes Freetz-Image befindet sich nun auf der Box. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +| `Es ist ein Fehler aufgetreten. Was nun? `__ +| `Wie könnte mein nächstes Image + aussehen? `__ +| `Sonstige Infos `__ +| `Wie bekomme ich Freetz Linux unter VMware™ zum + Laufen <../../../FAQ.html#WiebekommeichFreetzLinuxunterVMWarezumLaufen>`__ + +- Tags +- `howtos `__ + +Anhänge (1) +~~~~~~~~~~~ + +- `converted.gif `__\ `​ `__ + (4.8 KB) - hinzugefügt von *hauruck* `vor 6 + Jahren `__. + +Alle Anhänge herunterladen als: +`.zip `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/newbie/errors.rst b/wiki/help/howtos/common/newbie/errors.rst new file mode 100644 index 0000000..0832c63 --- /dev/null +++ b/wiki/help/howtos/common/newbie/errors.rst @@ -0,0 +1,82 @@ +help/howtos/common/newbie/errors +================================ +.. _WasmacheichwennsichmeineBoxnichtFreetzenlässt: + +Was mache ich, wenn sich meine Box nicht Freetzen lässt +======================================================= + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `FAQ's lesen und Tickets + durchsuchen `__ +#. `Suchfunktion des IPPF + benutzen `__ +#. `Einen neuen Thread im IPPF + eröffnen `__ + +| +| Falls etwas schief gegangen ist bitte nicht verzweifeln und ganz in + Ruhe die folgenden Punkte abarbeiten. Denn durch Freetz kann man eine + Box zwar ins Nirvana schicken aber nicht zerstören (zumindestens sind + uns bis dato noch keine Fälle bekannt in denen Freetz eine Box + zerstört hätte): + +.. _FAQslesenundTicketsdurchsuchen: + +FAQ's lesen und Tickets durchsuchen +----------------------------------- + +Als erstes durchstöbert ihr die bekannten Fehlermeldungen auf der +`FAQ-Seite <../../../../FAQ.html#BeimErstellentritteinFehleraufwasnun>`__ +und durchsucht die offenen `Tickets `__. + +.. _SuchfunktiondesIPPFbenutzen: + +Suchfunktion des IPPF benutzen +------------------------------ + +Wenn die FAQs nicht weiter helfen konnten, nachsehen ob die +`​Suchfunktion vom IPPF `__ +einen passenden Thread zu dem aufgetretenen Fehler hat. Falls sich auch +hier nichts findet, geht's mit dem nächsten Punkt weiter. + +.. _EinenneuenThreadimIPPFeröffnen: + +Einen neuen Thread im IPPF eröffnen +----------------------------------- + +Folgende Punkte sollten beim Eröffnen eines neuen Threads beachtet +werden: + +| 1.) Ein *aussagekräftiges Thema* wählen und im + `​IP-Phone-Forum `__ + den Thread aufmachen. +| 2.) Die Konfigurationsdatei + `.config <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ + aus dem Freetz-Linux herunterladen und an das Posting anhängen. `Wo + und + Wie <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ + man diese Datei findet, steht auch in den + `FAQ's <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__. +| 3.) Folgendes sollte in deinem Posting enthalten sein: + + | a.) Bezeichnung der FritzBox (z.B. 7170) + | b.) Verwendete Freetz-Version (Freetz-2.0, stable-branch oder + trunk, revision) + | c.) Welche Firmware/Labor-Version wolltest Du benutzen? + | d.) Welche Firmware war vor dem Flashen auf der Box? + | e.) Wurde während des Bauvorgangs eine Fehlermeldung angezeigt? + (mit Kontext posten, nicht nur eine Zeile!) + +| Hierzu ist es ratsam aufgetretene Fehler im PuTTY zu markieren und den + ganzen Inhalt als TXT oder als [code] **Fehlertext** `code `__ + im neu eröffnenten Thread zu integrieren. Beim Inhalt des Fehlertextes + solltet ihr frei nach dem Motto "zuviel ist besser als zu wenig" + verfahren. + +| Hinweis: Wenn möglich bitte keine Screenshots posten. + +**Wichtig:** Auf jeden Fall musst du die +`.config <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ +an den neuen Thread anhängen. diff --git a/wiki/help/howtos/common/newbie/errors.rst.content b/wiki/help/howtos/common/newbie/errors.rst.content new file mode 100644 index 0000000..b6cc171 --- /dev/null +++ b/wiki/help/howtos/common/newbie/errors.rst.content @@ -0,0 +1,106 @@ +============================================== +wiki/help/howtos/common/newbie/errors..content +.. raw:: html + +
+ +.. raw:: html + +
+ +.. raw:: html + +
+ +.. rubric:: Was mache ich, wenn sich meine Box nicht Freetzen lässt + :name: WasmacheichwennsichmeineBoxnichtFreetzenlässt + +.. raw:: html + +
+ +.. rubric:: Inhaltsverzeichnis + :name: inhaltsverzeichnis + +#. `FAQ's lesen und Tickets + durchsuchen `__ +#. `Suchfunktion des IPPF + benutzen `__ +#. `Einen neuen Thread im IPPF + eröffnen `__ + +.. raw:: html + +
+ +| +| Falls etwas schief gegangen ist bitte nicht verzweifeln und ganz in + Ruhe die folgenden Punkte abarbeiten. Denn durch Freetz kann man eine + Box zwar ins Nirvana schicken aber nicht zerstören (zumindestens sind + uns bis dato noch keine Fälle bekannt in denen Freetz eine Box + zerstört hätte): + +.. rubric:: FAQ's lesen und Tickets durchsuchen + :name: FAQslesenundTicketsdurchsuchen + +Als erstes durchstöbert ihr die bekannten Fehlermeldungen auf der +`FAQ-Seite <../../../../FAQ.html#BeimErstellentritteinFehleraufwasnun>`__ +und durchsucht die offenen `Tickets `__. + +.. rubric:: Suchfunktion des IPPF benutzen + :name: SuchfunktiondesIPPFbenutzen + +Wenn die FAQs nicht weiter helfen konnten, nachsehen ob die +`​Suchfunktion vom IPPF `__ +einen passenden Thread zu dem aufgetretenen Fehler hat. Falls sich auch +hier nichts findet, geht's mit dem nächsten Punkt weiter. + +.. rubric:: Einen neuen Thread im IPPF eröffnen + :name: EinenneuenThreadimIPPFeröffnen + +Folgende Punkte sollten beim Eröffnen eines neuen Threads beachtet +werden: + +| 1.) Ein *aussagekräftiges Thema* wählen und im + `​IP-Phone-Forum `__ + den Thread aufmachen. +| 2.) Die Konfigurationsdatei + `.config <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ + aus dem Freetz-Linux herunterladen und an das Posting anhängen. `Wo + und + Wie <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ + man diese Datei findet, steht auch in den + `FAQ's <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__. +| 3.) Folgendes sollte in deinem Posting enthalten sein: + + | a.) Bezeichnung der FritzBox (z.B. 7170) + | b.) Verwendete Freetz-Version (Freetz-2.0, stable-branch oder + trunk, revision) + | c.) Welche Firmware/Labor-Version wolltest Du benutzen? + | d.) Welche Firmware war vor dem Flashen auf der Box? + | e.) Wurde während des Bauvorgangs eine Fehlermeldung angezeigt? + (mit Kontext posten, nicht nur eine Zeile!) + +| Hierzu ist es ratsam aufgetretene Fehler im PuTTY zu markieren und den + ganzen Inhalt als TXT oder als [code] **Fehlertext** `code `__ + im neu eröffnenten Thread zu integrieren. Beim Inhalt des Fehlertextes + solltet ihr frei nach dem Motto "zuviel ist besser als zu wenig" + verfahren. + +| Hinweis: Wenn möglich bitte keine Screenshots posten. + +**Wichtig:** Auf jeden Fall musst du die +`.config <../../../../FAQ.html#Wofindeichdieseber%C3%BChmte.config-Datei>`__ +an den neuen Thread anhängen. + +.. raw:: html + +
+ +.. raw:: html + +
+ +.. raw:: html + +
diff --git a/wiki/help/howtos/common/newbie/other.rst b/wiki/help/howtos/common/newbie/other.rst new file mode 100644 index 0000000..8e80e4c --- /dev/null +++ b/wiki/help/howtos/common/newbie/other.rst @@ -0,0 +1,964 @@ +help/howtos/common/newbie/other +=============================== +.. _SonstigeInfosfürNewbies: + +Sonstige Infos für Newbie's +=========================== + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wie könnte mein nächstes Image + aussehen: `__ + + #. `VirtualBox starten `__ + #. `Einstellen des menuconfig `__ + #. `Image auf den PC kopieren `__ + #. `Freetz-Linux beenden `__ + #. `Der Flashvorgang `__ + + #. `Konfiguration der neuen + Plugins `__ + + #. `Freetz-WebIF einstellen `__ + #. `USB-Stick erstellen `__ + #. `SWAP-File einrichten `__ + #. `Samba `__ + + #. `Einstellungen `__ + #. `Erweitert `__ + #. `Freigaben `__ + + #. `VSFTPD `__ + + #. `Einstellungen `__ + #. `Rechtevergabe für FTP-User (wie ändere ich die Beispieldateien + aus dem ZIP + richtig) `__ + + #. `FTP-User erzeugen `__ + + #. `Wie ist der + adduser-Befehl:; `__ + + #. `AVM-Firewall `__ + + #. `Einstellungsseite `__ + +#. `Sonstige Fragen `__ + + #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen + kann `__ + + #. `Linux `__ + #. `Windows `__ + + #. `Image auf den PC kopieren `__ + #. `Wie kann man eine gefreetzte Fritzbox + updaten `__ + #. `Einige Programme haben ähnliche Funktionen, welche sind + performanter? `__ + +#. `Linux-Befehle (Zielgruppe + Newbies) `__ + + #. `allgemeine Linux-Befehle `__ + #. `Der vi Editor `__ + +| + +.. _WiekönntemeinnächstesImageaussehen:: + +Wie könnte mein nächstes Image aussehen: +---------------------------------------- + +Freetz-Image inkl. AVM-Firewall CGI, SAMBA und VSFTP + +.. _VirtualBoxstarten: + +VirtualBox starten +~~~~~~~~~~~~~~~~~~ + +| `Wie starte ich VirtualBox <../newbie.html#StartenvonFreetz>`__. + Dieser Pkt. kann aber übersprungen werden, wenn VirtualBox und Putty + noch gestartet sind. + +.. _Einstellendesmenuconfig: + +Einstellen des menuconfig +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Zur Erstellung eines neuen Image müssen wir wieder das **menuconfig** + aufrufen. + +.. figure:: /screenshots/154.png + :alt: Mainpage + + Mainpage + +| In dieser Oberfläche wählt man dann den zu patchenden Router und die + gewünschten Pakete aus. Für dieses HowTo haben wir Beispielhaft die + 7270_v3 gewählt. + +.. figure:: /screenshots/259.png + :alt: Auswahl des Boxtyps + + Auswahl des Boxtyps + +| +| Dieses Image soll am Ende folgende Elemente enthalten und darum wählen + wir nun folgende Punkt aus: +| **a.) unter other patches:** + +- **FREETZMOUNT : Patch AVMs hotplug script, …..** +- **Automount filesystem** einfach gesetzt lassen. +- **ext2** (linux Dateisystem) +- **ext3** (linux Dateisystem) +- **fat** /Windows Dateisystem) +- **NTFS** (Muß aktivier sein wenn man NTFS formatierte Platten an der + Box nutzen möchte) + +.. figure:: /screenshots/92.png + :alt: Fielsystem + + Fielsystem + +| **b.) unter Packages —> Web interface —>** + +- **AVM-Firewall 2.0.4_rc5** (Web-Oberfläche um die von AVM dem User + vorenthaltene integrierte Firewall zu administrieren) +- **spindown-cgi 0.2** (Web-Oberfläche für sg3_utils (Sleep-Modus für + angeschlossene Festplatten) +- **Syslogd CGI** (Log-Datei zum Auswerten vom System z.B. bei der + Fehlersuche) + +.. figure:: /screenshots/94.png + :alt: + +| **c.) unter unter Packages —> Standard packages —>** + +- **Samba suite** —> **version (samba 3.0.37)** (dies ist der Server + der den Zugriff auf die USB Medien an der FB von Windows erlaubt). + + - Ebenfalls müssen folgende Haken bei folgenden Unterpunkten gesetzt + werden: + + - **smbd** (file sharing server) + - **nmbd** (NetBIOS name server) + - **smbclient** + - **nmblookup** + +.. figure:: /screenshots/260.png + :alt: Samba suite + + Samba suite + +- **vsftp 3.0.2** (FTP-Server). Hier bitte keine weiteren Haken bei den + Unterpunkten setzen. + +.. figure:: /screenshots/164.png + :alt: vsftp + + vsftp + +| Weitere Pakete und Patches incl. der Beschreibungen findet ihr auf der + Website : `wiki:packages <../../../../packages.html>`__ +| Nachdem alle Pakete und Patches ausgewählt sind, beendet man Freetz + und gibt auf der Kommandozeile der Shell Konsole **make** ein. +| Der Rest des Buildprozesses läuft wieder wie gewohnt ab. Die + Abschlussmeldung sieht dann wie folgt aus: + +.. figure:: /screenshots/157.png + :alt: + +| +| Nun müssen wir das Image auf den PC kopieren. + +.. _ImageaufdenPCkopieren: + +Image auf den PC kopieren +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Info's findet ihr `HIER `__ + +.. _Freetz-Linuxbeenden: + +Freetz-Linux beenden +~~~~~~~~~~~~~~~~~~~~ + +| Euer Ubuntu-Linux könnt ihr nun mit dem Befehl : **sudo shutdown -h + now** sauber herunter fahren. Diese Eingabe muß jedoch noch mit einem + **freetz** erneut bestätigt werden. + +.. _DerFlashvorgang: + +Der Flashvorgang +~~~~~~~~~~~~~~~~ + +| Info's zum Flashforgang sind `HIER <../newbie.html#DerFlashvorgang>`__ + zu finden. + +.. _KonfigurationderneuenPlugins: + +Konfiguration der neuen Plugins +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Nachdem eure FB wieder problemlos angelaufen ist, könnt ihr wie gewohnt +per Browser über `​http://fritz.box `__ einloggen. +Zusätzlich gibt es aber jetzt die Freetz Oberfläche, die über den Link +`​http://fritz.box:81 `__ erreicht werden kann. +Hier loggt man sich mit **admin** und **freetz** ein. Danach sieht man +folgende Maske: + +.. figure:: /screenshots/261.png + :alt: Startbildschirm + + Startbildschirm + +| + +.. _Freetz-WebIFeinstellen: + +Freetz-WebIF einstellen +~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) Wechseln nach ⇒ **Freetz** ⇒ **Einstellungen** und dort unter + **Freetzmount** den Haken bei **Partitionsname (falls vorhanden) als + Mountpoint nutzen**. + +.. figure:: /screenshots/262.png + :alt: Freetzmount + + Freetzmount + +2.) Wechseln nach ⇒ **Freetz** ⇒ **Weboberfläche** und kontrollieren ob +dort folgende Haken gesetzt sind: + +- **Untermenü** +- **Hauptseite** +- **mit Knöpfen** +- **Box-Info** +- **Freetz-Info** + +.. figure:: /screenshots/263.png + :alt: Freetz-Weboberfläche + + Freetz-Weboberfläche + +| + +.. _USB-Stickerstellen: + +USB-Stick erstellen +~~~~~~~~~~~~~~~~~~~ + +Nun formatieren wir unseren USB-Stick oder USB-Festplatte am PC in +**NTFS**, und geben ihm den Namen **USB** und legen folgende Ordner +darauf an: + +- **admin** + + - **gast (Unterordner von admin)** + - **musik (Unterordner von admin)** + - **bilder (Unterordner von admin)** + - **filme (Unterordner von admin)** + - **dokumente (Unterordner von admin)** + +| Diesen so erstellten Stick stecken wir nun in den USB-Port der + Fritzbox und starten diese neu (reboot). +| Nach dem Reboot solltet ihr nun folgendes Freetz-Menu sehen: + +.. figure:: /screenshots/264.png + :alt: Neues Freetz-WebIF inkl gemounteten USB-Stick + + Neues Freetz-WebIF inkl gemounteten USB-Stick + +Ganz unten kann man nun sehen das der USB-Stick als **USB** +(/var/media/ftp/**USB** ) gemountet wurde. Sollte dort **uStor01** +stehen, müsst ihr die letzten Schritte nochmals kontrollieren. + +.. _SWAP-Fileeinrichten: + +SWAP-File einrichten +~~~~~~~~~~~~~~~~~~~~ + +| 1.) Wechseln nach ⇒ **Freetz** ⇒ **Einstellungen** +| 2.) unter **Swap** den Pkt. **Aktiviert** aktivieren. +| 3.) unter Pfad tragen wir nun folgendes ein: + **/var/media/ftp/USB/swapfile** +| 4.) und unter Größe : **20** ein. +| 5.) nun drücken wir den Button **Swap-Datei anlegen** +| 6.) Im nächsten Fenster sollte man jetzt sehen wie die SWAP-Datei + angelegt wird. + +.. code:: wiki + + Erstelle leere Datei ... + 20+0 records in + 20+0 records out + Bereite Datei für Swap-Benutzung vor ... + Setting up swapspace version 1, size = 20967424 bytes + +| Dieses Fenster kann man danach einfach schließen. +| Sollte alles richtig eingestellt sein, kann man SWAP über den Button + Start nun starten. Die Anzeige **stopped** sollte nach **running** + wechseln. + +.. _Samba: + +Samba +~~~~~ + +.. _Einstellungen: + +Einstellungen +^^^^^^^^^^^^^ + +.. _Starttyp: + +Starttyp +'''''''' + +| alles auf **Automatisch** + +.. _Konfiguration:: + +Konfiguration: +'''''''''''''' + +- Samba security = Share +- Benutzername: ftpuser +- Passwort: \* \* \* \* \* \* (einfach leer lassen, Die Pkt. werden + trotzdem angezeigt) +- IP-Adresse: 192.168.178.1(255.255.255.0 +- Netbios Name: NAS +- Arbeitsgruppe: WORKGROUP +- Beschreibung: %h (Samba %v) ⇒ (ich würde diesen Inhalt löschen) +- OS Level für Election: 20 +- Haken bei Bevorzugter Master + +.. _Standardfreigaben: + +Standardfreigaben +''''''''''''''''' + +| Beide Haken setzen / gesetzt lassen + +.. figure:: /screenshots/79.png + :alt: Samba- Einstellungen + + Samba- Einstellungen + +.. _Erweitert: + +Erweitert +^^^^^^^^^ + +| In das leere Feld kopiert man nun folgenden Text: + +.. code:: wiki + + log level = 1 + socket options = TCP_NODELAY IPTOS_LOWDELAY + read raw = yes + write raw = yes + oplocks = yes + max xmit = 65535 + dead time = 15 + getwd cache = yes + lpq cache = 30 + unix charset = UTF-8 + +.. _Freigaben: + +Freigaben +^^^^^^^^^ + +| In das leere Feld kopiert man nun folgenden Text: + +.. code:: wiki + + /var/media/ftp/USB USB-Stick 1 0 - USB-Stick + /var/media/ftp/USB/data/gast Gast 1 0 - Gast + /var/media/ftp/USB/data/musik Musik 1 0 - Musik + /var/media/ftp/USB/data/filme Filme 1 0 - Filme + /var/media/ftp/USB/data/bilder Bilder 1 0 - Bilder + /var/media/ftp/USB/data/dokumente Dokumente 1 0 - Dokumente + +Wir haben nun 6 Windows-Freigaben für unserem USB-Stick erzeugt. + +- **USB-Stick** (hier sieht man den gesamten Inhalt des Sticks) +- **Gast** (Freigegebener Ordner) +- **Musik** (Freigegebener Ordner) +- **Filme** (Freigegebener Ordner) +- **Bilder** (Freigegebener Ordner) +- **Dokumente** (Freigegebener Ordner) + +.. figure:: /screenshots/265.png + :alt: Samba-Freigaben am PC + + Samba-Freigaben am PC + +| Diese können nun per **Netzlaufwerk verbinden** mit dem PC verbinden. +| Hier eine kurze Beschreibung der Parameter anhand der ersten Freigabe: + (Diese Einträge sind jedoch nur möglich, wenn die aktuelle + `Sicherheitsstufe <../../../../FAQ.html#KonfigurationinderaktuellenSicherheitsstufenichtverf%C3%BCgbar>`__ + auf 0 gesetzt ist bzw. wird.) +| **Beispiel:** + +.. code:: wiki + + /var/media/ftp/USB USB-Stick 1 0 - USB-Stick + +.. + + | **/var/media/ftp/USB** dies ist der interner Pfad zum USB-Stick + | **/USB-Stick** das ist das Freigegebenes Verzeichnis + | **USB-Stick** Name der Freigabe der in der Windows-Netzwerkumgebung + als Freigabe angezeigt wird. + | **1** Gast-Zugang erlaubt, kein Benutzername und Passwort nötig + | **0** Schreib-Lesezugriff aktiviert + | **-** Grund für das - ????? (Muß rein, Begründung folgt !) + | **USB-Stick** Kommentar + +Da wir als Netbiosname **NAS** vergeben hatte, lautet der Zugriff von +Windows auf die Freigabe nun: + +.. code:: wiki + + \\NAS\USB-Stick + +.. figure:: /screenshots/266.png + :alt: Freigabe am PC mounten + + Freigabe am PC mounten + +| + +.. _VSFTPD: + +VSFTPD +~~~~~~ + +.. _Einstellungen1: + +Einstellungen +^^^^^^^^^^^^^ + +.. _Starttyp1: + +Starttyp +'''''''' + +Starttyp auf **Automatisch** stellen + +.. _FTPServer: + +FTP Server +'''''''''' + +| Server binden an Port: 2121 (Dieser Port muß von 21 nach 2121 geändert + werden da sich sonst VSFTPD nicht starten läßt. Möchte man den Port 21 + benutzen, muß der AVM-FTP (ftpd) gestoppt werden (inetd muß dazu unter + Dienste auf stopped gesetzt werden). + + | **Achtung, das Stoppen von ftpd hat aber Auswirkung auf einige + AVM-Dienste** + +.. _Zugriff: + +Zugriff +''''''' + +Folgende Haken müssen wie folgt gesetzt sei: + +- **Anonymes FTP =** Nein +- **Lokale Benutzer =** **Ja** +- **chroot jail =** **Ja** +- **Erlaube root login =** Nein +- **Erlaube ftpuser login =** Nein + +.. _ErweiterteEinstellungen: + +Erweiterte Einstellungen +'''''''''''''''''''''''' + +- Anzahl Verbindungen: + + - insgesamt : **25** + - pro Client : **25** + +- Passive Ports: + + - Minimum : **0** + - Maximum : **0** + +- Sonst sind keine Haken gesetzt + +.. figure:: /screenshots/267.png + :alt: Zugriff und Erweiterte Einstellungen + + Zugriff und Erweiterte Einstellungen + +.. _ZusätzlicheKonfigurationsoptionenfürExperten: + +Zusätzliche Konfigurationsoptionen (für Experten) +''''''''''''''''''''''''''''''''''''''''''''''''' + +| In das leere Feld kopiert man nun folgenden Text: + +.. code:: wiki + + user_config_dir=/var/media/ftp/USB/vsftp_user_conf + +.. _Logging: + +Logging +''''''' + +- Logging aktivieren = angehakt +- zusätzlich Protokoll-Log = leer + +- Syslog = deaktiviert +- Datei = aktiviert mit folgendem Text: + + .. code:: wiki + + /var/media/ftp/USB/logs/vsftpd.log + +.. figure:: /screenshots/268.png + :alt: Zusätzliche Konfig. + Logging + + Zusätzliche Konfig. + Logging + +.. _ÄnderungenamUSB-Stick: + +Änderungen am USB-Stick +''''''''''''''''''''''' + +Folgende Ordner müssen noch direkt auf dem USB-Stick erzeugt werden: + +- **logs** +- **vsftp_user_conf** + +In diese Ordner kopieren wir nun die Datein aus diesem +`ZIP `__ +wie folgt: + +- **logs** + + - syslog.log + - vsftpd.log + +- **vsftp_user_conf** + + - admin + - gast + - mary + - paul + +| Das Kopieren der Dateien kann ja nun Dank gestartetem SAMBA direkt + passieren ohne das der USB-Stick von der Box getrennt werden muß. + +.. _RechtevergabefürFTP-UserwieändereichdieBeispieldateienausdemZIPrichtig: + +Rechtevergabe für FTP-User (wie ändere ich die Beispieldateien aus dem ZIP richtig) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| Ob ein Neuer FTP-User Schreibrechte erhalten soll oder nur lesen + können soll wird wie folgt geregelt: +| Jeder Benutzer erhält eine Datei mit seinem Dateinamen im Ordner + **/var/media/ftp/USB/vsftp_user_conf/** + +.. _InhaltderDatei:: + +Inhalt der Datei : +'''''''''''''''''' + +| 1.) Mary und Admin: **write_enable=yes** (User hat Schreibrechte und + Löschrechte) +| 2.) Gast : **write_enable=no** (User hat **keine** Schreibrechte) +| 3.) Paul : Über diese Benutzerdateien ist es auch möglich einzelne + FTP-Befehle + (`​Liste `__) für + Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein + und entfernt die Befehle die der User nicht ausführen darf: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +So mit darf Paul Dateien auf den FTP kopieren und Verzeichnisse anlegen, +jedoch diese nicht wieder löschen. Also muß folgendes in der Datei +stehen: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +.. + + | **DELE** (Delete file), **RMD** (Remove a directory) wurden aus dem + oben angegebenen String gelöscht. + | Sollte etwas immer noch nicht gehen, dann den Router einfach + nochmal neu starten.(Reboot der FritzBox). + +.. _FTP-Usererzeugen: + +FTP-User erzeugen +~~~~~~~~~~~~~~~~~ + +| 1.) **Telnet-Dienst** unter Freetz ⇒ Dienste starten. +| 2.) `Putty starten <../newbie.html#PuTTYstarten>`__ und sich per + telnet mit der Box verbinden (nicht per ssh) + + Putty wird wie folgt eingestellt: + +.. figure:: /screenshots/87.jpg + :alt: + +.. + + Nach drücken von **Open** und Eingabe folgender Daten **[ login: root + ]** und **[ Password: freetz ]** solltet ihr folgendes Bild sehen: + +.. figure:: /screenshots/88.jpg + :alt: + +| +| 3.) Nach dem Einloggen können wir nun beginnen FTP-User anzulegen. + +.. _Wieistderadduser-Befehl:: + +Wie ist der adduser-Befehl:; +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + | ``adduser -h '''Verzeichnis''' '''Benutzername'''`` + + | **Verzeichnis**: Ordner auf dem Stick, der dem Benutzer + zugeordnet werden soll, z.B. **/var/media/ftp/USB/** + | **Benutzername**: Name des Benutzers + +| Beim Erstellen des Benutzers wird danach gleich das Passwort + abgefragt. Dieses muss zweimal eingegeben werden, und es wird dabei + nichts am Bildschirm angezeigt, auch keine Sterne. + +.. _FTP-UserfürunserImageanlegen:: + +FTP-User für unser Image anlegen: +''''''''''''''''''''''''''''''''' + +| Erzeugen wollen wir nun folgende User: + +- **admin** +- **paul** +- **mary** +- **gast** + +Hierzu werden nun folgende Befehle in Putty eingegeben (Bitte auf Groß +und Kleinschreibung achten): + +admin + + +.. code:: wiki + + adduser -h /var/media/ftp/USB admin + +paul + + +.. code:: wiki + + adduser -h /var/media/ftp/USB/data paul + +mary + + +.. code:: wiki + + adduser -h /var/media/ftp/USB/data mary + +gast + + +.. code:: wiki + + adduser -h /var/media/ftp/USB/data/gast gast + +| So sollte z.B. die Meldung für admin im Putty-Fenster aussehen: + +.. code:: wiki + + /var/mod/root # adduser -h /var/media/ftp/USB admin + adduser: /var/media/ftp/USB: Operation not permitted + Changing password for admin + New password: + Bad password: too short + Retype password: + Password for admin changed by root + +| Die Meldung ``Operation not permitted`` kommt, wenn es sich um ein + Dateisystem mit FAT oder NTFS Dateisystem handelt. + +| Wenn man das Paßwort erneut wegen Falscheingabe ändern will, verwendet + man dazu den Befehl ``passwd``\ **``Benutzername``**. Man wird dann + wieder zweimal nach dem neuen Paßwort gefragt. +| Einen Benutzer löschen kann man mit dem Befehl + ``deluser``\ **``Benutzername``**. +| In jedem Fall müssen die Änderungen mit dem Befehl **modsave all** + wieder gespeichert werden. +| Anzeigen kann man die Datei mit dem Befehl **cat /var/tmp/passwd**. +| Nun melden wir uns noch mit folgendem Befehl von der Putty Konsole ab: + +.. code:: wiki + + exit + +.. _AVM-Firewall: + +AVM-Firewall +~~~~~~~~~~~~ + +.. _Einstellungsseite: + +Einstellungsseite +^^^^^^^^^^^^^^^^^ + +1.) Seite wechseln über den Pkt. Forwarding). 2.) FTP-Port freigegeben +siehe Bilder). + +.. figure:: /screenshots/85.jpg + :alt: + +Nach eingabe der Zahlen (siehe Oben) einfach auf **Hinzufügen** drücken +und das Ergenbins sollte wie Folgt aussehen: + +.. figure:: /screenshots/86.jpg + :alt: + +| Um diese Einstellung nun endgültig zu speichern einfach den Haken + (Blinkendes Kästchen) setzen und den Reeboot der Box abwarten. + +.. _SonstigeFragen: + +Sonstige Fragen +--------------- + +.. _WiemußichmeinenPCeinstellendamiticheinImagebauenkann: + +Wie muß ich meinen PC einstellen damit ich ein Image bauen kann +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _Linux: + +Linux +^^^^^ + +Bei Fragen zu Linux bitte `hier <../install.html>`__ nachsehen + +.. _Windows: + +Windows +^^^^^^^ + +| Für die Installation braucht ihr einen virtuellen PC (z.B. VirtualBox) + sowie ein Linux-System wie z.B.:Freetz-Linux: +| 1.) + `​VirtualBox-Player `__ +| downloaden und über die Setup.exe installieren. +| 2.) + `​Freetz-Linux `__ + herrunterladen und danach nach **C:\Freetz-Linux** kopieren. +| 3.) VirtualBox starten + +.. figure:: /screenshots/269.png + :alt: VirtualBox starten + + VirtualBox starten + +| 4.) VirtualBox-Image (freetz-linux-1.3.1.ova) einbinden über Datei ⇒ + Appliance für Import ⇒ freetz-linux-1.3.1.ova (einfach durchklicken + bis die Datei importiert wird.) + +.. figure:: /screenshots/270.png + :alt: Image Importiert + + Image Importiert + +| 5.) VM starten über doppelklick auf **freetz-linux** +| 6.) Solltet ihr folgenden Fehler beim starten haben: + +.. figure:: /screenshots/271.png + :alt: Fehler beim starten + + Fehler beim starten + +müßt ihr die VB noch auf Eure Netzwerkkarte einstellen: + +.. figure:: /screenshots/272.png + :alt: Netzwerkkarte ändern + + Netzwerkkarte ändern + +.. _ImageaufdenPCkopieren1: + +Image auf den PC kopieren +~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Es gibt mehere Arten das fertige Image auf den PC zu kopieren: + + | **a.) per FTP und !!TotalCommander:** + +| Den aktuellen TotalComander findet ihr auf der Homepage vom + `​TotalCommander `__ +| Als nächstes müssen wir die Ip-Adresse des Freetz-Linux ermitteln und + das machen wir über den Befehl **ifconfig** in der + Freetz-Linux-Umgebung: + +.. figure:: /screenshots/102.png + :alt: + +Als nächstes installieren wir den TotalCommander auf dem PC und starten +diesen dann. Die Freewaremeldung muss mit dem drücken der entsprechenden +Zahl (hier im Bsp. die 1.) bestätigt werden. Durch das drücken entstehen +keine weiteren Kosten! + +.. figure:: /screenshots/103.jpg + :alt: + +| Nun richten wir die FTP-Verbindung im TC (TotalCommander) ein: + +.. figure:: /screenshots/104.jpg + :alt: + +.. figure:: /screenshots/105.jpg + :alt: + +.. figure:: /screenshots/106.jpg + :alt: + +.. figure:: /screenshots/107.jpg + :alt: + +.. figure:: /screenshots/108.jpg + :alt: + +.. + + | **b.) per SFTP und WinSCP:** + +| Hier nun der Weg per SFTP: +| Besorgt Euch einen SFTP-Client, z.B. + `​WinSCP `__. +| Ihr benötigt die IP-Adresse Eures virtuellen Freetz-Linux, diese + erfährt man durch + +.. code:: wiki + + ifconfig + +| Nach Start von WinSCP kann man im Ameldefenster die erforderlichen + Daten eingeben: +| Rechnername: eben ermittelte IP-Adresse +| Portnummer: 22 +| Benutzername: freetz +| Kennwort: freetz +| Protokoll: SFTP +| Nach erfolgreicher Verbindung navigiert man in einer NC-artigen + Ansicht zum entsprechenden /images Verzeichnis und kopiert sich die + Firmware mit **F5 Kopieren**. +| Nach erfolgreicher Verbindung navigiert man in einer NC-artigen + Ansicht zum entsprechenden /images Verzeichnis und kopiert sich die + Firmware mit **F5 Kopieren**. + + | **c.) Using a mapped network drive:** + +Freetz-linux has samba configured by default, which allows you to map +the freetz-linux drive as a network drive in Windows. + +.. figure:: /screenshots/275.png + :alt: Map freetz-linux as netwrok drive + + Map freetz-linux as netwrok drive + +| For username and password: freetz/freetz + +.. _WiekannmaneinegefreetzteFritzboxupdaten: + +Wie kann man eine gefreetzte Fritzbox updaten +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Eine genaue Beschreibung und alles was ihr wissen müßt zu diesem Thema +steht in den `FAQ <../../../../FAQ.html>`__'s + +.. _EinigeProgrammehabenähnlicheFunktionenwelchesindperformanter: + +Einige Programme haben ähnliche Funktionen, welche sind performanter? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + | FTP: bftpd ist nicht zu empfehlen wenn Wert auf hohen + Datendurchsatz gelegt wird da man damit nur in etwa die Hälft der + möglichen Leistung erreicht. Vsftpd wird von sehr vielen benutzt + und wird daher empfohlen + | WWW: Wer Webseiten auf seiner Box hostet sollte vom Apache Abstand + nehmen wenn es in Richtung Produktivsystem geht. Lighttpd stellt + eine gute Alternative dar. + | Webfilter: Oft wird gefragt ob man Privoxy zum Seitenfiltern nutzen + kann. Die Antwort ist ja, die bisherige Empfehlung war das aber + eher zu vermeiden und stattdessen Iptables zu nutzen weil sonst das + gesamte Internet langsamer läuft. + +| + +.. _Linux-BefehleZielgruppeNewbies: + +Linux-Befehle (Zielgruppe Newbies) +---------------------------------- + +.. _allgemeineLinux-Befehle: + +allgemeine Linux-Befehle +~~~~~~~~~~~~~~~~~~~~~~~~ + +| Einen Grundsatz an Linux-Befehlen findet Ihr: +| a.)\ `​Link 1 `__ +| b.)\ `​Link + 2 `__ + +.. _DerviEditor: + +Der vi Editor +~~~~~~~~~~~~~ + +| +| **Vi** ist ein Texteditor in der Freetz/Linux-Umgebung. Mit diesem + können Dateien und Skripte bearbeitet werden. +| Dieses Möglichkeit sollte aber von Newbies **nur nach Anweisung oder + in Zusammenarbeit mit einem erfahrenen Freetz-Nutzer/Linux-Profi** + genutzt werden, da es sehr einfach ist die Box mit **vi nicht mehr + erreichbar zu machen**. Für die Konfigurationsdateien im Flash der + FritzBox muss das Skript nvi genutzt werden, da man diese Dateien + nicht direkt mit vi bearbeiten kann. Mit **nvi** geht es noch + schneller die Box lahm zu legen! **nvi** überschreibt auch, wenn man + nichts geändert hat. +| a.) `​Kurzanleitung Editor + "vi" `__ +| b.) `​Hilfe aus dem + IPPF `__ +| c.) `​weitere + Homepage `__ + +Anhänge (2) +~~~~~~~~~~~ + +- `user.sh `__\ `​ `__ + (392 Byte) - hinzugefügt von *oliver* `vor 8 + Jahren `__. +- `vsftpd.zip `__\ `​ `__ + (1.0 KB) - hinzugefügt von *gismotro* `vor 5 + Jahren `__. + “User Dateien für VSFTPD” + +Alle Anhänge herunterladen als: +`.zip `__ diff --git a/wiki/help/howtos/common/shutdown.rst b/wiki/help/howtos/common/shutdown.rst new file mode 100644 index 0000000..e1015ef --- /dev/null +++ b/wiki/help/howtos/common/shutdown.rst @@ -0,0 +1,163 @@ +help/howtos/common/shutdown +=========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Voraussetzungen `__ +#. `Konfiguration der + Fritzbox `__ + + #. `Keys erzeugen `__ + #. `Konfiguration der Fritzbox für herunterzufahrenden + Linux-Rechner `__ + #. `Konfiguration der Fritzbox für herunterzufahrenden + Windows-Rechner `__ + +#. `Konfiguration des herunterzufahrenden + Linux-Rechners `__ +#. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet + unter + … `__ +#. `Bemerkungen `__ + +.. _RechnerimNetzherunterfahren: + +Rechner im Netz herunterfahren +============================== + +Mit den Freetz-Paketen wol und callmonitor existieren einfach zu +konfigurierende Möglichkeiten, einen Rechner im Netz mittels +Mobiltelefon oder Freetz-Webinterface zu starten. Ebenso einfach +bedienbar ist das Herunterfahren eines Rechners hinter einer Fritzbox. +Die Konfiguration ist keine Hexerei, es funktioniert sowohl für Linux- +als auch Windows-Rechner. + +.. _Voraussetzungen: + +Voraussetzungen +--------------- + +- Fritzbox mit den Paketen "dropbear" (inklusive ssh-client) und + "callmonitor" + +.. _KonfigurationderFritzbox: + +Konfiguration der Fritzbox +-------------------------- + +.. _Keyserzeugen: + +Keys erzeugen +~~~~~~~~~~~~~ + +- Auf Fritzbox einloggen, Ordner erstellen und Public Keys erzeugen: + + :: + + mkdir /var/tmp/flash/ssh + cd /var/tmp/flash/ssh + dropbearkey -t rsa -f rsakey_box + +- Public Key extrahieren: + + :: + + dropbearkey -y -f rsakey_box | grep ssh > rsakey_box.pub + +.. _KonfigurationderFritzboxfürherunterzufahrendenLinux-Rechner: + +Konfiguration der Fritzbox für herunterzufahrenden Linux-Rechner +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Auf Fritzbox Datei (etwa /var/tmp/flash/ssh/shutdown_linuxrechner.sh) + mit folgendem Inhalt erzeugen (Manche Distributionen verhindern in + der Standardeinstellung, dass der Benutzer "root" sich einloggen + kann. Ändere dies oder, ersetze "root" am besten durch einen + Benutzer, der aus Sicherheitsgründen nur die Rechte zum + Herunterfahren des Rechners hat): + +:: + + ssh -i /var/tmp/flash/ssh/rsakey_box root@ "shutdown -h now" + +- Füge als abschließende Konfigurationsmaßnahme auf der Fritzbox + folgende Zeile zu den Listenern des Callmonitors hinzu: + +.. code:: wiki + + in:request ^ ^ HOME=/mod/root && /var/tmp/flash/ssh/shutdown_linuxrechner.sh + +.. _KonfigurationderFritzboxfürherunterzufahrendenWindows-Rechner: + +Konfiguration der Fritzbox für herunterzufahrenden Windows-Rechner +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Auf Fritzbox Datei (etwa + /var/tmp/flash/ssh/shutdown_windowsrechner.sh) mit folgendem Inhalt + erzeugen, durch den Windows-Benutzernamen ersetzen: + + :: + + ssh -i /var/tmp/flash/ssh/rsakey_box @ "shutdown -s" + +- Folgende Zeile zu den Listenern des Callmonitors hinzufügen: + + .. code:: wiki + + in:request ^ ^ HOME=/mod/root && /var/tmp/flash/ssh/shutdown_windowsrechner.sh + +.. _KonfigurationdesherunterzufahrendenLinux-Rechners: + +Konfiguration des herunterzufahrenden Linux-Rechners +---------------------------------------------------- + +- Public-Key (ja genau, jenen den wir vorhin extrahiert haben) von + Fritzbox auf Zielrechner kopieren und authorisieren (evt. root durch + /home/ ersetzen, dann auch dafür sorgen, dass dieser + Benutzer die Rechte hat, den Rechner runterzufahren): + + :: + + cat rsakey_box.pub >> /root/.ssh/authorized_keys + +- OpenSSH-Server installieren und starten. + +.. _KonfigurationdesherunterzufahrendenWindows-RechnersgetestetunterWindowsXP: + +Konfiguration des herunterzufahrenden Windows-Rechners (getestet unter Windows XP) +---------------------------------------------------------------------------------- + +- Public-Key von Fritzbox auf Zielrechner kopieren, in + "authorized_keys" umbenennen und im Ordner c:\Dokumente und + Einstellungen\benutzername\.ssh\\ ablegen. Auf dem Rechner des Autors + musste der Ordner (des vorangestellten Punktes wegen) im Terminal + angelegt werden (mkdir .ssh). + +- `​Openssh `__ installieren. + +- Konfigurationsdatei c:\programme\openssh\etc\sshd_config anpassen. + Folgende Werte korrigieren: + + .. code:: wiki + + StrictModes no + RSAAuthentication yes + PubkeyAuthentication yes + AuthorizedKeysFile .ssh/authorized_keys + +Nun kann der Rechner mittels Anrufen der im Listener des Callmonitors +eingegebenen Rufnummer gestartet werden. Es funktioniert auch über das +Freetz-Webinterface, Extras, Testanruf. + +.. _Bemerkungen: + +Bemerkungen +----------- + +- Der herunterzufahrende Rechner muss in /mod/root/.ssh/known_hosts + eingetragen sein. Am einfachsten erreichst du das dadurch, dass du + dich einmal von der Fritzbox aus mit dem Rechner über ssh verbindest. + +- Damit die erstellten Dateien nicht durch einen Neustart der Fritzbox + verlorengehen, muss noch der Befehl "modsave flash" ausgeführt + werden. diff --git a/wiki/help/howtos/common/user.rst b/wiki/help/howtos/common/user.rst new file mode 100644 index 0000000..a1c0e92 --- /dev/null +++ b/wiki/help/howtos/common/user.rst @@ -0,0 +1,164 @@ +help/howtos/common/user +======================= +.. _Benutzerdauerhaftinderpasswdspeichern: + +Benutzer dauerhaft in der passwd speichern +========================================== + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Beschreibung (Freetz-1.2.x) `__ +#. `Beschreibung (Freetz-1.1.x) `__ + + #. `Originalbeiträge zum + HowTo `__ + #. `Vorgehen `__ + #. `Alternative `__ + +.. _BeschreibungFreetz-1.2.x: + +Beschreibung (Freetz-1.2.x) +--------------------------- + +Benutzer können mit dem Busybox-Applet +`​adduser `__ angelegt +werden. Beispielhaft werden wir jetzt einen Benutzer "freetzuser" +erstellen. Er wird der Gruppe *users* zugeordnet. Sein Heimverzeichnis +soll */var/media/ftp sein*. Falls es dem Benutzer möglich sein soll sich +auf der Box via telnet/ssh anzumelden, muss ihm eine Login-Shell +zugewiesen werden. Dies geschieht durch den Parameter ``-s /bin/sh``. +Der Parameter -g (GECOS field) ist eine Beschreibung des Benutzers. + +|/!\\| Dieses Feld darf nicht auf *box user* oder *ftp user* gesetzt +werden, da der Benutzer sonst beim Neustart verloren geht. + +.. code:: wiki + + adduser freetzuser -G users -h "/var/media/ftp" -g "freetzuser" [-s /bin/sh] + +Anschließend kann ein Password für den Benutzer gesetzt werden: + +.. code:: wiki + + root@fritz:/var/mod/root# adduser freetzuser -G users -h "/var/media/ftp" -g "freetzuser" + Changing password for freetzuser + New password: + Retype password: + Password for freetzuser changed by root + +Dieses Verfahren ist für jeden weiteren Benutzer zu wiederholen. Nachdem +die gewünschten Benutzer angelegt wurden sind die Änderungen noch +rebootfest abzuspeichern. Dies geschieht durch die folgenden Befehle: + +.. code:: wiki + + modusers save + modsave flash + +Die Benutzer können wie folgt überprüft werden: + +.. code:: wiki + + root@fritz:/var/mod/root# cat /etc/passwd + root:x:0:0:root:/mod/root:/bin/sh + nobody:x:100:1000:nobody:/home/nobody:/bin/false + ftpuser:any:1001:0:ftp user:/var/media/ftp:/bin/sh + freetzuser:x:1002:100:freetzuser:/var/media/ftp:/bin/sh + +.. _BeschreibungFreetz-1.1.x: + +Beschreibung (Freetz-1.1.x) +--------------------------- + +Erzeugen einer User.sh auf der USB-Platte und diese beim Systemstart per +rc.custom (/var/media/ftp/uStor01/user.sh) einlesen lassen. + +.. _OriginalbeiträgezumHowTo: + +Originalbeiträge zum HowTo +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| 1.) `​Original Post aus dem + IPPF `__ +| 2.) `​Original Post aus dem + IPPF `__ + +.. _Vorgehen: + +Vorgehen +~~~~~~~~ + +| 1.) Man speichert den Inhalt des Nachfolgenden Textes als User.sh auf + seinen PC + +.. code:: wiki + + cat > /var/tmp/passwd << 'EOF' + root:x:0:0:root:/mod/root:/bin/sh + ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh + ftp:x:1:1:FTP account:/home/ftp:/bin/sh + User1:x:1001:1001:Linux User,,,:/var/media/ftp/uStor01/User1:/bin/sh + User2:x:1002:1002:Linux User,,,:/var/media/ftp/uStor01/User2:/bin/sh + User3:x:1003:1003:Linux User,,,:/var/media/ftp/uStor01/User3:/bin/sh + EOF + chmod 644 /var/tmp/passwd + +2.) Man ruft die passwd seiner Box im Rudi-Shell-Menu auf (cat +/var/tmp/passwd) + +` `__ + +| 3.) man öffnet die User.sh und ersetzt den user1 bis user3 durch seine + Einträge aus der Rudi-Shell +| (einfach copy & paste). + +4.) Datei speichern und auf den USB-Datenträger kopieren. + +` `__ + +5.) Folgenden Eintrag in der rc.custom erzeugen (Pfad und Dateiname +entpsrechend anpassen): + +.. code:: wiki + + /var/media/ftp/uStor01/user.sh + +` `__ + +6.) Eintrag mit übernehmen sichern und FritzBox neu starten. + +| Wenn Ihr alles Richtig gemacht habt und ich in diesem HowTo nichts + vergessen habe sollten Eure +| User nun in der passwd erhalten bleiben. + +.. _Alternative: + +Alternative +~~~~~~~~~~~ + +Man kann die Einträge aus 1.) auch direkt in die rc.custom schreiben. +Die Benutzer und Passwörter müssen natürlich auch in diesem Fall +angepasst werden. + +Anhänge (4) +~~~~~~~~~~~ + +- `Editor.JPG `__\ `​ `__ + (36.1 KB) - hinzugefügt von *gismotro* `vor 9 + Jahren `__. +- `rc.coustom.JPG `__\ `​ `__ + (50.8 KB) - hinzugefügt von *gismotro* `vor 9 + Jahren `__. +- `Rudi.JPG `__\ `​ `__ + (96.1 KB) - hinzugefügt von *gismotro* `vor 9 + Jahren `__. +- `usb.JPG `__\ `​ `__ + (79.8 KB) - hinzugefügt von *gismotro* `vor 9 + Jahren `__. + +Alle Anhänge herunterladen als: +`.zip `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/common/wol.rst b/wiki/help/howtos/common/wol.rst new file mode 100644 index 0000000..a68bdf0 --- /dev/null +++ b/wiki/help/howtos/common/wol.rst @@ -0,0 +1,106 @@ +help/howtos/common/wol +====================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Möglichkeiten der Nutzung von + WoL `__ +#. `Callmonitor `__ +#. `Shellscripte `__ + + #. `Wake on LAN-Skript `__ + #. `Wake on LAN automatisieren (über + SSH) `__ + +|| **In Überarbeitung** + +.. _WakeonLanWoLmitderFritzbox: + +Wake on Lan (WoL) mit der Fritzbox +================================== + +.. _MöglichkeitenderNutzungvonWoL: + +Möglichkeiten der Nutzung von WoL +--------------------------------- + +Freetz bietet hier mehrere Möglichkeiten der Nutzung: + +- Weboberfläche (`wol-cgi <../../../packages/wol.html>`__) +- Callmonitor +- Shellscripte + +Standardmäßig wird hierzu das ether-wake Applet der busybox verwendet. +Bei Problemen kann mit dem optional auswählbaren +`wol <../../../packages/wol.html>`__ Binary getestet werden. + +.. _Callmonitor: + +Callmonitor +----------- + +TODO + +.. _Shellscripte: + +Shellscripte +------------ + +.. _WakeonLAN-Skript: + +Wake on LAN-Skript +~~~~~~~~~~~~~~~~~~ + +Um nicht über die Fritzbox-Weboberfläche arbeiten zu müssen, sondern +schnell per Kommandozeile einen PC aufzuwecken, kann folgendes Skript +verwendet werden (einfach in die ``rc.custom`` eintragen): + +.. code:: wiki + + # Skript für 'wakeup HOSTNAME' erstellen + # WAKEUPPATH should be root's homedirectory, if you want to login via + # ssh root@fritz.box './wakeup HOSTNAME' + WAKEUPPATH=~root + WAKEUP=$WAKEUPPATH/wakeup + echo 'PATH=$PATH:'$WAKEUPPATH >> ~root/.profile + touch $WAKEUP + chmod +x $WAKEUP + echo '#!/bin/sh' >> $WAKEUP + echo 'test -z "$1" && echo "Syntax: wakeup HOSTNAME" && return 1' >> $WAKEUP + echo '# Hostname auf Macadresse mappen (steht in /var/tmp/ethers)' >> $WAKEUP + echo 'macadresse=$(sed -ne "/[[:blank:]]$1$/{s/[[:blank:]].*$//p;q}" /var/tmp/ethers)' >> $WAKEUP + echo 'test -z "$macadresse" && echo "Macadresse von $1 wurde nicht gefunden!" && return 1' >> $WAKEUP + echo '# Etherwake ausführen' >> $WAKEUP + echo 'ether-wake $macadresse 2> /dev/null' >> $WAKEUP + +Ab sofort kann dann mit Hilfe von ``wakeup HOSTNAME`` ein PC aufgeweckt +werden. + +.. _WakeonLANautomatisierenüberSSH: + +Wake on LAN automatisieren (über SSH) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Um per Doppelklick oder durch einfaches Ausführen eines Skriptes einen +PC aufzuwecken, kann das unter `Wake on +LAN-Skript `__ erwähnte Skript über eine +`SSH <../../../packages/dropbear.html>`__-Verbindung ausgeführt werden. +Hier eine kurze Anleitung zur "vollständigen Automation" für +Wake-On-Lan: + +- `Wake on LAN-Skript einrichten `__ +- `SSH-Zugang ohne Passwort + einrichten <../../../packages/dropbear.html#SSH-ZugangohnePasswortHost-basedAuthentication>`__ +- `Wake on LAN-Skript + ausführen <../../../packages/dropbear.html#möglicheAnwendungvonssh>`__: + ``ssh -i root@fritz.box './wakeup '`` + +Kommentar: Sollte dieses Wake on LAN-Skript nicht in eines der Packages? +Oder gibt es das vielleicht schon? + +- Tags +- `howto `__ +- `wol `__ + +.. || image:: ../../../../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/help/howtos/development.rst b/wiki/help/howtos/development.rst new file mode 100644 index 0000000..42c4b04 --- /dev/null +++ b/wiki/help/howtos/development.rst @@ -0,0 +1,85 @@ +help/howtos/development +======================= +.. _DevelopmentHowtos: + +Development Howtos +================== + +Hier finden sich die Howtos für Entwickler - und solche, die es werden +wollen. "Entwickler" ist hier nicht mit "Freak" gleichzusetzen - für +jeden technisch Interessierten findet sich hier auch etwas +Interessantes. Einzelheiten finden sich hinter den Links. + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ +#. `Example 2: + par2cmdline `__ +#. `Example 1: + Httptunnel `__ +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ +#. `Platz sparen im Dateisystem der + FritzBox `__ +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ +#. `Release + Management `__ +#. `First steps - How to start your first freetz + package `__ +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ +#. `ADAM2-Bootloader `__ +#. `Einstellungen speichern im + Urlader-Environment `__ +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ +#. `Wie die FritzBox Manipulationen + erkennt `__ +#. `Shell Coding + Conventions `__ +#. `Package + Development `__ +#. `Erstellen einer GUI für Pakete in + Freetz `__ +#. `Flash + Partitionierung `__ +#. `Trac + Hooks `__ +#. `Package Developing - Advanced + Topics `__ +#. `Eigene Dateien in die Firmware + integrieren `__ +#. `Freetz + Build-Prozeß `__ +#. `Flash-Partitionen von außen mit FTP + sichern `__ +#. `libmodcgi.sh `__ +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ diff --git a/wiki/help/howtos/development/adam2.rst b/wiki/help/howtos/development/adam2.rst new file mode 100644 index 0000000..1dc19a7 --- /dev/null +++ b/wiki/help/howtos/development/adam2.rst @@ -0,0 +1,760 @@ +help/howtos/development/adam2 +============================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ + + #. `Tools und Syntax `__ + #. `Vorgehensweise `__ + #. `Verwendung von fwmod im "no + freetz"-Modus `__ + +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 2: + par2cmdline `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 1: + Httptunnel `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Call Procedures "make menuconfig" and + "make" `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. + + #. `Signieren von Firmware `__ + #. `Konkrete Anwendung in + Freetz `__ + +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ + + #. `Anleitung zur + Test-Installation `__ + +#. `Platz sparen im Dateisystem der + FritzBox `__ + + #. `Vorwort und Motivation `__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? `__ + #. `Weitere Spartricks `__ + #. `Schlußwort `__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Lösungsweg `__ + #. `Wege, sich schnell einen Überblick zu + verschaffen `__ + #. `Zusammenfassung `__ + +#. `Release Management `__ + + #. `Subversion + Repository `__ + #. `Checklists `__ + #. `GIT `__ + #. `Downloads `__ + #. `References `__ + +#. `First steps - How to start your first freetz + package `__ + + #. `Info `__ + #. `Build + Environment `__ + #. `File + Structure `__ + #. `Examples Binary + Package `__ + #. `Configuration + Handling `__ + #. `Examples + Web-Interface `__ + #. `Trouble + shooting `__ + +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ + + #. `Einstieg `__ + #. `Beispiel-Konfiguration für ein neues + Paket `__ + #. `Menuconfig-Warnungen + beheben `__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets `__ + #. `Syntax-Fehler in MK-Dateien + finden `__ + #. `Syntax-Hervorhebung für + MK-Dateien `__ + +#. `ADAM2-Bootloader `__ + + #. `Bootloader-Backup + anlegen `__ + #. `Bootloader überschreiben `__ + #. `Bootloader-Befehle `__ + #. `Bootloader-Quelltext `__ + #. `Aufbau des Bootloaders `__ + #. `Bootloader und Freetz `__ + +#. `Einstellungen speichern im + Urlader-Environment `__ + + #. `Vorwort und + Motivation `__ + #. `Lösungsmöglichkeiten `__ + #. `Bootloader + Environment `__ + #. `Variable + "kernel_args" `__ + #. `Kernel_Args-API `__ + #. `Mögliche + Anwendungsfälle `__ + +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ + + #. `Einleitung `__ + #. `Skript-Code `__ + #. `Daten im Rohformat `__ + #. `Ausgabe grundlegender + Informationen `__ + #. `Ausgabe erweiterter + Informationen `__ + +#. + + #. `Web-interface + HTTPTunnel `__ + +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ + + #. `Erweiterung des + Dateisystems `__ + #. `Paketverwaltung `__ + #. `Links `__ + #. `Kommentare `__ + +#. `Wie die FritzBox Manipulationen + erkennt `__ + + #. `Ursachen `__ + #. `Diagnose `__ + #. `Lösungen `__ + #. `Schlußwort und + Ausblick `__ + +#. `Shell Coding + Conventions `__ + + #. `Shell + Language `__ + #. `Basic + Format `__ + #. `If, For, and + While `__ + #. `Test + Built-in `__ + #. `Single-line conditional + statements `__ + #. `Infinite + Loops `__ + #. `Exit Status and If/While + Statements `__ + #. `Variable + References `__ + #. `Variable + Naming `__ + #. `Quoting `__ + #. `Variable + Assignments `__ + #. `Testing for (Non-)Empty + Strings `__ + #. `Commenting `__ + #. `Pathnames `__ + #. `Interpreter + Magic `__ + +#. `Package + Development `__ + + #. `Persistent Package + Settings `__ + +#. `Erstellen einer GUI für Pakete in + Freetz `__ + + #. `Motivation `__ + #. `Grundlagen `__ + #. `Wie funktioniert das mit der + GUI? `__ + +#. `Flash Partitionierung `__ + + #. `Hidden SquashFS `__ + #. `Contiguous SquashFS `__ + #. `Hidden Root `__ + #. `NAND Root `__ + #. `Dateisystem `__ + #. `Kernel `__ + #. `Weblinks `__ + +#. `Trac + Hooks `__ + + #. `trac-post-commit-hook `__ + #. `trac-post-revprop-change-hook `__ + +#. `Package Developing - Advanced + Topics `__ + + #. `Adding conditional + patches `__ + #. `Adding multi-binary + packages `__ + +#. `Eigene Dateien in die Firmware + integrieren `__ + + #. `Feste Integration über das Freetz + Image `__ + #. `Erzeugen der Dateien aus der + debug.cfg `__ + #. `Nachladen vom + Webserver `__ + #. `Nachladen vom + USB-Stick `__ + #. `WebDAV Share + mounten `__ + #. `NFS-Share mounten `__ + +#. `Freetz Build-Prozeß `__ + + #. `Vorwort und Motivation `__ + #. `Grundsätzliches `__ + +#. `Flash-Partitionen von außen mit FTP + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Allgemeine Informationen zur + Datensicherung `__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) `__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) `__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) `__ + #. `Uploads via FTP `__ + +#. `libmodcgi.sh `__ + + #. `cgi `__ + #. `cgi_begin `__ + #. `cgi_end `__ + #. `sec_begin `__ + #. `sec_end `__ + #. `html `__ + #. `check, + select `__ + #. `href `__ + #. `back_button `__ + #. `sec_level `__ + #. `stat_bar `__ + #. `cgi_param `__ + #. `cgi_error, + print_error `__ + #. `path_info `__ + #. `valid `__ + +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ + + #. `Using the dev-tools package to install compiler and + tools `__ + +.. _ADAM2-Bootloader: + +ADAM2-Bootloader +================ + +ADAM2 ist ein Bootloader von Texas Intruments, der ähnliche Aufgaben +übernimmt wie ein BIOS beim PC. ADAM2 wurde in abgewandelter Form von +AVM in frühen FRITZBox-Modellen mit Kernel 2.4 eingesetzt, und wich noch +vor Einführung des Kernels 2.6 der aus Nutzersicht nahezu +funktionsgleichen Eigenentwicklung EVA. Wegen der vielen Parallelen +können beide Varianten als "der Bootloader" betrachtet werden, und +müssen nur in Einzelfällen unterschieden werden. + +Die Aufgaben des Bootloaders sind: + +- die Hardware zu initialisieren +- das Flash zu erkennen +- das RAM zu erkennen und zu prüfen +- die Partitionierung und grundlegende Werkseinstellungen zu verwalten +- eine Serielle Konsole bereitzustellen +- einen kleinen FTP-Server bereitzustellen (für Recovery) +- das Environment im TFFS zu verwalten +- das installierte Kernel zu booten + +.. _Bootloader-Backupanlegen: + +Bootloader-Backup anlegen +------------------------- + +Wer will kann sich ein Bootloader-Backup anlegen sollte sich aber +dringend merken von \*genau welcher\* Box das war (MAC-Adresse). Mehr +dazu um nächsten Abschnitt. + +Die Grösse des Bootloaders wird in der Environment-Variable ``mtd2`` +gespeichert, die fest im Bootloader selbst eingestellt ist. + +Aus Linux heraus hat diese Partition oft eine von ``2`` abweichende +Nummer die man mit folgendem Befehl ausfindig macht: + +.. code:: wiki + + cat /proc/mtd + +Eine der dort genannten Partitionen nennt sich ``bootloader`` oder +``urlader``. Mit deren Nummer (hier z.B. ``3``) liesst man dann die +zugehörige ``mtdblock`` Device aus: + +.. code:: wiki + + cat /dev/mtdblock3 > bootloader.bin + +Siehe auch `Flash-Partitionen im laufenden Betrieb +sichern `__. + +ADAM2 ist immer 64KB gross, EVA bei älteren Modellen 64KB, bei neueren +Modellen 128KB oder 256KB. Beim IAD 7570 ist die ``mtd2`` Partition zwar +256KB, die oberen 128KB sind jedoch leer (0xFF). Dies könnte auf eine +geplante (aber technisch nicht durchführbare) zweite Instanz des +Bootloaders deuten. Die Grösse des Bootloader sollte unbedingt beim +Entwickeln von Aliens beachtet werden. Ein nicht angepasstes ``install`` +Script für 64KB Bootloader zerstört einen 128KB Bootloader ohne +Vorwarnung! Das gilt dann auch für das AVM Webinteface - die Box wird +vorhersagbar zum Brick. + +Daher, wer Aliens entwickelt ohne das Environment des Zielgerätes +geprüft und mit dem ``install`` Script verglichen zu haben gefährdet +Geräte. Auch im Trunk sollten daher solche riskanten Experimente nur mit +Aufwand freischaltbar sein (implementiert: neuer nicht per GUI +aktivierbarer "Real Developer" Risiko-Modus). + +.. _Bootloaderüberschreiben: + +Bootloader überschreiben +------------------------ + +Kurz: **NEIN!** + +Der Bootloader enthält zahlreiche Informationen die eine Box einmalig +machen, bei vielen WLAN-Modellen auch Kalibrierung ohne die das Gerät +nicht mehr das selbe ist. + +Eine Übertragung ist daher grober Unfug. Auch wenn man diese Angaben +korrekt anpassen würde gibt es ein noch fataleres Problem: + +Selbst gleiche Modelle wurden je nach Verfügbarkeit mit +unterschiedlichen Flash- und RAM-Chips bestückt, besonders bei RAM auch +mit Bausteinen mit erheblich abweichenden Eigenschaften (wie Anzahl der +Banks und Timing etc.). Diese Unterschiede werden durch undokumentierte +Konfiguration im Bootloader gesichert. Bootloader-Updates von AVM +übertragen diese Information. + +**Ein Bootloader ist auch zwischen gleichen Modellen nicht gefahrlos +übertragbar!.** + +Ohne RAM funktioniert auch ein intakter Bootloader nicht ⇒ Brick. + +Um die oben erstellte Sicherung \*auf genau die selbe Box\* +zurückzuspielen \*wäre\* dies der Weg: + +.. code:: wiki + + cat bootloader.bin > /dev/mtdblock3 + +Selbst dann besteht Brickgefahr. Die MTD Treiber blockieren nicht das +OS. Greift ein anderer Prozess währenddessen z.B. über die ADAM2 API auf +das Environment zu hängt sich das System eventuell während des Schreib- +oder Löschvorgangs auf ⇒ Brick. + +Grundsätzlich sollte man daher den Bootloader nur mit geeigneter AVM +Firmware schreiben oder wenn man über Werkzeuge zum debricken (EJTAG) +verfügt. + +.. _Bootloader-Befehle: + +Bootloader-Befehle +------------------ + +- Die über die Serielle Konsole nutzbaren Befehle findet man im `​ADAM2 + Shell `__ Artikel +- Die per FTP nutzbaren Befehle findet man im + `​TinyFTP `__ Artikel + +Bei einigen Modellen wurde aus Sicherheitsgründen die ADAM2 Shell +entfernt. Dies betrifft keine im freien Handel befindliches Geräte, nur +Providermodelle wie die FRITZBox Cable. + +Per FTP sind nur Modelle mit mindestens einem LAN-Port erreichbar (und +recoverbar). Daher eignen sich Modelle ohne LAN (einige Repeater) nicht +zum Experimentieren oder Freetzen. Grobe Faustregel: Wenn AVM eine +Recovery bereitstellt ist ein Gerät perfekt zum Freetzen geeignet. Dies +gilt nicht automatisch für von kleineren Providern bereitgestellte +Geräte! Diese können sogenannte "Provider Additive" enthalten die einen +Werksreset überstehen. Neuere Recoveries verweigern bei solchen Geräten +ihre Funktion, ältere Recoveries zerstören das Additiv (ohne "vor Ort" +Hilfe des Providers irreparabel). Dies dürfte der Grund sein warum AVM +die `​7570 +Recovery `__ +vom FTP-Server entfernte. + +Für AVM Speedports gab es nur werksinterne Recoveries für den +Telekom-Service. Diese wurden leider nie veröffentlicht. + +**Achtung: Im Netz kursieren auch defekte Speedport (sp2fr) Recoveries +die jeden Speedport bricken!** + +Speedports lassen sich mit geringem Aufwand auch sauber mit Freetz +recovern. Achtung: Howtos, Forenpostings und Windows Tools die MTD3/4 +clean empfehlen sind entweder uralt oder ein stümperhafter +Faulheitshack! Details zu den teilweise fatalen Folgen dieser fossilen +Unsitte folgen. + +.. _Bootloader-Quelltext: + +Bootloader-Quelltext +-------------------- + +ADAM2 wurde vielen Abnehmern von TI-Chips bereitgestellt und war +eigentlich nie quelloffen. Jeder Hersteller von Geräten modifizierte ihn +dann nach eigenen Bedürfnissen und hielt den Quelltext geschlossen, so +auch AVM. Auch Linksys nutzte eine modifizierte ADAM2 Version, leakte +den Quelltext aber versehentlich in einem wag54g Tarball. Damit änderte +sich nicht der proprietäre Status von ADAM2, er wurde aber zumindest in +der Linksys Variante "Visible Source" und kann +`​hier `__ +gestöbert werden. Diese Variante ist aber nur sehr beschränkt für die +FRITZBox aussagekräftig. + +Der Quelltext der AVM Variante von ADAM2 wurde nie veröffentlicht. +Lediglich die `​ADAM2 +API `__ +zum Erreichen des Environments war quelloffen. + +Der Nachfolger EVA basiert nicht auf ADAM2 und ist ein kompletter +funktionskompatibler Rewrite. Im Gegensatz zu ADAM2 unterstützt EVA +direkt komprimierte Kernels und wurde bisher auf mindestens 8 +Architekturen portiert. ADAM2 kam nur auf AR7-Modellen mit Kernel 2.4 +zum Einsatz. Alle von Freetz erzeugte Firmware benötigt Kernel 2.6 und +EVA. + +.. _AufbaudesBootloaders: + +Aufbau des Bootloaders +---------------------- + +Am Anfang eines jeden MIPS-Bootloaders befindet sich eine 8-Byte +"Signatur". In Wirklichkeit handelt es sich um Assembler-Code zur +Initialisierung des MIPS-Kerns die MIPS netterweise bittet nicht zu +ändern. Diese Befehlssequenz löscht 2 Hälften eines Debug-Registers +(Watchpoint Exception bei "Berührung" einer Adresse) die im +Normalbetrieb nicht genutzt werden und eignen sich auch wegen der Länge +hervorragend als zuverlässige Signatur. Siehe in diesem +`​Quelltext `__ +den Kommentar "First thing: clear watch regs". + +Für Litte Endian Modelle (AR7, UR8) assembliert dies zur Hexfolge +``00 90 80 40 00 98 80 40`` die immer am Anfang von ``mtd2`` (also vom +gesamten Flash) zu finden ist. Bei Big Endian Modellen (AR9, AR10, VR9, +Fusiv) entspricht es der 32-bit gespiegelten Hexfolge +``40 80 90 00 40 80 98 00`` und es befinden sich grundsätzlich weitere +Daten davor. Dies ist eine bis zu 1024 Bytes grosse +`​Vektortabelle `__ +oder Kalt- und Warmstartvektoren und Code zur Initialisierung der `​hier +ab Zeile +44 `__ +genannten EBU-Einheit. Beim AR9, AR10 und VR9 sind dies 24 Bytes (Offset +0x18), beim Fusiv die vollen 1024 Bytes (Offset 0x400). Diese Bytes +gehören natürlich zum Bootloader, die beiden "Signatur-Befehle" +verschieben sich dadurch lediglich. + +Zum Ausmaskieren von ARM Bootloadern sind diese Signaturen nicht +geeignet, da ARM Assembler andere Häufigkeitsverteilungen hat. Ein +zuverlässiger Detektor muss also zuerst ARM Code erkennen. Zum Erkennen +von Puma5 (ARM1176BE) Bootloadern gibt es auch eine zuverlässige +Assemblersequenz aus der Lowlevel-Initialisierung. Siehe in +`​diesem `__ +und +`​diesem `__ +Quelltext den Kommentar "Unlock CFG MMR region". Dies assembliert zu +Code der die Hexfolge ``08 61 1A 38 83 E7 0B 13 08 61 1A 3C`` enthält. +Diese Signatur ist leider nicht am Anfang des Bootloaders zu finden. Bei +der 6360 mit EVA 2070 befindet sie sich an Offset 0xF1AC, also noch in +den ersten 64KB von Puma5 EVA. Leider stehen keine Recoveries zum Testen +der Signatur zur Verfügung. Mit Puma5 EVA oder `​U-Boot +Code `__ +funktioniert sie einwandfrei. + +Ungeachtet des Offsets erkennt man EVA am 32-bit Wert ``0x00000002`` +oder ``0x00000003`` im jeweiligen Endian an Offset 0x580. Dies ist die +Version (fast immer 2, bei brandaktuellen Modellen auch 3) der EVA +`​Urlader-Konfig `__ +in der Teile der Grundeinstellungen im Werk eingetragen werden. Da +EVA-Images in Firmware keine Konfiguration enthalten ist der Wert dort +``0xFFFFFFFF``. Auch ADAM2 enthielt Teile dieser Einstellungen, jedoch +einkompiliert ohne festen Offset. + +In beiden Bootloadern sind 8 Default-MAC-Adressen ``00:04:0E:FF:FF:01`` +- ``00:04:0E:FF:FF:08`` einkompiliert, die Mindestanforderung für eine +Kommunikation, sollte die Urlader-Konfig defekt oder noch nicht +vorhanden sein. Seit Entwicklung des `​VoIP Gateway +5188 `__ findet man in EVA +auch das Environment der zweiten CPU fest einkompiliert, da diese über +kein eigenes Flash und daher auch kein TFFS und Environment verfügt und +über NFSRoot bootet. Environment-Variablen können intern nicht nur per +Name angesprochen werden sondern auch per numerischem Index. Dazu wurde +eine Liste numerisch ansprechbarer Variablen einkompiliert die immer mit +``AutoMDIX`` anfängt. Bei älteren ADAM2 Urladern endet die Liste nach +der letzten Variable (z.B. ``wlan_key``), bei neueren ADAM2 und EVA mit +``zuende``. Diese Tabelle ist quelloffen, da sie auch die Namenstabelle +des TFFS ist, siehe "#if defined(URLADER)" und "_TFFS_Name_Table" in +`​tffs.h `__. + +In allen Recoveries finden sich Fragmente von mindestens einem +Bootloader. In den Anfängen der FRITZBox wurde identische Firmware für +mehrere Modelle umbenannt, die Bootloader jedes dieser Modelle waren +jedoch noch nicht harmonisiert. Entsprechend findet man in Recoveries +aus dieser Zeit multiple Bootloader-Signaturen, da der modellspezifische +Teil mehrfach enthalten war, die modellübergreifende Teil jedoch nicht. + +Grundsätzlich ist die Extraktion eines funktionierenden Bootloaders aus +einer Recovery nicht möglich, da der Bootloader aus in der Recovery +enthaltenen Codefragmenten und auf der Box befindlichen +Werkseinstellungen intelligent zusammengebaut wird. Für die +Modellforschung ist die Auffindbarkeit der Fragmente und deren +Grundeinstellungen jedoch interessant. Von 436 analysierten Recoveries +waren etwa 14% ADAM2-MIPSLE, 50% EVA-MIPSLE und die restlichen 36% +EVA-MIPSBE. Bei allen Proben genügte die Auswertung der letzten 256 KB +des mit 7zip isolierbaren ``.data`` Segments jeder Recovery.exe. + +Bei der Umstellung auf Kernel 2.6 mussten einige Modelle auf EVA +umgestellt werden. Daher enthalten einige Firmware-Updates ein +``urlader.image`` und passende Programme zur Aktualisierung. In den +Anfängen gab es auch einige ADAM2-Updates, in denen der Dateiname +Modell- und Versionsinformation wie +``urlader.Fritz_Box_4MB.97.adam2.image`` enthielt. Im Gegensatz zu den +Fragmenten in Recoveries sind diese immer "fixed-size" Bootloader mit +Leerbereichen für zu übertragende Konfiguration. + +In ADAM2 ist die Version des Urladers als Integer in der Form +``urlader-version \x00 99 \x00`` einkompiliert, bevor es diese Variable +gab in der Form ``$ProjectRevision: 1.24 $``, auch mit mehrstelliger +Version wie in +`​diesem `__ +Bootlog. Bei EVA findet man die Version mit bis zu 3 Bytes Abstand vor +oder hinter der Zeichenfolge ``%d.%s`` und es muss 1000 hinzugezählt +werden. Ein zusätzliches ``M`` signalisiert eine modifizierte Variante. +In neueren Recoveries findet man zudem einen ``.eva`` Dateinamen, z.B. +für die 7360v2 mit EVA 2717M den String ``1717M.eva``. In 436 +analysierten Recoveries wurden ADAM2 der Versionen 1.20, 1.24, 50 bis 99 +und EVA der Versionen 1124 bis 2970 entdeckt (Stand 2014-01). Bei 5 EVA +1190 Recoveries 04.30/31 funktioniert die Versionserkennung nicht, die +Nummer ist dort irgendwo ab Offset 0xF000 relativ zur Signatur zu +finden. Diese müssen per MD5 erkannt werden. + +Der älteste in Firmware gefundene Bootloader, ADAM2 Version 1.24, wurde +in der bisher ältesten bekannten Firmware fritz.box_sl.05.01.63.image +vom 30. April 2004 (1 Monat nach Vorstellung der ersten FRITZBox auf der +CeBIT) entdeckt. 4 englische Bootloader der Version 1.20 sind neuer. +Durch getrennte Weiterentwicklung je Modell können ADAM2 Versionen nicht +kalendarisch sortiert werden. Der älteste in Firmware gefundene EVA +Bootloader Version 1124 befindet sich in einer frühen 7170 Recovery. +EVA-Versionen lassen sich auch erst ab etwa 1600 modellübergreifend +kalendarisch sortieren. + +Recoveries enthalten zwei weitere leicht zu findende Versionsangaben für +den Programmteil. Über die enthaltenen Firmwarekomponenten sagen sie +nichts aus. Je 2 Beispiele: + +- FW 3.37: + ``AVM Berlin recover-tool-version:[RECOVER:53][IO_CSP:11] compiled at Feb 18 2005 on 14:24:36`` +- FW 6.01: + ``AVM Berlin recover-tool-version:[RECOVER:378M][IO_CSP:248] compiled at Aug 23 2013 on 13:52:14`` +- FW 3.37: + ``[AVM Berlin Wizard Base Project, $ProjectRevision: 1.7 $, $Date: 2005/02/11 10:47:18Z $, kompiliert am Feb 14 2005 um 10:10:13]`` +- FW 6.01: + ``[AVM Berlin Wizard Base Project, $ProjectRevision: 1.63 $, $Date: 2011/07/04 11:49:20Z $, kompiliert am Jul 8 2013 um 11:45:45]`` + +Wie man sieht werden die Komponenten GUI (Wizard), Recover- und I/O-Teil +getrennt entwickelt und kompiliert. Eine heutige Recovery besteht also +aus mindestens 6 Projekten. Auf älteren FRITZBox CDs (z.B. 3020) +befindet sich eine recover.exe ohne integrierte Firmware (etwa 100KB) +der noch ein externes Image bereitgestellt werden musste. Das Programm +nennt sich ``ar7recover`` und stammt vom Februar 2004, 1 Monat vor +Vorstellung der ersten FRITZBox. Dies dürfte wohl die älteste +veröffentlichte Recovery-Lösung von AVM sein. + +Jede Recovery erkennt eine Box an der Urlader-Variable ``HWRevision``. +Da der Urlader keinen Zugriff auf den vollständigen Namen eines Modells +hat enthält jede Recovery eine Liste aller bis zum Erstellungsdatum +bekannten HWRevisions und deren Modellnamen. Die Liste befindet sich im +mit ``7zip`` isolierbaren ``.rdata`` Segment, bei älteren Recoveries bis +etwa 04.43 ist sie im ``.data`` Segment oder nicht vorhanden (bisher nur +bei einer 03.14). Zweck der Liste ist die menschenlesbare Anzeige des +gefundenen Modells in der GUI, unabhängig davon ob die Recovery passt. + +Die Liste ist bis zu 3 KB gross und fängt immer mit dem String +``unknown`` an, gefolgt von nullterminierten Paaren HWR / Boxname, mit +32-bit Padding je String. Der letzte Eintrag ist immer die +``FRITZ!Box SL`` und ihre HWR ``F``. Einige Listen ordnen ``unknown`` +die HWR ``K`` zu, bei anderen folgt direkt der erste Modellname. Die +Zuordnungpaare sind leider nicht konsistent. So enthält die Liste auch 2 +aufeinanderfolgende Namen oder Nummern, aber auch Firmennamen wie AVM +und Telekom. Sie muss also intelligent interpretiert werden. Obwohl die +HWR-Liste auch in aktuellen Recoveries enhalten ist pflegt AVM sie seit +HWR 190 nicht weiter. Recoveries höherer Werte haben zusätzlich den +Zuordnungseintrag für das unterstützte Modell im ``.data`` Segment, die +HWR gefolgt von mehreren Nullbytes gefolgt vom Namen. Da bei allen +neueren Recoveries das ``.data`` Segment mit der nullterminierten HWR +anfängt kann diese als Suchstring in den letzten 256 KB des Segments +genutzt werden. Ob und wie bei diesen Recoveries Fremdmodelle mit HWR > +190 erkannt werden muss noch geprüft werden. + +Bei der Analyse von 419 Recoveries mit obigem Wissen wurde `diese +Häufigkeitsverteilung `__\ `​ `__ +(tab delimited csv) ermittelt. Um Konsistenzfehler auszumaskieren +enthält die Liste nur Zuordnungen die in mindesten 5 Recoveries gefunden +wurden. Die Zähler für HWR > 190 wurden zuvor mit 10 multipliziert. + +Die HWR am Anfang des ``.data`` Segments ist Teil einer Struktur, die in +jeder Recovery mit Kernel 2.6 zu finden ist. Bei neueren Recoveries +findet sie sich an Offset 0, bei älteren an Offset 64 (0x40). Sie +Struktur enthält die unterstützte HWR an Offset 0, die Sprache an Offset +16 (0x10) und die mit Leerzeichen getrennte Liste der unterstützten +Brandings an Offset 32 (0x20). Dies ist sehr nützlich da z.B. EWE +Recoveries nicht am Dateinamen erkennbar sind. Ein vierter String dessen +genauer Zweck noch unklar ist fängt normalerweise an Offset 0x30 an und +verschiebt sich um jeweils 8 Bytes wenn der Brandings-String länger als +8 Bytes ist. Bei Congstar (und vermutlich auch Telekom) Recoveries +enthält er ``tcom``, bei allen anderen enthält er unabhängig von Sprache +und Anbieter immer ``avm``. + +In allen Kernel 2.4 Recoveries befindet sich am Ende des ``.data`` +Segments eine Reihe von mit einem oder mehreren Nullbytes terminierten +Strings. Dies ist eine 2- oder 3-stellige Zahl unbekannten Zwecks +(leider nicht die HWR) oder der String ``IE``, der optionale String +``en`` oder ``de`` und die Firmwareversion in punktierter Schreibweise +(z.B. ``29.04.01``) mit dem optionalen Zusatz +``-prerelease-``. Dahinter steht der optionale String +``avm`` oder ``freenet``, gefolgt von der optionalen Liste der +unterstützten Brandings. Lediglich die älteste bekannte Recovery mit +integrierter Firmware (03.14) enthält diese Information nicht. Sie ist +deutsch und kannte noch kein Branding. Die HWR muss bei Kernel 2.4 +Recoveries aus dem Urlader ermittelt werden. + +Der Vergleich der ermittelten Brandings mit den /etc Defaults bestätigt +die Zuverlässigkeit obiger Methoden, sowohl bei Release- als auch bei +Labor-Recoveries. Es existieren allerdings 2 Labor-Recoveries die einen +falschen Bootloader enthalten. Die Datei +``FRITZ.Box_2110.04.47-9457.recover-image.exe`` enthält einen HWR 130 +Bootloader einer nie auf den Markt gekommenen 2121, die Datei +``fritz.box_fon_wlan_7050.04.50.B.telnet.recover-image.exe`` den HWR 94 +Bootloader einer 7170. + +.. _BootloaderundFreetz: + +Bootloader und Freetz +--------------------- + +Da Freetz EVA benötigt sind einige Modelle schon vom Bootloader her +nicht für Freetz geeignet. Grundsätzlich sollte jede Box vor dem +Freetzen mit Originalfirmware aktualisiert werden. Dies aktualisiert +ggf. auch den Bootloader. Für einige ältere Modelle ist evtl. ein +`​Zwischenupdate `__ notwendig. + +Für folgende Modelle existiert kein EVA Update: + +- FRITZBox (alle Versionen) +- FRITZBox SL +- FRITZBox 2030 +- FRITZBox Fon (Deutsch A/CH Annex A+B) - mit Tricks evtl. deutsch oder + englisch aktualisierbar +- FRITZBox Fon ata (alle Versionen) +- FRITZBox Fon WLAN (Deutsch A/CH Annex A+B) - mit Tricks evtl. deutsch + oder englisch aktualisierbar + +Für einige dieser Modelle könnte Freetz ein EVA Update einer anderen Box +Alien patchen. Bei der FRITZBox SL und 2030 mit 2MB Flash und 8MB RAM +wird es wohl nie Freetz geben. + +Anhänge (1) +~~~~~~~~~~~ + +- `hwr.txt `__\ `​ `__ + (4.0 KB) - hinzugefügt von *hippie2000* `vor 4 + Jahren `__. + “Komplette HWR-Liste aller 419 bekannten Recoveries, CSV” + +Alle Anhänge herunterladen als: +`.zip `__ diff --git a/wiki/help/howtos/development/analyse_image_names.rst b/wiki/help/howtos/development/analyse_image_names.rst new file mode 100644 index 0000000..61f633e --- /dev/null +++ b/wiki/help/howtos/development/analyse_image_names.rst @@ -0,0 +1,698 @@ +help/howtos/development/analyse_image_names +=========================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ + + #. `Tools und Syntax `__ + #. `Vorgehensweise `__ + #. `Verwendung von fwmod im "no + freetz"-Modus `__ + +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 2: + par2cmdline `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 1: + Httptunnel `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Call Procedures "make menuconfig" and + "make" `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. + + #. `Signieren von Firmware `__ + #. `Konkrete Anwendung in + Freetz `__ + +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ + + #. `Anleitung zur + Test-Installation `__ + +#. `Platz sparen im Dateisystem der + FritzBox `__ + + #. `Vorwort und Motivation `__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? `__ + #. `Weitere Spartricks `__ + #. `Schlußwort `__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Lösungsweg `__ + #. `Wege, sich schnell einen Überblick zu + verschaffen `__ + #. `Zusammenfassung `__ + +#. `Release Management `__ + + #. `Subversion + Repository `__ + #. `Checklists `__ + #. `GIT `__ + #. `Downloads `__ + #. `References `__ + +#. `First steps - How to start your first freetz + package `__ + + #. `Info `__ + #. `Build + Environment `__ + #. `File + Structure `__ + #. `Examples Binary + Package `__ + #. `Configuration + Handling `__ + #. `Examples + Web-Interface `__ + #. `Trouble + shooting `__ + +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ + + #. `Einstieg `__ + #. `Beispiel-Konfiguration für ein neues + Paket `__ + #. `Menuconfig-Warnungen + beheben `__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets `__ + #. `Syntax-Fehler in MK-Dateien + finden `__ + #. `Syntax-Hervorhebung für + MK-Dateien `__ + +#. `ADAM2-Bootloader `__ + + #. `Bootloader-Backup + anlegen `__ + #. `Bootloader überschreiben `__ + #. `Bootloader-Befehle `__ + #. `Bootloader-Quelltext `__ + #. `Aufbau des Bootloaders `__ + #. `Bootloader und Freetz `__ + +#. `Einstellungen speichern im + Urlader-Environment `__ + + #. `Vorwort und + Motivation `__ + #. `Lösungsmöglichkeiten `__ + #. `Bootloader + Environment `__ + #. `Variable + "kernel_args" `__ + #. `Kernel_Args-API `__ + #. `Mögliche + Anwendungsfälle `__ + +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ + + #. `Einleitung `__ + #. `Skript-Code `__ + #. `Daten im Rohformat `__ + #. `Ausgabe grundlegender + Informationen `__ + #. `Ausgabe erweiterter + Informationen `__ + +#. + + #. `Web-interface + HTTPTunnel `__ + +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ + + #. `Erweiterung des + Dateisystems `__ + #. `Paketverwaltung `__ + #. `Links `__ + #. `Kommentare `__ + +#. `Wie die FritzBox Manipulationen + erkennt `__ + + #. `Ursachen `__ + #. `Diagnose `__ + #. `Lösungen `__ + #. `Schlußwort und + Ausblick `__ + +#. `Shell Coding + Conventions `__ + + #. `Shell + Language `__ + #. `Basic + Format `__ + #. `If, For, and + While `__ + #. `Test + Built-in `__ + #. `Single-line conditional + statements `__ + #. `Infinite + Loops `__ + #. `Exit Status and If/While + Statements `__ + #. `Variable + References `__ + #. `Variable + Naming `__ + #. `Quoting `__ + #. `Variable + Assignments `__ + #. `Testing for (Non-)Empty + Strings `__ + #. `Commenting `__ + #. `Pathnames `__ + #. `Interpreter + Magic `__ + +#. `Package + Development `__ + + #. `Persistent Package + Settings `__ + +#. `Erstellen einer GUI für Pakete in + Freetz `__ + + #. `Motivation `__ + #. `Grundlagen `__ + #. `Wie funktioniert das mit der + GUI? `__ + +#. `Flash Partitionierung `__ + + #. `Hidden SquashFS `__ + #. `Contiguous SquashFS `__ + #. `Hidden Root `__ + #. `NAND Root `__ + #. `Dateisystem `__ + #. `Kernel `__ + #. `Weblinks `__ + +#. `Trac + Hooks `__ + + #. `trac-post-commit-hook `__ + #. `trac-post-revprop-change-hook `__ + +#. `Package Developing - Advanced + Topics `__ + + #. `Adding conditional + patches `__ + #. `Adding multi-binary + packages `__ + +#. `Eigene Dateien in die Firmware + integrieren `__ + + #. `Feste Integration über das Freetz + Image `__ + #. `Erzeugen der Dateien aus der + debug.cfg `__ + #. `Nachladen vom + Webserver `__ + #. `Nachladen vom + USB-Stick `__ + #. `WebDAV Share + mounten `__ + #. `NFS-Share mounten `__ + +#. `Freetz Build-Prozeß `__ + + #. `Vorwort und Motivation `__ + #. `Grundsätzliches `__ + +#. `Flash-Partitionen von außen mit FTP + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Allgemeine Informationen zur + Datensicherung `__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) `__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) `__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) `__ + #. `Uploads via FTP `__ + +#. `libmodcgi.sh `__ + + #. `cgi `__ + #. `cgi_begin `__ + #. `cgi_end `__ + #. `sec_begin `__ + #. `sec_end `__ + #. `html `__ + #. `check, + select `__ + #. `href `__ + #. `back_button `__ + #. `sec_level `__ + #. `stat_bar `__ + #. `cgi_param `__ + #. `cgi_error, + print_error `__ + #. `path_info `__ + #. `valid `__ + +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ + + #. `Using the dev-tools package to install compiler and + tools `__ + +.. _Firmware-Image-Namenanalysierenundinterpretieren: + +Firmware-Image-Namen analysieren und interpretieren +=================================================== + +.. _Einleitung: + +Einleitung +---------- + +Dieses How-To ist nicht besonders wichtig, eher ein Abfallprodukt meines +Versuchs, mal herauszufinden, wie weit man kommt, wenn zur Manipulation +von Zeichenketten (Strings) nicht ständig externe Werkzeuge wie *grep*, +*sed*, *awk* oder gar *Perl* oder *Python* aufruft und somit Subprozesse +erzeugt, sondern man sich innerhalb der von der *Bash* zur Verfügung +gestellten Kommandos bewegt. Nebenbei macht mein Code-Schnipsel auch +noch etwas ansatzweise Nützliches, nämlich aus Dateinamen von +Firmware-Images Informationen über Hardware, Firmware-Version u.a. +abzuleiten. + +Wer sich schon mit Mühe an die Syntax von *sed* & Co. mit ihren +Regulären Ausdrücken gewöhnen mußte und von Parameter-Expansion und +Globbing innerhalb der Shell - ich benutze *Bash*, weil das unser +Standard in **Freetz** ist - noch wenig gehört hat, möchte sich +vielleicht einlesen unter: + +- `​Parameter-Expansion `__ +- `​Muster(erkennung) `__ +- `​erweiterte Mustererkennung mit Shell-Option + "extglob" `__ +- `​Prüfen und Setzen von Shell-Optionen mit + "shopt" `__ + +Jetzt aber direkt zum Skript-Code: + +.. _Skript-Code: + +Skript-Code +----------- + +:: + + #!/bin/bash + + analyse_image_name() + { + # Basic mode + local name + local product + local version + local fw_variant + # Verbose mode + local oem + local model + local model_no + local v_major + local v_minor + local v_labor + local annex + local language + # Helpers + local is_extglob + local verbose + + [ "$1" == "-v" ] && shift && verbose=y + + # Activate extended globbing if necessary (usually already active) + shopt -q extglob && is_extglob=y || shopt -s extglob + + # --------------------------------------------------------------- + # Step 1: clean up file name + # --------------------------------------------------------------- + + # General + name="$(basename "$1")" + name=${name%.image*} + # AVM + name=${name/[Ff][Rr][Ii][Tt][Zz]./FRITZ!} + name=${name/box/Box} + name=${name/fon/Fon} + name=${name/wlan/WLAN} + name=${name/_sl_/_SL_} + name=${name/_Labor/.Labor} + name=${name/annexa/AnnexA} + name=${name/annexb/AnnexB} + # Deutsche Telekom (ex T-Home, T-Com) + name=${name#fw_} + name=${name/V_v_/V.} + name=${name/V_v/V.} + name=${name/_W_/_W} + + # --------------------------------------------------------------- + # Step 2: split into logical parts + # --------------------------------------------------------------- + + product=${name%%.+([0-9]).+([0-9]).+([0-9])?(-+([0-9]))} + version=${name##$product.} + name=$product + product=${product%%.*} + fw_variant=${name##$product?(.)} + product=${product//_/ } + + # Determine more detailed parameters for verbose mode + if [ "$verbose" ]; then + [ "$product" == "${product#FRITZ!}" ] && oem="Telekom" || oem="AVM" + model=${product%%?(W)+([0-9])*} + model_no=${product##$model} + v_major=${version%%.*} + v_minor=${version##$v_major.} + v_minor=${v_minor%%-*} + v_labor=${version##*$v_minor?(-)} + [ "$fw_variant" == "${fw_variant/AnnexA/}" ] && annex=B || annex=A + language=${fw_variant/@(Annex?|Labor)?(.)/} + language=${language:-de} + fi + + # Reset extended globbing to previous state + [ "$is_extglob" ] || shopt -u extglob + + # --------------------------------------------------------------- + # Step 3: print result + # --------------------------------------------------------------- + + if [ ! "$verbose" ]; then + printf "%-30s %-15s %-22s\n" "$product" "$version" "$fw_variant" + return + fi + + echo "Firmware image: $(basename "$1")" + echo "Producer/OEM: $oem" + echo "Model: $model" + echo "Model no.: $model_no" + echo "Version: $version" + echo "Version major: $v_major" + echo "Version minor: $v_minor" + echo "Version labor: $v_labor" + echo "DSL annex: $annex" + echo "Language: $language" + } + + # Loop over Freetz firmware image names + for img in $(sed -nr "s/^[^#]*[\"']([^\"']+\.image)[\"'].*$/\1/p" Config.in | sort | uniq); do + # Print raw image names + echo "$img" + done + + # Loop over Freetz firmware image names + for img in $(sed -nr "s/^[^#]*[\"']([^\"']+\.image)[\"'].*$/\1/p" Config.in | sort | uniq); do + # Print basic info in tabular layout + analyse_image_name "$img" + done + + # Loop over Freetz firmware image names + for img in $(sed -nr "s/^[^#]*[\"']([^\"']+\.image)[\"'].*$/\1/p" Config.in | sort | uniq); do + # Print extended information in vertical layout + analyse_image_name -v "$img" + echo -e "\n-----------------------------------------------------------------------------\n" + done + +.. _DatenimRohformat: + +Daten im Rohformat +------------------ + +So sehen aktuell die Firmware-Namen aus, welche sich in der +`Config.in `__\ `​ `__ +befinden: + +.. code:: wiki + + FRITZ.Box_2170.51.04.57.image + FRITZ.Box_6840_LTE.105.05.09.image + FRITZ.Box_7330.107.05.08.image + fritz.box_fon.06.04.33.image + fritz.box_fon_5010.annexa.48.04.43.image + fritz.box_fon_5050.12.04.31.image + FRITZ.Box_Fon_5124.AnnexA.en.57.04.76.image + FRITZ.Box_Fon_5124.AnnexB.en.56.04.76.image + FRITZ.Box_Fon_5140.AnnexB.43.04.67.image + fritz.box_fon.annexa.en.06.04.49.image + fritz.box_fon.en.06.04.49.image + fritz.box_fon_wlan.08.04.34.image + fritz.box_fon_wlan_7050.14.04.33.image + FRITZ.Box_Fon_WLAN_7112.87.04.87.image + FRITZ.Box_Fon_WLAN_7113.60.04.68.image + FRITZ.Box_Fon_WLAN_7113.AnnexA.de-en-es-it-fr.90.04.84.image + FRITZ.Box_Fon_WLAN_7140.AnnexA.39.04.76.image + FRITZ.Box_Fon_WLAN_7140.AnnexA.en.39.04.67.image + fritz.box_fon_wlan_7140.annexb.30.04.33.image + FRITZ.Box_Fon_WLAN_7140.AnnexB.en.30.04.67.image + fritz.box_fon_wlan_7141.40.04.37.image + FRITZ.Box_Fon_WLAN_7141.40.04.76.image + FRITZ.Box_Fon_WLAN_7170.29.04.87.image + FRITZ.Box_Fon_WLAN_7170.AnnexA.58.04.76.image + FRITZ.Box_Fon_WLAN_7170.AnnexA.en.58.04.84.image + FRITZ.Box_Fon_WLAN_7170.AnnexB.en.29.04.82.image + FRITZ.Box_Fon_WLAN_7240.73.05.05.image + FRITZ.Box_Fon_WLAN_7270_16.en-de-es-it-fr.54.05.06.image + FRITZ.Box_Fon_WLAN_7270_v1.54.04.88.image + FRITZ.Box_Fon_WLAN_7270_v2.54.05.05.image + FRITZ.Box_Fon_WLAN_7270_v2.en-de-es-it-fr.54.04.90.image + FRITZ.Box_Fon_WLAN_7270_v2_Labor.54.05.09-21499.image + FRITZ.Box_Fon_WLAN_7270_v3.74.05.05.image + FRITZ.Box_Fon_WLAN_7270_v3.en-de-es-it-fr.74.05.06.image + FRITZ.Box_Fon_WLAN_7270_v3_Labor.74.05.09-21499.image + FRITZ.Box_Fon_WLAN_7320.100.04.89.image + FRITZ.Box_Fon_WLAN_7340.en-de-es-it-fr.99.05.05.image + FRITZ.Box_Fon_WLAN_7390.84.05.05.image + FRITZ.Box_Fon_WLAN_7390.en-de-es-it-fr.84.05.06.image + FRITZ.Box_Fon_WLAN_7390_Labor.84.05.09-21499.image + FRITZ.Box_Fon_WLAN_7570_vDSL.en-de-fr.75.04.91.image + FRITZ.Box_Fon_WLAN.AnnexA.en.08.04.49.image + FRITZ.Box_Fon_WLAN.AnnexB.en.08.04.49.image + fritz.box_sl_wlan.09.04.34.image + fritz.box_wlan_3030.21.04.34.image + fritz.box_wlan_3130.44.04.34.image + fritz.box_wlan_3131.50.04.57.image + fritz.box_wlan_3170.49.04.58.image + fritz.box_wlan_3270.67.05.05.image + fritz.box_wlan_3270_v3.96.05.05.image + fritz.box_wlan_3370.103.05.08.image + fritz.fon_7150.annexb.38.04.71.image + fw_Speedport_W501V_v_28.04.38.image + fw_Speedport_W701V_v33.04.57.image + fw_Speedport_W900V_v34.04.57.image + Sinus_W_500V.27.04.27.image + Speedport_W_920V.AnnexB.65.04.78.image + +Das ist nicht besonders übersichtlich und außerdem im Detail sehr +uneinheitlich. Geht das nicht irgendwie hübscher?! + +.. _AusgabegrundlegenderInformationen: + +Ausgabe grundlegender Informationen +----------------------------------- + +Das Ergebnis sieht für Fall 1 (grundlegende Informationen, +tabellarisches Layout) so aus: + +.. code:: wiki + + FRITZ!Box 2170 51.04.57 + FRITZ!Box 6840 LTE 105.05.09 + FRITZ!Box 7330 107.05.08 + FRITZ!Box Fon 06.04.33 + FRITZ!Box Fon 5010 48.04.43 AnnexA + FRITZ!Box Fon 5050 12.04.31 + FRITZ!Box Fon 5124 57.04.76 AnnexA.en + FRITZ!Box Fon 5124 56.04.76 AnnexB.en + FRITZ!Box Fon 5140 43.04.67 AnnexB + FRITZ!Box Fon 06.04.49 AnnexA.en + FRITZ!Box Fon 06.04.49 en + FRITZ!Box Fon WLAN 08.04.34 + FRITZ!Box Fon WLAN 7050 14.04.33 + FRITZ!Box Fon WLAN 7112 87.04.87 + FRITZ!Box Fon WLAN 7113 60.04.68 + FRITZ!Box Fon WLAN 7113 90.04.84 AnnexA.de-en-es-it-fr + FRITZ!Box Fon WLAN 7140 39.04.76 AnnexA + FRITZ!Box Fon WLAN 7140 39.04.67 AnnexA.en + FRITZ!Box Fon WLAN 7140 30.04.33 AnnexB + FRITZ!Box Fon WLAN 7140 30.04.67 AnnexB.en + FRITZ!Box Fon WLAN 7141 40.04.37 + FRITZ!Box Fon WLAN 7141 40.04.76 + FRITZ!Box Fon WLAN 7170 29.04.87 + FRITZ!Box Fon WLAN 7170 58.04.76 AnnexA + FRITZ!Box Fon WLAN 7170 58.04.84 AnnexA.en + FRITZ!Box Fon WLAN 7170 29.04.82 AnnexB.en + FRITZ!Box Fon WLAN 7240 73.05.05 + FRITZ!Box Fon WLAN 7270 16 54.05.06 en-de-es-it-fr + FRITZ!Box Fon WLAN 7270 v1 54.04.88 + FRITZ!Box Fon WLAN 7270 v2 54.05.05 + FRITZ!Box Fon WLAN 7270 v2 54.04.90 en-de-es-it-fr + FRITZ!Box Fon WLAN 7270 v2 54.05.09-21499 Labor + FRITZ!Box Fon WLAN 7270 v3 74.05.05 + FRITZ!Box Fon WLAN 7270 v3 74.05.06 en-de-es-it-fr + FRITZ!Box Fon WLAN 7270 v3 74.05.09-21499 Labor + FRITZ!Box Fon WLAN 7320 100.04.89 + FRITZ!Box Fon WLAN 7340 99.05.05 en-de-es-it-fr + FRITZ!Box Fon WLAN 7390 84.05.05 + FRITZ!Box Fon WLAN 7390 84.05.06 en-de-es-it-fr + FRITZ!Box Fon WLAN 7390 84.05.09-21499 Labor + FRITZ!Box Fon WLAN 7570 vDSL 75.04.91 en-de-fr + FRITZ!Box Fon WLAN 08.04.49 AnnexA.en + FRITZ!Box Fon WLAN 08.04.49 AnnexB.en + FRITZ!Box SL WLAN 09.04.34 + FRITZ!Box WLAN 3030 21.04.34 + FRITZ!Box WLAN 3130 44.04.34 + FRITZ!Box WLAN 3131 50.04.57 + FRITZ!Box WLAN 3170 49.04.58 + FRITZ!Box WLAN 3270 67.05.05 + FRITZ!Box WLAN 3270 v3 96.05.05 + FRITZ!Box WLAN 3370 103.05.08 + FRITZ!Fon 7150 38.04.71 AnnexB + Speedport W501V 28.04.38 + Speedport W701V 33.04.57 + Speedport W900V 34.04.57 + Sinus W500V 27.04.27 + Speedport W920V 65.04.78 AnnexB + +.. _AusgabeerweiterterInformationen: + +Ausgabe erweiterter Informationen +--------------------------------- + +Im zweiten Fall ist die Ausgabe wesentlich länger, ich gebe hier also +nur exemplarische Ausschnitte wieder: + +.. code:: wiki + + Firmware image: FRITZ.Box_6840_LTE.105.05.09.image + Producer/OEM: AVM + Model: FRITZ!Box + Model no.: 6840 LTE + Version: 105.05.09 + Version major: 105 + Version minor: 05.09 + Version labor: + DSL annex: B + Language: de + + ----------------------------------------------------------------------------- + + Firmware image: FRITZ.Box_Fon_WLAN_7113.AnnexA.de-en-es-it-fr.90.04.84.image + Producer/OEM: AVM + Model: FRITZ!Box Fon WLAN + Model no.: 7113 + Version: 90.04.84 + Version major: 90 + Version minor: 04.84 + Version labor: + DSL annex: A + Language: de-en-es-it-fr + + ----------------------------------------------------------------------------- + + Firmware image: FRITZ.Box_Fon_WLAN_7270_v2_Labor.54.05.09-21499.image + Producer/OEM: AVM + Model: FRITZ!Box Fon WLAN + Model no.: 7270 v2 + Version: 54.05.09-21499 + Version major: 54 + Version minor: 05.09 + Version labor: 21499 + DSL annex: B + Language: de + + ----------------------------------------------------------------------------- + + Firmware image: fw_Speedport_W701V_v33.04.57.image + Producer/OEM: Telekom + Model: Speedport + Model no.: W701V + Version: 33.04.57 + Version major: 33 + Version minor: 04.57 + Version labor: + DSL annex: B + Language: de + +Viel Spaß beim Herumspielen. |:-)| + +`​Alexander Kriegisch +(kriegaex) `__ + +.. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/help/howtos/development/bandwidth_svg.rst b/wiki/help/howtos/development/bandwidth_svg.rst new file mode 100644 index 0000000..9ee8b88 --- /dev/null +++ b/wiki/help/howtos/development/bandwidth_svg.rst @@ -0,0 +1,56 @@ +help/howtos/development/bandwidth_svg +===================================== +.. _DynamischeBandbreitenanzeigeperSVG: + +Dynamische Bandbreitenanzeige per SVG +===================================== + +Bei dd-wrt und OpenWRT gibt's ein putziges SVG, das den aktuellen +Durchsatz der verschiedenen Interfaces anzeigt - In/Out mit Werten und +als Graphik, jede Sekunde aktualisiert. Firefox zeigt SVG an, aber auch +z.B. Opera 9.51 für Windows Mobile. Mit winzigen Änderungen läuft das +auch auf Freetz, ausgeführt vom busybox-httpd. + +.. _AnleitungzurTest-Installation: + +Anleitung zur Test-Installation +------------------------------- + +#. Das + `​graph_if.tar.gz `__ + auf die Box übertragen und irgendwo auspacken: + + :: + + tar xzf graph_if.tar.gz + + Dadurch wird ein Unterverzeichnis graph_if erstellt. + +#. In das Verzeichnis wechseln und den BusyBox-httpd auf einem freien + Port starten: + + :: + + cd graph_if + httpd -f -v -p 83 + + Wenn es dann läuft, kann man das -f -v weglassen. + +#. Jetzt sollte beim Aufruf von + `​http://fritz.box:83/cgi-bin/graph_if_svg.cgi?eth0 `__ + der Graph für die Schnittstelle ``eth0`` zu sehen sein. Die anderen + Interfaces kann man sehen, wenn man sie in der URL statt eth0 angibt. +#. Eine Test-HTML-Seite, auf der alle Interfaces ausser lo angezeigt + werden, findet sich unter + `​http://fritz.box:83/cgi-bin/all_ifs.cgi `__ + +Zu Testzwecken kann man als Parameter "object", "embed" oder "iframe" +angeben, dann werden die SVG-Graphen in die entsprechenden Tags gehüllt. +"iframe" ist der Default. + +*(Quelle:*\ `​IPPF +Thread `__\ *)* + +- Tags +- `howtos `__ +- `install `__ diff --git a/wiki/help/howtos/development/compile_own_progs.rst b/wiki/help/howtos/development/compile_own_progs.rst new file mode 100644 index 0000000..3cfe0de --- /dev/null +++ b/wiki/help/howtos/development/compile_own_progs.rst @@ -0,0 +1,382 @@ +help/howtos/development/compile_own_progs +========================================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ + + #. `Tools und Syntax `__ + #. `Vorgehensweise `__ + #. `Verwendung von fwmod im "no + freetz"-Modus `__ + +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 2: + par2cmdline `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 1: + Httptunnel `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Call Procedures "make menuconfig" and + "make" `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. + + #. `Signieren von Firmware `__ + #. `Konkrete Anwendung in + Freetz `__ + +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ + + #. `Anleitung zur + Test-Installation `__ + +#. `Platz sparen im Dateisystem der + FritzBox `__ + + #. `Vorwort und Motivation `__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? `__ + #. `Weitere Spartricks `__ + #. `Schlußwort `__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Lösungsweg `__ + #. `Wege, sich schnell einen Überblick zu + verschaffen `__ + #. `Zusammenfassung `__ + +#. `Release Management `__ + + #. `Subversion + Repository `__ + #. `Checklists `__ + #. `GIT `__ + #. `Downloads `__ + #. `References `__ + +#. `First steps - How to start your first freetz + package `__ + + #. `Info `__ + #. `Build + Environment `__ + #. `File + Structure `__ + #. `Examples Binary + Package `__ + #. `Configuration + Handling `__ + #. `Examples + Web-Interface `__ + #. `Trouble + shooting `__ + +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ + + #. `Einstieg `__ + #. `Beispiel-Konfiguration für ein neues + Paket `__ + #. `Menuconfig-Warnungen + beheben `__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets `__ + #. `Syntax-Fehler in MK-Dateien + finden `__ + #. `Syntax-Hervorhebung für + MK-Dateien `__ + +#. `ADAM2-Bootloader `__ + + #. `Bootloader-Backup + anlegen `__ + #. `Bootloader überschreiben `__ + #. `Bootloader-Befehle `__ + #. `Bootloader-Quelltext `__ + #. `Aufbau des Bootloaders `__ + #. `Bootloader und Freetz `__ + +#. `Einstellungen speichern im + Urlader-Environment `__ + + #. `Vorwort und + Motivation `__ + #. `Lösungsmöglichkeiten `__ + #. `Bootloader + Environment `__ + #. `Variable + "kernel_args" `__ + #. `Kernel_Args-API `__ + #. `Mögliche + Anwendungsfälle `__ + +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ + + #. `Einleitung `__ + #. `Skript-Code `__ + #. `Daten im Rohformat `__ + #. `Ausgabe grundlegender + Informationen `__ + #. `Ausgabe erweiterter + Informationen `__ + +#. + + #. `Web-interface + HTTPTunnel `__ + +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ + + #. `Erweiterung des + Dateisystems `__ + #. `Paketverwaltung `__ + #. `Links `__ + #. `Kommentare `__ + +#. `Wie die FritzBox Manipulationen + erkennt `__ + + #. `Ursachen `__ + #. `Diagnose `__ + #. `Lösungen `__ + #. `Schlußwort und + Ausblick `__ + +#. `Shell Coding + Conventions `__ + + #. `Shell + Language `__ + #. `Basic + Format `__ + #. `If, For, and + While `__ + #. `Test + Built-in `__ + #. `Single-line conditional + statements `__ + #. `Infinite + Loops `__ + #. `Exit Status and If/While + Statements `__ + #. `Variable + References `__ + #. `Variable + Naming `__ + #. `Quoting `__ + #. `Variable + Assignments `__ + #. `Testing for (Non-)Empty + Strings `__ + #. `Commenting `__ + #. `Pathnames `__ + #. `Interpreter + Magic `__ + +#. `Package + Development `__ + + #. `Persistent Package + Settings `__ + +#. `Erstellen einer GUI für Pakete in + Freetz `__ + + #. `Motivation `__ + #. `Grundlagen `__ + #. `Wie funktioniert das mit der + GUI? `__ + +#. `Flash Partitionierung `__ + + #. `Hidden SquashFS `__ + #. `Contiguous SquashFS `__ + #. `Hidden Root `__ + #. `NAND Root `__ + #. `Dateisystem `__ + #. `Kernel `__ + #. `Weblinks `__ + +#. `Trac + Hooks `__ + + #. `trac-post-commit-hook `__ + #. `trac-post-revprop-change-hook `__ + +#. `Package Developing - Advanced + Topics `__ + + #. `Adding conditional + patches `__ + #. `Adding multi-binary + packages `__ + +#. `Eigene Dateien in die Firmware + integrieren `__ + + #. `Feste Integration über das Freetz + Image `__ + #. `Erzeugen der Dateien aus der + debug.cfg `__ + #. `Nachladen vom + Webserver `__ + #. `Nachladen vom + USB-Stick `__ + #. `WebDAV Share + mounten `__ + #. `NFS-Share mounten `__ + +#. `Freetz Build-Prozeß `__ + + #. `Vorwort und Motivation `__ + #. `Grundsätzliches `__ + +#. `Flash-Partitionen von außen mit FTP + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Allgemeine Informationen zur + Datensicherung `__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) `__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) `__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) `__ + #. `Uploads via FTP `__ + +#. `libmodcgi.sh `__ + + #. `cgi `__ + #. `cgi_begin `__ + #. `cgi_end `__ + #. `sec_begin `__ + #. `sec_end `__ + #. `html `__ + #. `check, + select `__ + #. `href `__ + #. `back_button `__ + #. `sec_level `__ + #. `stat_bar `__ + #. `cgi_param `__ + #. `cgi_error, + print_error `__ + #. `path_info `__ + #. `valid `__ + +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ + + #. `Using the dev-tools package to install compiler and + tools `__ + +.. _EigeneProgrammekompilieren: + +Eigene Programme kompilieren +============================ + +Nachdem die Toolchain heruntergeladen oder gebaut wurde, kann sie +verwendet werden, um eigene Programme, oder solche, die noch nicht als +Paket zur Verfügung stehen, zu übersetzen. + +Den MIPS-Compiler zum Pfad hinzufügen: + +.. code:: wiki + + export PATH=/pfad/zu/freetz/toolchain/target/bin:$PATH + +Optionen für ``./configure``: + +.. code:: wiki + + ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux + +(i386-linux-gnu ist nicht unbedingt notwendig, nur beschwert sich +``configure``, wenn es nicht angegeben ist. Auf 64-Bit-Plattformen oder +Nicht-Intel-Architekturen muß es natürlich anders heißen.) + +Statisches Linken der Binaries, damit sie keine separaten Libraries +benutzen, sondern sie gleich enthalten (funktioniert aber nicht bei +jeder Software): + +.. code:: wiki + + LDFLAGS=-static ./configure ... + +Statisch gelinkte Binaries sind einfacher zu installieren, weil sie eben +alles enthalten - aber dadurch sind sie größer, und wenn sie mit anderen +Programmen gemeinsam genutzte Funktionalität haben, verschwenden sie +Speicherplatz. Außerdem müssen sie separat upgedatet werden, wenn z.B. +in einer Library eine Sicherheitslücke gepatcht wurde. Es ist also am +besten, statische Binaries nur zum Testen, oder wenn es anders nicht +geht, zu verwenden. + +In manchen Fällen ist es ratsam die CC-Variable explizit zu setzen. Auch +die Angabe der *CFLAGS* kann nicht schaden: + +.. code:: wiki + + ./configure ... CC="mipsel-linux-gcc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap" + +- Tags +- `howtos `__ diff --git a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst new file mode 100644 index 0000000..944f7d2 --- /dev/null +++ b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst @@ -0,0 +1,487 @@ +help/howtos/development/create_cross-compiler_toolchain +======================================================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ + + #. `Tools und Syntax `__ + #. `Vorgehensweise `__ + #. `Verwendung von fwmod im "no + freetz"-Modus `__ + +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 2: + par2cmdline `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 1: + Httptunnel `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Call Procedures "make menuconfig" and + "make" `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. + + #. `Signieren von Firmware `__ + #. `Konkrete Anwendung in + Freetz `__ + +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ + + #. `Anleitung zur + Test-Installation `__ + +#. `Platz sparen im Dateisystem der + FritzBox `__ + + #. `Vorwort und Motivation `__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? `__ + #. `Weitere Spartricks `__ + #. `Schlußwort `__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Lösungsweg `__ + #. `Wege, sich schnell einen Überblick zu + verschaffen `__ + #. `Zusammenfassung `__ + +#. `Release Management `__ + + #. `Subversion + Repository `__ + #. `Checklists `__ + #. `GIT `__ + #. `Downloads `__ + #. `References `__ + +#. `First steps - How to start your first freetz + package `__ + + #. `Info `__ + #. `Build + Environment `__ + #. `File + Structure `__ + #. `Examples Binary + Package `__ + #. `Configuration + Handling `__ + #. `Examples + Web-Interface `__ + #. `Trouble + shooting `__ + +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ + + #. `Einstieg `__ + #. `Beispiel-Konfiguration für ein neues + Paket `__ + #. `Menuconfig-Warnungen + beheben `__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets `__ + #. `Syntax-Fehler in MK-Dateien + finden `__ + #. `Syntax-Hervorhebung für + MK-Dateien `__ + +#. `ADAM2-Bootloader `__ + + #. `Bootloader-Backup + anlegen `__ + #. `Bootloader überschreiben `__ + #. `Bootloader-Befehle `__ + #. `Bootloader-Quelltext `__ + #. `Aufbau des Bootloaders `__ + #. `Bootloader und Freetz `__ + +#. `Einstellungen speichern im + Urlader-Environment `__ + + #. `Vorwort und + Motivation `__ + #. `Lösungsmöglichkeiten `__ + #. `Bootloader + Environment `__ + #. `Variable + "kernel_args" `__ + #. `Kernel_Args-API `__ + #. `Mögliche + Anwendungsfälle `__ + +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ + + #. `Einleitung `__ + #. `Skript-Code `__ + #. `Daten im Rohformat `__ + #. `Ausgabe grundlegender + Informationen `__ + #. `Ausgabe erweiterter + Informationen `__ + +#. + + #. `Web-interface + HTTPTunnel `__ + +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ + + #. `Erweiterung des + Dateisystems `__ + #. `Paketverwaltung `__ + #. `Links `__ + #. `Kommentare `__ + +#. `Wie die FritzBox Manipulationen + erkennt `__ + + #. `Ursachen `__ + #. `Diagnose `__ + #. `Lösungen `__ + #. `Schlußwort und + Ausblick `__ + +#. `Shell Coding + Conventions `__ + + #. `Shell + Language `__ + #. `Basic + Format `__ + #. `If, For, and + While `__ + #. `Test + Built-in `__ + #. `Single-line conditional + statements `__ + #. `Infinite + Loops `__ + #. `Exit Status and If/While + Statements `__ + #. `Variable + References `__ + #. `Variable + Naming `__ + #. `Quoting `__ + #. `Variable + Assignments `__ + #. `Testing for (Non-)Empty + Strings `__ + #. `Commenting `__ + #. `Pathnames `__ + #. `Interpreter + Magic `__ + +#. `Package + Development `__ + + #. `Persistent Package + Settings `__ + +#. `Erstellen einer GUI für Pakete in + Freetz `__ + + #. `Motivation `__ + #. `Grundlagen `__ + #. `Wie funktioniert das mit der + GUI? `__ + +#. `Flash Partitionierung `__ + + #. `Hidden SquashFS `__ + #. `Contiguous SquashFS `__ + #. `Hidden Root `__ + #. `NAND Root `__ + #. `Dateisystem `__ + #. `Kernel `__ + #. `Weblinks `__ + +#. `Trac + Hooks `__ + + #. `trac-post-commit-hook `__ + #. `trac-post-revprop-change-hook `__ + +#. `Package Developing - Advanced + Topics `__ + + #. `Adding conditional + patches `__ + #. `Adding multi-binary + packages `__ + +#. `Eigene Dateien in die Firmware + integrieren `__ + + #. `Feste Integration über das Freetz + Image `__ + #. `Erzeugen der Dateien aus der + debug.cfg `__ + #. `Nachladen vom + Webserver `__ + #. `Nachladen vom + USB-Stick `__ + #. `WebDAV Share + mounten `__ + #. `NFS-Share mounten `__ + +#. `Freetz Build-Prozeß `__ + + #. `Vorwort und Motivation `__ + #. `Grundsätzliches `__ + +#. `Flash-Partitionen von außen mit FTP + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Allgemeine Informationen zur + Datensicherung `__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) `__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) `__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) `__ + #. `Uploads via FTP `__ + +#. `libmodcgi.sh `__ + + #. `cgi `__ + #. `cgi_begin `__ + #. `cgi_end `__ + #. `sec_begin `__ + #. `sec_end `__ + #. `html `__ + #. `check, + select `__ + #. `href `__ + #. `back_button `__ + #. `sec_level `__ + #. `stat_bar `__ + #. `cgi_param `__ + #. `cgi_error, + print_error `__ + #. `path_info `__ + #. `valid `__ + +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ + + #. `Using the dev-tools package to install compiler and + tools `__ + +.. _Cross-CompilerToolchainerstellen: + +Cross-Compiler / Toolchain erstellen +==================================== + +Das Erstellen eines Cross-Compilers ist mit Freetz denkbar einfach: + +#. ``make menuconfig`` Hier unter *Advanced options → Compiler options* + die Optionen für den Cross-Compiler wählen. Soll der Compiler + Programme für eine mit Freetz erzeugte Firmware kompilieren, so ist + in der Regel nichts zu ändern. Soll der Compiler hingegen für eine + originale Firmware kompilieren können, so solltest du bei "uClibc + config" die entsprechende Konfiguration auswählen. + |/!\\| **ACHTUNG:** Im zweiten Fall sollte diese entpackte Instanz + von Freetz nicht mehr zum Erstellen von Images verwendet werden, + sondern nur noch der Cross-Compiler selbst. +#. Benötigt wird + `​gcc `__, + `​binutils `__, + `​make `__, + `​bison `__, + `​flex `__ und + `​texinfo `__: + ``make toolchain`` + Eine ganze Weile und ca 2 GB später wurden zwei Cross-Compiler + erstellt: + + - ``./toolchain/kernel/bin/*-unknown-linux-gnu-gcc`` : + Cross-Compiler für die Kernel Sourcen + - ``./toolchain/target/bin/*-linux-uclibc-gcc`` : Cross-Compiler für + Userspace Programme + +#. ``make libs`` Erstellt alle im menuconfig ausgewählten Libraries und + installiert deren Header. + +.. _EigeneDownload-Toolchainerstellen: + +Eigene Download-Toolchain erstellen +=================================== + +Aus und seit `r9983 `__: + +From now on one can build his own toolchains and use them as download +toolchains by overriding the corresponding options under "Override +options/Override precompiled toolchain options": + +#. activate "Toolchain options/Build own toolchains" +#. set toolchain related options to the desired ones under "Toolchain + options" +#. (optional) make your own modifications under $(freetz_root)/toolchain +#. call "make KTV=freetz-${MY_VERSION}-${MY_SUFFIX} + TTV=freetz-${MY_VERSION}-${MY_SUFFIX} toolchain" +#. wait the build to complete +#. (optional) upload created download toolchain files to some site + +The toolchains created in steps above can then be reused: + +7. activate "Toolchain options/Download and use precompiled toolchains" +8. activate "Override options/Override precompiled toolchain options" +9. set version/suffix/md5/download-site values to the values used in + the steps above +10. adjust gcc/uClibc versions under "Toolchain options", set them to + the same values as in step 2 + +.. _TargetNative-Compiler-Toolchainerstellen: + +Target/Native-Compiler-Toolchain erstellen +========================================== + +Some times it is easier to use a native development tools and compiler +on the FritzBox directly by calling ./configure and build dependent +libraries, test the according binaries directly on the box and find out +configure options for packages which do not work for cross-compiling. +Compiling can already be done for an 7270 box, performance-wise. + +.. _Therearesomegeneralpre-requisitetomeet:: + +There are some general pre-requisite to meet: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- connect an external USB-drive with an additional swap and ext3 + partition +- add a directory/mountpoint /usr/local , easy creatable with the addon + package to point to your writeable USB drive achievable with a mount + command which is executed with the autorun.sh script using the + Freetzmount mechanism, e.g. + ``mount -o /var/InternerSpecher/uStor03/local /usr/local`` + +.. _Nowyouhaveonlytocreatetheaccordingtargetcompilerandlibraries: + +Now you have only to create the according target compiler and libraries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- select Level of user (Expert), select Toolchain options → Build + binutils and gcc for target and select needed libraries in Shared + libraries +- select Busybox applets → developer tools and the make binaries +- build freetz image and copy some necessary libs to the addon package + and re-build the image + ``cp -R toolchain/target/target-utils/lib addon/own-files-0.1/root`` +- now you have only to archive the cross compiled native binaries and + unpack this binaries on your box to /usr/local and to correct some + links: + ``tar -cf ~/compiler.tar -C toolchain/target/target-utils/usr .`` + ``tar -cf ~/libsincs.tar -C toolchain/target/ bin lib include share`` + ``rm /usr/local/lib/libc.so /usr/local/lib/libpthread.so && (cd /usr/local/lib; ln -s /lib/libc.so.0 libc.so; ln -s /lib/libpthread.so.0 libpthread.so)`` + +This is already enough for writing and testing hello world programs. + +.. _Usingthelinuxconfiguremechanismontheboxneedssomefurtherthingstodo: + +Using the linux configure mechanism on the box needs some further things to do +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- adapting the paths in pkgconfig files (*.pc), config files and + library linker files (*.la) + ``for i in /usr/local/lib/pkgconfig/*.pc; do sed 's~/home.*uclibc/usr~/usr/local~' $i > $i.tmp; mv $i.tmp $i; done`` + ``for i in /usr/local/bin/*-config; do sed 's~/home.*uclibc/usr~/usr/local~' $i > $i.tmp; mv $i.tmp $i; chmod a+x $i; done`` + ``for i in /usr/local/lib/*.la; do sed 's~/home.*uclibc/usr~/usr/local~' $i > $i.tmp; mv $i.tmp $i; done`` +- the tools m4, autoconf, automake, bison and flex have to be + downloaded and installed, whereas the sources should be unpacked to + /usr/local/src + ``./configure --prefix=/usr/local --disable-nls && make install`` + +There you are, now configuring and making perl or other complex linux +packages from source should be fine. + +.. _Usingthedev-toolspackagetoinstallcompilerandtools: + +Using the dev-tools package to install compiler and tools +--------------------------------------------------------- + +- add dev-tools patch from `#2722 `__ and toolchain.patch + from `#2650 `__ using similar commands as: + ``for f in $(svn --dry-run patch dev-tools_v4.patch | grep target | tr -d "'" | cut -d' ' -f4); do mkdir -p $(dirname $f); touch $f; svn add $(dirname $f) 2> /dev/null; rm $f; done`` + ``svn patch dev-tools_v4.patch`` + ``svn patch toolchain.patch`` +- use your `Download <../../../Download.html>`__ toolchain and select + Dev-Tools package and choose Amount of tools → compiler (fully + functional ..), select External processing → Dev-Tools +- create image and external file, the external file can be uploaded via + the Freetz web interface + (only if the external file becomes too big, you have to split it into + several files package-wise with acccording option or you have to copy + it manually to your box and to untar into the external directory + ``tar -xf *.external -C /usr/local`` +- before building you have to set the environment by sourcing the + compiler settings /usr/local/bin/CFLAGS.sh + ``. /usr/local/bin/CFLAGS.sh`` + +- Tags +- `howtos `__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/development/create_gui.rst b/wiki/help/howtos/development/create_gui.rst new file mode 100644 index 0000000..eb8f543 --- /dev/null +++ b/wiki/help/howtos/development/create_gui.rst @@ -0,0 +1,714 @@ +help/howtos/development/create_gui +================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images `__ + + #. `Tools und Syntax `__ + #. `Vorgehensweise `__ + #. `Verwendung von fwmod im "no + freetz"-Modus `__ + +#. `Patches in Freetz + einspielen `__ +#. `Example 3: + NZBGet `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 2: + par2cmdline `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Create new image with added + package `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. `Example 1: + Httptunnel `__ + + #. `Build + manually `__ + #. `Add package to + Freetz `__ + #. `Call Procedures "make menuconfig" and + "make" `__ + #. `Testing `__ + #. `Preparing New Package for Public Integration to Freetz + Trunk `__ + +#. + + #. `Signieren von Firmware `__ + #. `Konkrete Anwendung in + Freetz `__ + +#. `Ablauf eines + Firmware-Updates `__ +#. `Eigene Programme + kompilieren `__ +#. `Dynamische Bandbreitenanzeige per + SVG `__ + + #. `Anleitung zur + Test-Installation `__ + +#. `Platz sparen im Dateisystem der + FritzBox `__ + + #. `Vorwort und Motivation `__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? `__ + #. `Weitere Spartricks `__ + #. `Schlußwort `__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Lösungsweg `__ + #. `Wege, sich schnell einen Überblick zu + verschaffen `__ + #. `Zusammenfassung `__ + +#. `Release Management `__ + + #. `Subversion + Repository `__ + #. `Checklists `__ + #. `GIT `__ + #. `Downloads `__ + #. `References `__ + +#. `First steps - How to start your first freetz + package `__ + + #. `Info `__ + #. `Build + Environment `__ + #. `File + Structure `__ + #. `Examples Binary + Package `__ + #. `Configuration + Handling `__ + #. `Examples + Web-Interface `__ + #. `Trouble + shooting `__ + +#. `Kernel konfigurieren und + kompilieren `__ +#. `Menükonfiguration + pflegen `__ + + #. `Einstieg `__ + #. `Beispiel-Konfiguration für ein neues + Paket `__ + #. `Menuconfig-Warnungen + beheben `__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets `__ + #. `Syntax-Fehler in MK-Dateien + finden `__ + #. `Syntax-Hervorhebung für + MK-Dateien `__ + +#. `ADAM2-Bootloader `__ + + #. `Bootloader-Backup + anlegen `__ + #. `Bootloader überschreiben `__ + #. `Bootloader-Befehle `__ + #. `Bootloader-Quelltext `__ + #. `Aufbau des Bootloaders `__ + #. `Bootloader und Freetz `__ + +#. `Einstellungen speichern im + Urlader-Environment `__ + + #. `Vorwort und + Motivation `__ + #. `Lösungsmöglichkeiten `__ + #. `Bootloader + Environment `__ + #. `Variable + "kernel_args" `__ + #. `Kernel_Args-API `__ + #. `Mögliche + Anwendungsfälle `__ + +#. `Busybox konfigurieren und + kompilieren `__ +#. `Wie baue ich ein eigenes Paket für + Freetz? `__ +#. `Firmware-Image-Namen analysieren und + interpretieren `__ + + #. `Einleitung `__ + #. `Skript-Code `__ + #. `Daten im Rohformat `__ + #. `Ausgabe grundlegender + Informationen `__ + #. `Ausgabe erweiterter + Informationen `__ + +#. + + #. `Web-interface + HTTPTunnel `__ + +#. `Developer + Information `__ +#. `Addon Paket + installieren `__ +#. `Paketverwaltung für + Freetz `__ + + #. `Erweiterung des + Dateisystems `__ + #. `Paketverwaltung `__ + #. `Links `__ + #. `Kommentare `__ + +#. `Wie die FritzBox Manipulationen + erkennt `__ + + #. `Ursachen `__ + #. `Diagnose `__ + #. `Lösungen `__ + #. `Schlußwort und + Ausblick `__ + +#. `Shell Coding + Conventions `__ + + #. `Shell + Language `__ + #. `Basic + Format `__ + #. `If, For, and + While `__ + #. `Test + Built-in `__ + #. `Single-line conditional + statements `__ + #. `Infinite + Loops `__ + #. `Exit Status and If/While + Statements `__ + #. `Variable + References `__ + #. `Variable + Naming `__ + #. `Quoting `__ + #. `Variable + Assignments `__ + #. `Testing for (Non-)Empty + Strings `__ + #. `Commenting `__ + #. `Pathnames `__ + #. `Interpreter + Magic `__ + +#. `Package + Development `__ + + #. `Persistent Package + Settings `__ + +#. `Erstellen einer GUI für Pakete in + Freetz `__ + + #. `Motivation `__ + #. `Grundlagen `__ + #. `Wie funktioniert das mit der + GUI? `__ + +#. `Flash Partitionierung `__ + + #. `Hidden SquashFS `__ + #. `Contiguous SquashFS `__ + #. `Hidden Root `__ + #. `NAND Root `__ + #. `Dateisystem `__ + #. `Kernel `__ + #. `Weblinks `__ + +#. `Trac + Hooks `__ + + #. `trac-post-commit-hook `__ + #. `trac-post-revprop-change-hook `__ + +#. `Package Developing - Advanced + Topics `__ + + #. `Adding conditional + patches `__ + #. `Adding multi-binary + packages `__ + +#. `Eigene Dateien in die Firmware + integrieren `__ + + #. `Feste Integration über das Freetz + Image `__ + #. `Erzeugen der Dateien aus der + debug.cfg `__ + #. `Nachladen vom + Webserver `__ + #. `Nachladen vom + USB-Stick `__ + #. `WebDAV Share + mounten `__ + #. `NFS-Share mounten `__ + +#. `Freetz Build-Prozeß `__ + + #. `Vorwort und Motivation `__ + #. `Grundsätzliches `__ + +#. `Flash-Partitionen von außen mit FTP + sichern `__ + + #. `Motivation `__ + #. `Voraussetzungen `__ + #. `Allgemeine Informationen zur + Datensicherung `__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) `__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) `__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) `__ + #. `Uploads via FTP `__ + +#. `libmodcgi.sh `__ + + #. `cgi `__ + #. `cgi_begin `__ + #. `cgi_end `__ + #. `sec_begin `__ + #. `sec_end `__ + #. `html `__ + #. `check, + select `__ + #. `href `__ + #. `back_button `__ + #. `sec_level `__ + #. `stat_bar `__ + #. `cgi_param `__ + #. `cgi_error, + print_error `__ + #. `path_info `__ + #. `valid `__ + +#. `Cross-Compiler / Toolchain + erstellen `__ +#. `Eigene Download-Toolchain + erstellen `__ +#. `Target/Native-Compiler-Toolchain + erstellen `__ + + #. `Using the dev-tools package to install compiler and + tools `__ + +.. _ErstelleneinerGUIfürPaketeinFreetz: + +Erstellen einer GUI für Pakete in Freetz +======================================== + +.. _Motivation: + +Motivation +---------- + +Ein großer Faktor für den Erfolg von Freetz ist die Tatsache, dass die +Pakete dort über eine GUI zu konfigurieren sind. Über den Aufbau und die +Vorgehensweise zur Erstellen einer solchen GUI soll es in diesem Beitrag +gehen. Als Grundlage nehmen wir ein virtuelles Paket mit Namen "hugo" +an, um einen Bezug zu haben + +.. _Grundlagen: + +Grundlagen +---------- + +Bevor man sich Gedanken über die GUI machen kann, sind ein paar +grundlegende Dinge über die Art und Weise zu sagen, wie in Freetz Pakete +funktionieren. Als grundlegende Information sei auf die `​Doku von +Daniel `__ +verwiesen, hier soll das ganze nur kurz wiedergegeben werden (ich hoffe +das "fast wortwörtliche direkte Kopieren" aus dem Thread von Daniel ist +mir hier erlaubt): + +.. _EigenePakete: + +Eigene Pakete +~~~~~~~~~~~~~ + +An ein Paket stellen sich folgende Anforderungen: + +- rc Skript: + ``etc/init.d/rc. [start|stop|load|unload|restart|status]`` + +Wenn konfigurierbar: + +- Default Konfiguration: ``etc/default./.cfg`` +- Optional: cgi Skript für die Weboberfläche: + ``usr/lib/cgi-bin/.cgi`` +- Optional: Extra cgi Skripte in ``usr/lib/cgi-bin//`` + +Sonstige Default Dateien sollten auch ins Verzeichnis +etc/default./ gepackt werden. + +- ``/mod/etc/init.d/rc.`` +- ``/mod/etc/default./*`` +- ``/mod/usr/lib/cgi-bin/.cgi`` +- ``/mod/usr/lib/cgi-bin//*`` + +sind immer gültig (sofern im Paket enthalten) und werden bei statischen +Paketen über Symlinks realisiert. Binaries sollten nach ``bin``, +``sbin``, ``usr/bin`` oder ``usr/sbin``, damit sie sowohl in statischen +als auch dynamischen Paketen aufrufbar sind (die PATH Variable enthält +auch ``/mod/bin``, ``/mod/sbin``, ``/mod/usr/bin`` und +``/mod/usr/sbin``). Libraries funktionieren mit statischen wie auch +dynamischen Paketen in lib (``LD_LIBRARY_PATH=/mod/lib`` ⇒ Library wird +in ``/lib`` und ``/mod/lib`` gesucht) + +Benötigt ein Daemon eines Paketes eine Konfigurationsdatei (z.B. +``hugo.conf``), die für diesen Daemon spezifisch ist, so wird sie in der +Regel im rc Skript vor dem Starten des Daemons erzeugt. Ich habe dafür +folgende Konvention gewählt (ist aber kein muss), welche am Beispiel der +``bftpd.conf`` erläutert ist: + +#. Suche nach Skript ``/tmp/flash/hugo_conf``, welches die ``hugo.conf`` + als Ausgabe hat; existiert? → goto 3. +#. Führe Skript ``/etc/default.hugo/hugo_conf`` aus, die Ausgabe ergibt + wie bei 1. die ``hugo.conf`` (meistens ist dies der Fall) +#. Existiert ``/tmp/flash/hugo.conf.extra``? → füge sie an die in 1. + oder 2. generierte ``hugo.conf`` an + +Das sollte alle Möglichkeiten des "Feintunings" offen lassen. 3. macht +nicht immer Sinn, darum ist es optional. Wäre schön, wenn jeder, der ein +Paket erstellt, die Konventionen einhält. Das Skript ``hugo_conf`` muss +stets mit exportierten Variablen aus ``/mod/etc/conf/hugo.cfg`` +aufgerufen werden. So wird die ``hugo.conf`` je nach Paket-Konfiguration +individuell erstellt. + +.. _Konfiguration: + +Konfiguration +~~~~~~~~~~~~~ + +Jedes Paket besitzt ein Konfigurationsdatei +``/mod/etc/conf/.cfg``, welche wie folgt aufgebaut ist: + +.. code:: wiki + + export _OPTION1='bla' + export _OPTION2='blub' + ... + +Sie enthält alle Optionen, die auch übers Webinterface eingestellt +werden können und ist in Shell Syntax. Damit kann die aktuelle +Konfiguration mit + +.. code:: wiki + + . /mod/etc/conf/.cfg + +eingelesen werden. In der Datei +``/mod/etc/default./.cfg`` sind die default +Einstellungen gespeichert. Beim Speichern werden nur die sich von den +Defaults unterscheidenden Variablen in die +``/tmp/flash/.diff`` transferiert und mit dem ganzen +Verzeichnis ``/tmp/flash/`` ins tffs abgelegt. Die Basis-Konfiguration +hat den Paketnamen 'mod'. Die Befehle dazu sind: + +:: + + modconf load + # -> erzeugt die Datei /mod/etc/conf/.cfg aus den Defaults und der .diff + + + modconf save + # -> erzeugt die Datei .diff aus den Defaults und der /mod/etc/conf/.cfg + + modsave + # -> ruft unter anderem für alle Pakete 'modconf save' auf und speichert das Verzeichnis /tmp/flash ins tffs + + modsave flash + # -> speichert nur das Verzeichnis /tmp/flash ins tffs + +Das dauerhafte Abschalten des Webinterfaces geht damit so (Variable +MOD_HTTPD in der Basis-Konfiguration 'mod'): + +.. code:: wiki + + vi /mod/etc/conf/mod.cfg # -> MOD_HTTPD='yes' durch MOD_HTTPD='no' ersetzen + modconf save mod # nun ist mod.diff up-to-date + modsave flash # damit ist mod.diff im tffs + + # oder + + vi /mod/etc/conf/mod.cfg # -> MOD_HTTPD='yes' durch MOD_HTTPD='no' ersetzen + modsave # erzeugt alle diff Dateien neu und speichert ins tffs + +Soviel zur Veranschaulichung. Komfortabler ist folgendes: + +.. code:: wiki + + modconf set mod MOD_HTTPD=no + modconf save mod + modsave flash + + # bzw. + + modconf set mod MOD_HTTPD=no + modsave + +.. _WiefunktioniertdasmitderGUI: + +Wie funktioniert das mit der GUI? +--------------------------------- + +Im vorigen Abschnitt wurde beschrieben, welche Dateien es gibt und wie +ich die Werte von Variablen direkt von der Shell aus ändern kann. Die +Freetz GUI's basieren auf dem Konzept des +`​Proccgi `__ von Frank +Pilhofer. Hierzu bedienen sie sich Umgebungsvariablen, die wie oben +beschrieben dem Muster ``_`` folgen. In den +HTML-Seiten der GUI werden Input-Felder mit dem Tag +``name=""`` versehen. Diese Felder korrespondieren dann +mit den Variablen. Alle GUI-Seiten sind in einen Rahmen-Formular von +Freetz untergebracht, das über den Button "Übernehmen" diese Variablen +ausliest und der Umgebungsvariable zuweist. + +.. _EinBeispiel: + +Ein Beispiel +~~~~~~~~~~~~ + +Ich hoffe, ein kleines Beispiel macht das deutlicher, unser "Paket" +heisst wie schon gesagt "hugo". Als erstes legen wir das "default" +Verzeichnis und die hugo.cfg Datei an. + +:: + + mkdir /mod/etc/default.hugo + touch /mod/etc/default.hugo/hugo.cfg + +Im "default" Verzeichnis des Paketes ``/etc/default.hugo/hugo.cfg`` +werden die benutzten Variablen über einen export definiert und zugleich +auch mit einem "default-Wert" belegt. Wenn man später also im +Webinterface auf "Standard" klickt, werden die dort festgelegten Werte +aus der GUI übernommen. So eine Datei sähe dann in etwa so aus: + +:: + + export HUGO_ACTION='ACCEPT' + export HUGO_CHAIN='INPUT' + export HUGO_DESTINATION='anywhere' + export HUGO_ENABLED='no' + +Damit sind die Variablen ``ACTION``, ``CHAIN``, ``DESTINATION``, +``ENABLED``, etc. definiert. Diese Variablennamen werden in der GUI, +einem "cgi-File" belegt (per Eingabe oder auch per javascript). + +Der entsprechende Abschnitt dazu im Code + +:: + +

DESTINATION:

+ +man sieht hier auch, dass dieses "cgi"-File Shellauswertung nutzt, um im +HTML-Code den Wert von "DESTINATION" als Vorbelegung nutzt. + +Beim "Übernehmen" werden diese Variablen mit den "default-Variablen" +verglichen und beim Abweichen direkt resetfest im Flash abgespeichert. + +Gibt man hier nun in das Feld "Blabla" ein, erzeugt das "Übernehmen" die +Datei ``/var/tmp/flash/hugo.diff`` mit diesem Inhalt: + +:: + + export HUGO_DESTINATION='Blabla' + +die mit ``modsave`` auch gleich gesichert wird. Auch wird aus der +Zusammenführung der default-Werte und der geänderten Werte im +*diff*-file die aktuelle Datei ``/mod/etc/conf/hugo.cfg`` erstellt, die +für jede Variable den aktuellen Wert zuweist (das alles macht übrigens +das cgi ``/usr/mww/cgi-bin/save.cgi``, der beim Abschicken des Formulars +aufgerufen wird). + +hat man also die ``hugo.cfg`` Datei im "default" Verzeichnis fertig +gestellt, so kopiert man diese nach ``/mod/etc/conf`` + +:: + + modconf load hugo + +Jetzt kommt die GUI Programmierung dran. Die Datei ``hugo.cgi`` wird im +Verzeichnis ``/mod/usr/lib/cgi-bin/`` angelegt und sollte ungefähr so +aussehen. + +:: + + #!/bin/sh + + PATH=/bin:/usr/bin:/sbin:/usr/sbin + . /usr/lib/libmodcgi.sh + + # setzt auto_chk oder man_chk auf ' checked', je nach Wert von HUGO_ENABLED + check "$HUGO_ENABLED" yes:auto "*":man + + sec_begin 'Activation' + cat << EOF +
Version 1.0.3
+

+ + +

+ EOF + sec_end + + sec_begin 'hugo Überschrift' + cat << EOF + ... +

DESTINATION:

+ ... + EOF + sec_end + +Wollen wir eine zusätzliche Datei fest ins Flash speichern, so müssen +wir diese mit ``modreg file`` registrieren und eine Datei namens +``hugo_file.def`` im Verzeichnis ``/mod/etc/default.hugo`` anlegen. +Inhalt muss so aussehen: + +:: + + CAPTION='Überschrift' + DESCRIPTION='Beschreibung dieser Datei. Bla bla bla...' + CONFIG_FILE='/tmp/flash/hugo_file' + CONFIG_SAVE='modsave flash;' + CONFIG_TYPE='text' + +(Falls die zu bearbeitende Datei zunächst generiert werden muss, kann +die nötige Anweisung in ``CONFIG_PREPARE`` angegeben werden.) + +Der Daemon, der unsere Arbeiten ausführt, heisst ``rc.hugo`` und wird +unter ``/mod/etc/init.d`` angelegt. Die ersten Zeilen müssen so +aussehen: + +:: + + #!/bin/sh + + DAEMON=hugo + + # Liest Paketkonfiguration ein und definiert einige Hilsfunktionen + . /etc/init.d/modlibrc + + start() { + # HIER KOMMEN DIE VERARBEITUNGEN REIN + echo "Starting hugo..." + } + + stop() { + # HIER KOMMEN DIE VERARBEITUNGEN REIN + echo "Stopping hugo..." + } + + case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + if [ -z "$(pidof "$DAEMON")" ]; then + echo 'stopped' + else + echo 'running' + fi + ;; + ""|load) + # CGI registrieren + modreg cgi $DAEMON Bezeichnung + # File registrieren (wird resetfest ins flash gespeichert) + # modreg file <sec-level> <desc-file (ohne Pfad und .def-Endung)> + modreg file 'hugo' 'config' 'HUGO: File' 0 "hugo_file" + + if [ "$HUGO_ENABLED" != "yes" ]; then + echo "$DAEMON is disabled" 1>&2 + exit 1 + else + start + fi + ;; + + ;; + unload) + stop + modunreg file 'hugo' + modunreg cgi 'hugo' + ;; + *) + echo "Usage: $0 [start|stop|restart|status]" 1>&2 + exit 1 + ;; + esac + + exit 0 + +Jetzt löschen den cache und bauen wir den Menüpunkt "hugo" in das +Webmenü ein. + +:: + + rm /var/mod/var/cache/menu/packages + modreg cgi hugo hugo + +**TIPP:** Wenn man ein CGI entwickelt, sollte man seine Arbeiten auf +einen angeschlossenen USB-Stick ablegen und die entsprechenden Dateien +ins RAM von Freetz kopieren bzw. Softlinks setzen. Hier ein Beispiel für +ein kleines Script, welches die Dateien temporär ins RAM kopiert. + +:: + + #!/bin/sh + mkdir /mod/etc/default.hugo + cp hugo.cfg /mod/etc/default.hugo + modconf load hugo + cd /mod/usr/lib/cgi-bin + ln -s /var/media/ftp/uStor01/hugo.cgi hugo.cgi + cd /mod/etc/init.d + ln -s /var/media/ftp/uStor01/rc.hugo rc.hugo + modreg cgi hugo hugo + cd - + +- Tags +- `development </tags/development>`__ diff --git a/wiki/help/howtos/development/developer_information.rst b/wiki/help/howtos/development/developer_information.rst new file mode 100644 index 0000000..4f16a24 --- /dev/null +++ b/wiki/help/howtos/development/developer_information.rst @@ -0,0 +1,161 @@ +help/howtos/development/developer_information +============================================= +.. _DeveloperInformation: + +Developer Information +===================== + +Most of the information for developers is still only available in the +`​IPPF wiki <http://wiki.ip-phone-forum.de/software:ds-mod:start>`__, +but it is partly outdated and quite disarranged. This shall be a +starting point for writing current developer information regarding +freetz. + +Table of Contents +^^^^^^^^^^^^^^^^^ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +- `Writing Wiki Articles <../../wikiedit.html>`__ + +- Interner Entwicklerbereich: Nur für Entwickler: Interner Bereich zur + Abstimmung. diff --git a/wiki/help/howtos/development/developer_information/package_development.rst b/wiki/help/howtos/development/developer_information/package_development.rst new file mode 100644 index 0000000..e564a30 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development.rst @@ -0,0 +1,68 @@ +help/howtos/development/developer_information/package_development +================================================================= +.. _PackageDevelopment: + +Package Development +=================== + +This page is primarily for freetz package developers. + +.. _PersistentPackageSettings: + +Persistent Package Settings +--------------------------- + +Freetz provides a package configuration framework easing implementation +and allows settings to be stored persistently. Packages must provide two +files to use the framework: + +#. /etc/default.$package/$package.cfg — This file must contain all + configuration settings as exported shell variables; each variable has + to start with the capitalized package name. Example: + + .. code:: wiki + + export PACKAGE_VAR1='var1' + export PACKAGE_VAR2='var2' + +2. /usr/lib/cgi-bin/$package.cgi — This is the cgi file used for package + configuration. It has to be registered via 'modreg cgi'. For + examples, have a look at some package providing a web interface page. + +If this is implemented correctly, freetz takes care of saving and also +restarting the service, if the package provides one. + +.. _Custompackagesavingmechanism: + +Custom package saving mechanism +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Freetz also provides a mechanism to hook into the 'normal' saving +procedure and execute custom code or do manual saving. An example using +this mechanism is the package mini_fo. This mechanism comes in quite +handy if the package needs to re-create configuration files or +start/stop special (non-default) services on changing the configuration. +It works as follows: If a package provides a file +/etc/default.$package/$package.save, it will be sourced by the saving +mechanism as a shell script (but it should not have a shebang line!). +The .save-script can implement any or all of the following shell +functions, which are executed at some special point during the saving +mechanims: + +pkg_pre_save() + Executed before saving happens. +pkg_apply_save() + Executed after settings were changed, but before they are saved to + flash. ATTENTION! This is not executed if there are no settings (no + $package.cfg file)! +pkg_post_save() + Executed after settings were saved to flash. +pkg_pre_def() + Executed before saving happens when loading the package defaults. +pkg_apply_def() + Executed after settings were changed, but before they are saved to + flash when loading the package defaults. ATTENTION! This is not + executed if there are no settings (no $package.cfg file)! +pkg_post_def() + Executed after settings were saved to flash when loading the package + defaults. diff --git a/wiki/help/howtos/development/developer_information/package_development_advanced.rst b/wiki/help/howtos/development/developer_information/package_development_advanced.rst new file mode 100644 index 0000000..1c1a1ea --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_advanced.rst @@ -0,0 +1,310 @@ +help/howtos/development/developer_information/package_development_advanced +========================================================================== +.. _PackageDeveloping-AdvancedTopics: + +Package Developing - Advanced Topics +==================================== + +This chapter deals with some advanced topics on creating +freetz-packages. It assumes that you are already familiar with the basic +concepts described `here <package_development_start.html>`__. + +.. _Addingconditionalpatches: + +Adding conditional patches +-------------------------- + +If you'd like to add conditional patches which could be enabled/disable +by the user via menuconfig, a good example is +`r11348 </changeset/11348>`__ + +.. _Addingmulti-binarypackages: + +Adding multi-binary packages +---------------------------- + +Imagine you would like to add a freetz-package for some set of tools +developed within the same source tree and thus distributed together as a +single tarball file. Furthermore, you would like the user to be able to +select which tool should be included in the image and which not. The +simple straightforward solution might look like this: + +``Config.in`` + +.. code:: wiki + + FREETZ_PACKAGE_FOO_BINARY1 + bool "include binary1" + default n + help + Adds binary1 to the image + + FREETZ_PACKAGE_FOO_BINARY2 + bool "include binary2" + default n + help + Adds binary2 to the image + + .... + + FREETZ_PACKAGE_FOO_BINARYN + bool "include binaryN" + default n + help + Adds binaryN to the image + +``foo.mk`` + +.. code:: wiki + + $(call PKG_INIT_BIN, 0.0.1) + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + $(PKG)_SOURCE_MD5:=0123456789abcdef0123456789abcdef + $(PKG)_SITE:=http://www.foo.net/ + + $(PKG)_BINARY1 := $($(PKG)_DIR)/binary1 + $(PKG)_TARGET_BINARY1 := $($(PKG)_DEST_DIR)/usr/bin/binary1 + $(PKG)_BINARY2 := $($(PKG)_DIR)/binary2 + $(PKG)_TARGET_BINARY2 := $($(PKG)_DEST_DIR)/usr/bin/binary2 + ... + $(PKG)_BINARYN := $($(PKG)_DIR)/binaryN + $(PKG)_TARGET_BINARYN := $($(PKG)_DEST_DIR)/usr/bin/binaryN + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_CONFIGURE) + + $($(PKG)_BINARY1) $($(PKG)_BINARY2) ... $($(PKG)_BINARYN): $($(PKG)_DIR)/.configured + PATH="$(TARGET_PATH)" \ + $(MAKE) -C $(FOO_DIR) \ + all + + $($(PKG)_TARGET_BINARY1): $($(PKG)_BINARY1) + ifeq ($(strip $(FREETZ_PACKAGE_FOO_BINARY1)),y) + $(INSTALL_BINARY_STRIP) + else + $(RM) $@ + endif + + $($(PKG)_TARGET_BINARY2): $($(PKG)_BINARY2) + ifeq ($(strip $(FREETZ_PACKAGE_FOO_BINARY2)),y) + $(INSTALL_BINARY_STRIP) + else + $(RM) $@ + endif + + ... + + $($(PKG)_TARGET_BINARYN): $($(PKG)_BINARYN) + ifeq ($(strip $(FREETZ_PACKAGE_FOO_BINARYN)),y) + $(INSTALL_BINARY_STRIP) + else + $(RM) $@ + endif + + $(pkg): + + $(pkg)-precompiled: $($(PKG)_TARGET_BINARY1) $($(PKG)_TARGET_BINARY2) ... $($(PKG)_TARGET_BINARYN) + + $(pkg)-clean: + -$(MAKE) -C $(FOO_DIR) clean + + $(pkg)-uninstall: + $(RM) $(FOO_TARGET_BINARY1) $(FOO_TARGET_BINARY2) ... $(FOO_TARGET_BINARYN) + + $(PKG_FINISH) + +There is nothing wrong with this solution. It is perfectly suitable for +packages providing two or three binaries. For packages providing more +binaries you would however quickly realize that by adding new binary to +the package you don't write any new code but actually copying and +adjusting the old one (in software engineering this process is called +code cloning and is advised to be avoided as it may inflate maintenance +costs). + +Make is a very powerful tool and allows the same task to be solved +writing much less code by using **patterns** and the so called **static +pattern rules**. Let's take a look at the real Makefile of the +dosfstools package. + +`dosfstools.mk </browser/trunk/make/dosfstools/dosfstools.mk>`__\ `​ </export/HEAD/trunk/make/dosfstools/dosfstools.mk>`__ + +.. code:: wiki + + $(call PKG_INIT_BIN, 3.0.5) + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + $(PKG)_SOURCE_MD5:=d48177cde9c6ce64333133424bf32912 + $(PKG)_SITE:=http://www.daniel-baumann.ch/software/dosfstools + + $(PKG)_BINARIES_ALL := dosfsck dosfslabel mkdosfs + $(PKG)_BINARIES := $(strip $(foreach binary,$($(PKG)_BINARIES_ALL),$(if $(FREETZ_PACKAGE_$(PKG)_$(shell echo $(binary) | tr [a-z] [A-Z])),$(binary)))) + $(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/%) + $(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/sbin/%) + $(PKG)_NOT_INCLUDED := $(patsubst %,$($(PKG)_DEST_DIR)/usr/sbin/%,$(filter-out $($(PKG)_BINARIES),$($(PKG)_BINARIES_ALL))) + + # always compile with LFS enabled + $(PKG)_CFLAGS := $(subst $(CFLAGS_LARGEFILE),,$(TARGET_CFLAGS)) $(CFLAGS_LFS_ENABLED) -fomit-frame-pointer + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_NOP) + + $($(PKG)_BINARIES_BUILD_DIR): $($(PKG)_DIR)/.configured + PATH="$(TARGET_PATH)" \ + $(MAKE) -C $(DOSFSTOOLS_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(DOSFSTOOLS_CFLAGS)" \ + all + + $($(PKG)_BINARIES_TARGET_DIR): $($(PKG)_DEST_DIR)/usr/sbin/%: $($(PKG)_DIR)/% + $(INSTALL_BINARY_STRIP) + + $(pkg): + + $(pkg)-precompiled: $($(PKG)_BINARIES_TARGET_DIR) + + $(pkg)-clean: + -$(MAKE) -C $(DOSFSTOOLS_DIR) clean + + $(pkg)-uninstall: + $(RM) $(DOSFSTOOLS_BINARIES_ALL:%=$(DOSFSTOOLS_DEST_DIR)/usr/sbin/%) + + $(PKG_FINISH) + +This line + +.. code:: wiki + + $(PKG)_BINARIES_ALL := dosfsck dosfslabel mkdosfs + +simply defines a variable containing the names (just the names not the +full paths) of all binaries of the package. + +This next line + +.. code:: wiki + + $(PKG)_BINARIES := $(strip $(foreach binary,$($(PKG)_BINARIES_ALL),$(if $(FREETZ_PACKAGE_$(PKG)_$(shell echo $(binary) | tr [a-z] [A-Z])),$(binary)))) + +is probably the most complex one in the whole makefile. It defines a +variable containing the names of all binaries selected in menuconfig. +This is done by iterating +(`​foreach <http://www.gnu.org/software/make/manual/make.html#Foreach-Function>`__ +function) over the names of all binaries (``$($(PKG)_BINARIES_ALL)``) +and evaluating the variable with dynamically constructed name +``FREETZ_PACKAGE_$(PKG)_$(shell echo $(binary) | tr [a-z] [A-Z])``. The +expression ``$(shell echo $(binary) | tr [a-z] [A-Z])`` is a simple +invocation of ``tr`` program which returns the upper-cased binary name. +In case the variable with dynamically constructed name evaluates to some +non-empty value (the only possible non-empty value is **y**) the binary +is added to the ``$(PKG)_BINARIES`` variable. For those of you who is +familiar with other programming languages, this line is equivalent to +the following pseudo-code: + +.. code:: wiki + + $(PKG)_BINARIES := {}; # {} represents an empty set + for binary in $($(PKG)_BINARIES_ALL); do + if isNotEmpty($(FREETZ_PACKAGE_$(PKG)_$(UPPERCASED_BINARY_NAME))); then + $(PKG)_BINARIES += $(binary); + fi + done + +The outter +`​strip <http://www.gnu.org/software/make/manual/make.html#Text-Functions>`__ +function ensures that $(PKG)_BINARIES remains empty if no binary at all +is selected in menuconfig (the foreach function always adds spaces in +between regardless of whether +``FREETZ_PACKAGE_$(PKG)_$(UPPERCASED_BINARY_NAME)`` evaluates to +something non-empty or not). + +The advantage of this line is that it is absolutely generic. It depends +neither on the number of binaries the package provides nor on the +package name. You could use it on your packages without a change and +without actually understanding how exactly it does what it does. + +The next two lines + +.. code:: wiki + + $(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/%) + $(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/sbin/%) + +are absolutely identical in the sense of makefile techniques used. They +both use a shorthand for the make +`​patsubst <http://www.gnu.org/software/make/manual/make.html#Text-Functions>`__ +function. Each word in the list defined by ``$(PKG)_BINARIES`` variable +matching the ``'%'``-pattern is replaced with ``$($(PKG)_DIR)/%``. I.e. +provided ``$(PKG)_BINARIES`` is equal to ``'dosfsck mkdosfs'``, +``$(PKG)_BINARIES_BUILD_DIR`` would be equal to +``'$($(PKG)_DIR)/dosfsck $($(PKG)_DIR)/mkdosfs'`` (see +`​this <http://www.gnu.org/software/make/manual/make.html#Text-Functions>`__ +page for the explanations of what ``'%'``-sign means when used in +**pattern** and what it means when used in **replacement**). Both lines +could also be written this way: + +.. code:: wiki + + $(PKG)_BINARIES_BUILD_DIR := $(addprefix $($(PKG)_DIR)/,$($(PKG)_BINARIES)) + $(PKG)_BINARIES_TARGET_DIR := $(addprefix $($(PKG)_DEST_DIR)/,$($(PKG)_BINARIES)) + +The next line + +.. code:: wiki + + $(PKG)_NOT_INCLUDED := $(patsubst %,$($(PKG)_DEST_DIR)/usr/sbin/%,$(filter-out $($(PKG)_BINARIES),$($(PKG)_BINARIES_ALL))) + +does absolutely the same as the line defining the +``$(PKG)_BINARIES_TARGET_DIR`` variable with the only difference that it +contains the list of dosfstools-binaries not selected in menuconfig. +This part of it + +.. code:: wiki + + $(filter-out $($(PKG)_BINARIES),$($(PKG)_BINARIES_ALL)) + +computes the difference between the ``$(PKG)_BINARIES_ALL`` and +``$(PKG)_BINARIES`` sets, i.e. it contains all binaries contained in +``$(PKG)_BINARIES_ALL`` and not contained in ``$(PKG)_BINARIES``. + +The variable ``$(PKG)_NOT_INCLUDED`` has a special meaning in freetz +framework. It is expected to contain a list of all package files to be +excluded from the image. Defining this variable allows all explicit +``$(RM) $@`` lines existing in the 1st example to be removed. Freetz' +build system will take care of removing unnecessary files. + +The last fragment we take a look at is the following one: + +.. code:: wiki + + $($(PKG)_BINARIES_TARGET_DIR): $($(PKG)_DEST_DIR)/usr/sbin/%: $($(PKG)_DIR)/% + $(INSTALL_BINARY_STRIP) + +It defines the so called `​static pattern +rule <http://www.gnu.org/software/make/manual/make.html#Static-Pattern>`__, +a rule which specifies multiple targets and constructs the prerequisite +names for each target based on the target name. These two lines are +\_absolutely\_ equivalent to the following ones from the 1st example, +they are just a shorthand for them: + +.. code:: wiki + + $($(PKG)_TARGET_BINARY1): $($(PKG)_BINARY1) + $(INSTALL_BINARY_STRIP) + + $($(PKG)_TARGET_BINARY2): $($(PKG)_BINARY2) + $(INSTALL_BINARY_STRIP) + + ... + + $($(PKG)_TARGET_BINARYN): $($(PKG)_BINARYN) + $(INSTALL_BINARY_STRIP) + +That is actually it. There is absolutely no magic behind it. + +You might want to take a look at the Makefiles of the following +packages: +`e2fsprogs </browser/trunk/make/e2fsprogs/e2fsprogs.mk>`__\ `​ </export/HEAD/trunk/make/e2fsprogs/e2fsprogs.mk>`__, +`lighttpd </browser/trunk/make/lighttpd/lighttpd.mk>`__\ `​ </export/HEAD/trunk/make/lighttpd/lighttpd.mk>`__, +`subversion </browser/trunk/make/subversion/subversion.mk>`__\ `​ </export/HEAD/trunk/make/subversion/subversion.mk>`__. +They all use the techniques like those described above. diff --git a/wiki/help/howtos/development/developer_information/package_development_dynamic.rst b/wiki/help/howtos/development/developer_information/package_development_dynamic.rst new file mode 100644 index 0000000..f787d73 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_dynamic.rst @@ -0,0 +1,168 @@ +help/howtos/development/developer_information/package_development_dynamic +========================================================================= +.. _PaketverwaltungfürFreetz: + +Paketverwaltung für Freetz +========================== + +Der folgende Beitrag beschreibt die Grundlagen, die notwendig sind, um +mit Freetz Pakete nach dem Flashvorgang installieren zu können. +Grundlage dafür sind ein transluzentes Dateisystem (mini_fo) und ein +Paketverwaltungssystem (ipkg, opkg). Diese Erweiterung bietet gegenüber +dem mitkompilieren der Pakete beim Image-Build folgende Vorteile: + +- Für jedes FritzBox-Modell existiert pro AVM Image-Version ein + Basis-Image, das nur geringfügige Änderungen gegenüber dem originalen + AVM-Image enthält (Stabilität) +- Weitere Pakete können zur Laufzeit hinzugefügt werden. Alle + dazugehörigen Modifikationen am Dateisystem werden dabei extern + gespeichert (z.B. auf einem USB-Stick) +- Treten Probleme im Betrieb auf, kann durch das Entfernen des + USB-Sticks und anschließendem Reboot das Basis-Image verwendet + werden. +- Die benötigten Erweiterungen bzw. Pakete müssen beim Erstellen des + Images nicht kompiliert werden. Sie können nach dem Flashen des + Images von einem Paket-Repository im Internet geladen werden +- Im Idealfall wird bei einem Firmware-Update (z.B. bei einer neuen + Version des AVM-Images) nur das Basis-Image aktualisiert. Die bereits + installierten Erweiterungen können, falls die Abhängigkeiten zum + Basisystem nicht zu groß sind, mit dem neuen Image weiterverwendet + werden +- das Verzeichnis /etc kann wie unter Linux üblich als + Konfigurationsverzeichnis verwendet werden. + +.. _ErweiterungdesDateisystems: + +Erweiterung des Dateisystems +---------------------------- + +.. _TransluzenteDateisystems: + +Transluzente Dateisystems +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Transluzente Dateisysteme (TFS) ermöglichen den schreibenden Zugriff auf +Read-Only-Dateisysteme (ROFS). Dazu wird das TFS über das ROFS gelegt. +Lesezugriffe auf bereits existierende Dateien werden an das ROFS +weitergeleitet, Modifikationen werden abgefangen und in einen +zusätzlichen Speicher geschrieben. Alle Lese- und Schreibzugriffe auf +das Dateisystem sind für den Benutzer bzw. die Anwendungen transparent. + +.. _AnbindungexternerMedien: + +Anbindung externer Medien +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Als Speicherort für die Änderungen am Dateisystem kann je nach +FritzBox-Modell entweder ein über USB angeschlossenes Medium (USB-Stick, +Festplatte) oder der interne Speicher der FritzBox verwendet werden. Um +das Rechtesystem von Linux auf dem beschreibbaren Dateisystem abbilden +zu können, muss ein Dateisystem wie ext2 oder ext3 verwendet werden +(SquashFS scheidet aus, da es ein Read-Only-Dateisystem ist). Aufgrund +der niedrigen Speicherpreise sollte es kein Problem mehr sein, den +ganzen USB-Stick für das TFS zu verwenden. Man könnte alternativ auch +eine Image-Datei auf einem mit FAT formatierten USB-Stick anlegen, die +wiederum mit ext2/3 formatiert wird. Um diese Datei einzubinden, müsste +jedoch zunächst der USB-Stick ins Dateisystem eingebunden werden um +anschließend auf die Image-Datei zugreifen zu können. Dieser Vorgang +würde die automatische Einbindung des TFS komplizierter machen und wird +zunächst vernachlässigt. + +.. _IntegrationindenBootvorgang: + +Integration in den Bootvorgang +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Das externe Dateisystem sollte baldmöglichst nach dem Start des Kernels +eingehängt werden, damit auch Änderungen bzw. Erweiterungen an den +Init-Skripten, die durch installierte Pakete erzeugt werden, beim +Startvorgang berücksichtigt werden. (Inittab????). Das +Integrationsskript prüft zunächst, ob ein USB-Stick mit einem der +unterstützten Dateisysteme angeschlossen ist und bindet ihn ein, falls +verfügbar. Ist kein USB-Stick vorhanden, wird das Basissystem ohne TFS +gestartet. (Man sollte vielleicht noch überprüfen, ob bestimmte +"Markierungen" im Dateisystem des USB-Sticks vorhanden sind, um +sichzerzustellen, dass der richtige USB-Stick verwendet wird). + +.. _Paketverwaltung: + +Paketverwaltung +--------------- + +.. _UnterstützungmehrererArchitekturen: + +Unterstützung mehrerer Architekturen +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _ErstellungvonPaketen: + +Erstellung von Paketen +~~~~~~~~~~~~~~~~~~~~~~ + +.. _BereitstellungderPakete: + +Bereitstellung der Pakete +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _InstallationvonPaketen: + +Installation von Paketen +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _Links: + +Links +----- + +`​Ein Beispiel zur Verwendung von mini_fo mit +Freetz <http://wwerther.de/2011/04/avm-fritz-box-freetz-mod/>`__ + +`​Diskussionsthread über Opkg und mini_fo im IP Phone +Forum <http://www.ip-phone-forum.de/showthread.php?t=166751>`__ + +`​Ein weiterer Diskussionsthread über Opkg und mini_fo im IP Phone +Forum <http://www.ip-phone-forum.de/showthread.php?t=102000>`__ + +`​Homepage von mini_fo <http://www.denx.de/wiki/Know/MiniFOHome>`__ + +`​Homepage von Opkg <http://code.google.com/p/opkg/>`__ + +`​Debian New Maintainers' +Guide <http://www.debian.org/doc/devel-manuals#maint-guide>`__ + +.. _Kommentare: + +Kommentare +---------- + +.. _CommentbyoliveronMi26Jan201111:44:01CET: + +Comment by oliver on Mi 26 Jan 2011 11:44:01 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Zu dem Punkt Integration in den Bootvorgang: Das frühe Mounten eines +USB-Sticks ist nicht so einfach, da der Vorgang boxspezifisch ist. Das +mounten von mini_fo dagegen funktioniert für alle Boxen gleich. Daher +würde es die Sache sehr erleichtern, wenn wir erstmal mit mini_fo und +jffs2 auskämen. Praktikabel ist das natürlich nur für die 16 MB Flash +Boxen. Ich nehme an, dass man mit unionfs den USB-Stick später auch noch +irgendwie einbinden könnte? Es müsste dann bei der Installation der +dynamischen Pakete irgendwo vermerkt werden, ob sie im ersten (jffs2) +oder zweiten (usb) Schritt gestartet werden sollen. + +Das ganze hätte natürlich den Nachteil, dass man keine Änderungen oder +Erweiterungen an den Init-Skripten machen kann. Da die Pakete erst nach +Abschluss des Bootvorgangs verfügbar wären. Andererseits haben wir mit +external ja schon ein Grundgerüst, wie das dynamisch (Stick rein/raus) +funktioniert. + +.. _Commentbyhippie2000onDi01Mär201123:51:14CET: + +Comment by hippie2000 on Di 01 Mär 2011 23:51:14 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Siehe auch + +`/ticket/1173 </ticket/1173>`__ + +AddComment? diff --git a/wiki/help/howtos/development/developer_information/package_development_start.rst b/wiki/help/howtos/development/developer_information/package_development_start.rst new file mode 100644 index 0000000..9d1b66c --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start.rst @@ -0,0 +1,323 @@ +help/howtos/development/developer_information/package_development_start +======================================================================= +.. _Firststeps-Howtostartyourfirstfreetzpackage: + +First steps - How to start your first freetz package +==================================================== + +.. _Info: + +Info +---- + +| In this howto you will find a number of examples for building + packages, each with their own parameters. +| The first part will describe the build environment, and preparing the + Toolchain. +| Than the `first example + package <package_development_start/example_1.html>`__ is the `​HTTP + tunnel server <http://www.nocrew.org/software/httptunnel.html>`__. + This package is an easy to compile, and a good choice for your first + freetz package. `Httptunnel <../../../../packages/httptunnel.html>`__ + is already included in freetz nowadays. + +| The `second example <package_development_start/example_2.html>`__ will + show the package `​par2cmdline <http://parchive.sourceforge.net/>`__. + Par2cmdline doesn’t require much additional parameters, but does + require a patch. This package require a lot of CPU and memory + resources so that makes this package less interesting for inclusion + into Freetz. + +The `third example <package_development_start/example_3.html>`__ is for +package `​nzbget <http://nzbget.sourceforge.net/>`__. NZBget needs a few +additional parameters, a small patch, and a library that is already part +of Freetz. Also this package requires a lot of CPU and memory resources, +and maybe only useful on the most powerful FritzBox models. + +.. _BuildEnvironment: + +Build Environment +----------------- + +There are `different platforms <../../common/install.html>`__ which you +may use to build your package, but usually all involve Linux in some +way. Currently Freetz-Linux looks to be the most updated choice. + +Just use the latest +`​freetz-linux <http://sourceforge.net/projects/freetz-linux/files/?source=navbar>`__ +availble. I used: + +- `​freetz-linux + 1.2.1 <http://www.ip-phone-forum.de/showthread.php?t=199449&page=28>`__ + (with xz added with: sudo apt-get install xz-utils) + (from `revision 11347 </changeset/11347>`__ the following is needed: + sudo apt-get install libacl1-dev libattr1-dev libcap-dev) + (from revision ??? the following is also needed: sudo apt-get install + imagemagick) + +Very helpful information on *make*-targets such as +`menuconfig <../../common/install/menuconfig.html>`__, *toolchain*, +*precompiled*, *recover* etc. may be retrieved in the +`HowTos <../../../howtos.html>`__ section of the Freetz wiki. + +.. _Toolchain: + +Toolchain +~~~~~~~~~ + +The toolchain is built automatically with "make" (see below). + +| If you want to have your toolchain ready at an earlier stage, you can + create it now: +| Go to your build environment and change to your freetz directory, + usually ``~/freetz-trunk``. + +In make menuconfig, select your hardware type (e.g. 7170), and after +setting the Level of user competence to Expert you can look around in +'Toolchain options', but no changes are normally needed. + +.. code:: wiki + + $ make menuconfig + Level of user competence (Expert) ---> + Hardware type (7170) ---> + Firmware language (en - international) ---> + Toolchain options ---> + No changes needed + +Then create your toolchain: + +.. code:: wiki + + $ make toolchain + + (for older revisions:) + FINISHED: toolchain/kernel/ - glibc compiler for the kernel + toolchain/target/ - uClibc compiler for the userspace + (for later revisions:) + FINISHED: new download toolchains can be found in dl/ + +In order to build your new package manually (without integration in the +freetz build system), you should see that your toolchain is also +included in the search path. + +.. _FileStructure: + +File Structure +-------------- + +Below the file structure used in the build environment (cross-compile +environment) e.g. Freetz-linux mentioned earlier. + +| \`--make +|    `--<package> +|      |-- Config.in +|      |-- external.in +|      |-- external.files +|      |-- external.services +|      |-- files +|      |    `-- .language +|      |    `-- root +|      |          `-- etc +|      |           |    `-- default.<package> +|      |           |     |   `--<package>.cfg +|      |           |     |   `--<package>_conf +|      |           |     |   `--<package>.save +|      |           |     `-- init.d +|      |           |          `--rc.<package> +|      |            \`-- usr +|      |                 `-- lib +|      |                      `--cgi-bin +|      |                          `--<package>.cgi +|      |                          `--<package> +|      `--patches +|      |    `--<numbered-patch_file_name>.patch +|      `-- <package>.mk + +| Font Green = executable +| Font Blue = directory + +| The following files are required for compiling the package, e.g. for + entries in ``make menuconfig`` and cross-compile steps. +| The patches are optional, and only needed if the downloadable source + needs some changes. + + | make/<package>/Config.in + | make/<package>/patches/\* + | make/<package>/<package>.mk + +| The following group of files are applicable if you plan to build a + web-interface. +| The + `<package>.cfg <package_development_start/%3Cpackage%3E.cfg.html>`__ + contains the default configuration parameters. +| The + `<package>_conf <package_development_start/%3Cpackage%3E_conf.html>`__ + is an optional script for generating a config file if the deamon + (binary) needs it. +| The `rc.<package> <package_development_start/rc.%3Cpackage%3E.html>`__ + is responsible to start/stop the deamon with the proper parameters, + and having the package included in the menu of the web-interface. +| The + `<package>.cgi <package_development_start/%3Cpackage%3E.cgi.html>`__ + is used to create the body of the web-interface, where you can find + the more HTML like statements. +| The `.language <package_development_start/.language.html>`__ is used + to translate the + `<package>.cgi <package_development_start/%3Cpackage%3E.cgi.html>`__ + web-interface to the selected language. The file should highlight the + files with ``lang`` statements, to translate/select the target + language. +| The directory ``usr/lib/cgi-bin/<package>/`` is used for optional + extra cgi scripts. + + | make/files/root/etc/default.<package>/\ `<package>.cfg <package_development_start/%3Cpackage%3E.cfg.html>`__ + | make/files/root/etc/default.<package>/\ `<package>_conf <package_development_start/%3Cpackage%3E_conf.html>`__ + | make/files/root/etc/default.<package>/<package>.save + | make/files/root/etc/init.d/\ `rc.<package> <package_development_start/rc.%3Cpackage%3E.html>`__ + | make/files/root/usr/lib/cgi-bin/\ `<package>.cgi <package_development_start/%3Cpackage%3E.cgi.html>`__ + | make/files/root/usr/lib/cgi-bin/<package>/\* + +.. _ExamplesBinaryPackage: + +Examples Binary Package +----------------------- + +- `Example 1 - httptunnel <package_development_start/example_1.html>`__ +- `Example 2 - + par2cmdline <package_development_start/example_2.html>`__ +- `Example 3 - NZBget <package_development_start/example_3.html>`__ + +.. _ConfigurationHandling: + +Configuration Handling +---------------------- + +| The configuration is saved in the non-volatile memory (tffs) via a + character device ``/var/flash/freetz/``. +| This is done by saving (writing) a tar file containing all config data + to this character device. +| You can test this with: + + | ``cat /var/flash/freetz > /var/tmp/config.tar`` + | ``tar tf /var/tmp/config.tar`` + +| Freetz has a number of tools for handling configuration data and + ‘saving them to’ / ’reading them from’ tffs. +| The data from the character device is taken-from / saved-to + ``/var/tmp/flash``. +| ``/tmp`` is a symbolic-link (symlink) to ``/var/tmp``, so this makes + ``/tmp/flash/`` is the same as ``/var/tmp/flash`` + + | ``# ls -al /tmp`` + | ``lrwxrwxrwx 1 root root 7 Jan 12 01:56 /tmp -> var/tmp`` + +| ``/tmp/flash`` is the location where all configuration data is + gathered. A look into this directory should let you recognize the + files also seen with the previous ``tar tf`` command. +| The default configuration file (e.g. the file you need to create for + the package) is located at + ``/mod/etc/default.<package>/<package>.cfg``. +| This is a static file containing a pre-defined value (can be empty) + for each variable (config parameter) in the following format: + +.. code:: wiki + + export <PACKAGE>_<VARIABLE1>=’<value1>’ + export <PACKAGE>_<VARIABLE2>=’<value2>’ + export <PACKAGE>_<VARIABLE3>=’<value3>’ + . + . + . + export < PACKAGE>_<VARIABLEn>=’<valuen>’ + +| These are also the values that will be used if you revert back to the + default parameters via the web-interface using the ‘default’ button. +| This config file is using Shell syntax which makes it possible to use + the file as command lines. +| After changes are made via the web-interface, and saved with the + ‘Apply’ button they are written to ``/mod/etc/conf/<package>.cfg`` +| This file contains all the variables, so some changed, others still + default, depending on the changes made (so the actual config values). +| So the file ``/mod/etc/conf/<package>.cfg`` containing the actual + values, and ``/mod/etc/default.<package>/<package>.cfg`` with the + default values contain the same parameters, but not necessarily in the + same order. +| Again using the Shell syntax and the variables can be exported using: + ``. /mod/etc/conf/<package>.cfg`` +| To preserve space in the non-volatile memory (tffs) only the + difference with the default parameters + (/mod/etc/default.<package>/<package>.cfg) and the actual changed + parameters (/mod/etc/conf/<package>.cfg) are saved to ``/tmp/flash``. + This can be seen from the ‘.diff’ extension e.g. + ``/tmp/flash/<package>.diff``. +| The main package for controlling all package config is mod. Mod + contains a number of tools for handling package config: + ++-----------------------------------+-----------------------------------+ +| | modconf load <package> | | Create the data | +| | modconf save <package> | /mod/etc/conf/<package>.cfg | +| | modsave | from the default conf file | +| | modsave flash | /mod/etc/default.<package>/<pac | +| | kage>.cfg | +| | and /tmp/flash/<package>.diff | +| | | Create the data | +| | /tmp/flash/<package>.diff from | +| | the default conf file | +| | /mod/etc/default.<package>/<pac | +| | kage>.cfg | +| | and /mod/etc/conf/<package>.cfg | +| | | Initiate for each package | +| | 'modconf save' and saves the | +| | results located in ‘/tmp/flash’ | +| | to tffs (non-volatile memory) | +| | | Saves the content of | +| | ‘/tmp/flash/’ to tffs | +| | (non-volatile memory) | ++-----------------------------------+-----------------------------------+ + +- `Examples explaining these + commands <package_development_start/example_config_handling.html>`__. + +.. _ExamplesWeb-Interface: + +Examples Web-Interface +---------------------- + +- `Example 1 - + httptunnel <package_development_start/webinterface_example_1.html>`__ + +.. _Troubleshooting: + +Trouble shooting +---------------- + +- If you see during ``make`` or ``make menuconfig`` only dots appear + you probably started creating a new package stucture, which is still + unfinished. + Just remove the unfinshed directory. + +- A failure like *checking whether the C compiler (mipsel-linux-gcc -O2 + -Wall -fomit-frame-pointer ) works… no* + *configure: error: installation or configuration problem: C compiler + cannot create executables.* most likely point to a wrong PATH + environment setting. + Use ``echo $PATH`` for trouble shooting. + This can be expected if you first manually compiled the package, and + than add the package to Freetz and try to create an image, with the + previous exports still present. + A reboot might be the savest option. + +.. _References: + +References +~~~~~~~~~~ + +- `/wiki/help/howtos/development/create_gui <../create_gui.html>`__ +- `​http://www.ip-phone-forum.de/showthread.php?t=90425 <http://www.ip-phone-forum.de/showthread.php?t=90425>`__ + +- Tags +- `development </tags/development>`__ +- `howto </tags/howto>`__ +- `howtos </tags/howtos>`__ +- `packages <../../../../packages.html>`__ diff --git a/wiki/help/howtos/development/developer_information/package_development_start/.language.rst b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst new file mode 100644 index 0000000..b0870e6 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst @@ -0,0 +1,21 @@ +help/howtos/development/developer_information/package_development_start/.language +================================================================================= +.. _a.language: + +.language +~~~~~~~~~ + +The .language file list the files with ``lang`` statements. + +Below a generic .language file with only one file listed: + +.. code:: wiki + + languages + { de en } + default + { en } + files + { + usr/lib/cgi-bin/<package>.cgi + } diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst new file mode 100644 index 0000000..f9aa8e5 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst @@ -0,0 +1,404 @@ +help/howtos/development/developer_information/package_development_start/example_1 +================================================================================= +.. _Example1:Httptunnel: + +Example 1: Httptunnel +===================== + +| This first example if for the `​HTTP tunnel + server <http://www.nocrew.org/software/httptunnel.html>`__ package. + +With `httptunnel <../../../../../packages/httptunnel.html>`__ you can +tunnel TCP connections over the http protocol and thus get access to +your box even through restrictive proxies, e.g. such proxies where only +ports 80 (http) and 443 (https) are open. More details can be read +`​here <http://linuxwiki.de/HttpTunnel>`__. + +`​This thread <http://www.ip-phone-forum.de/showthread.php?t=167980>`__ +in the IPPF is the right place where you can read about the evolution of +this project, with a lot of really helpful hints from the gurus. + +.. _Buildmanually: + +Build manually +-------------- + +| If you do not want to build it manually, but rather within the freetz + build system, the following commands are not necessary. +| But executing the following steps will help a lot in understanding the + steps for intergrading the package into Freetz. + +In order to build your new package manually (without integration in the +freetz build system), you should see that your toolchain is also +included in the search path. This is achieved with the PATH= export +command below. + +.. code:: wiki + + mkdir httptunnel + cd httptunnel + wget http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz + tar xfz httptunnel-3.0.5.tar.gz + cd ~/freetz-trunk/httptunnel/httptunnel-3.0.5/ + export CC="mipsel-linux-gcc" + export PATH=/home/freetz/freetz-trunk/toolchain/target/bin/:$PATH + ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux + make + file hts * + file htc * + mipsel-linux-strip hts htc + file hts * + file htc * + +.. + + :sup:`\*` Optional, to see the impact of stripping. The file command + should also show the executable is a MIPS executable. + +| A failure like *checking whether the C compiler (mipsel-linux-gcc -O2 + -Wall -fomit-frame-pointer ) works… no* +| *configure: error: installation or configuration problem: C compiler + cannot create executables.* most likely point to a wrong PATH + environment setting. Use ``echo $PATH`` for trouble shooting. + +| Next you might want to see that "``make clean``" properly works for + this package. This will remove all generated files. +| (For packages involving a .config file you might want to save that + file to a save location, because make clean often will also delete + this file. But this is not applicable for httptunnel.) + +.. code:: wiki + + cd ~/freetz-trunk/httptunnel/httptunnel-3.0.5/ + make clean + +| The Freetz environment makes use of "``make clean``" of each package + to remove all generated files during compiling. +| So testing this with this manual created package should give an idea + what happens giving a "``make clean``" within Freetz. + +.. _AddpackagetoFreetz: + +Add package to Freetz +--------------------- + +In this first example we will use an existing package, and modify the +files. + +.. _UseoftheemptyPackageasStartingPoint: + +Use of the "empty" Package as Starting Point +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Note: "empty" is the name of a real package, it is not just an starting +point for a new package. + +Because httptunnel is already integrated in Freetz the files are already +present. Lets tar them in a file and remove them: + +.. code:: wiki + + cd ~/freetz-trunk/make/ + tar cfz httptunnel_orig.tar.gz httptunnel/ + ls -la httptunnel_orig.tar.gz + tar tfz httptunnel_orig.tar.gz + sudo rm -r httptunnel + +We also need to delete some auto generated files to make sure the +changes are recognized (no need to save these, as they will be generated +again): + +.. code:: wiki + + rm make/external.in.generated + rm make/Config.in.generated + +(sudo will execute the command with root rights, so be carefull.) + +| Go to ``~/freetz-trunk/make/empty``. This package will serve as your + starting point to build your own httptunnel package. +| There are two files: ``Config.in``, ``empty.mk``, (and a directory + "``.svn``"). + +| For your http tunnel project you may copy the complete "empty" + directory with the two files as a new package. Let us call it + "httptunnel". + +.. code:: wiki + + cp -r ~/freetz-trunk/make/empty ~/freetz-trunk/make/httptunnel + +Please go into that new "``httptunnel``" directory and remove the +sub-directory "``.svn``". You will not need it. Now it should look like +this: + +.. code:: wiki + + -rw-r--r-- 1 slightly slightly 480 2008-06-07 08:17 Config.in + -rw-r--r-- 1 slightly slightly 701 2008-06-07 08:17 empty.mk + +Rename "``empty.mk``" to "``httptunnel.mk``", because this is what your +project is about now: httptunnel. The base name of the file +("``httptunnel``") will be used to define the variables ``$(PKG)`` to +``HTTPTUNNEL`` and ``$(pkg)`` to ``httptunnel`` within the file +"``httptunnel.mk``". + +Now let us have a look at the "``Config.in``" file. Open it with your +favorite editor, and it should look like this: + +.. code:: wiki + + config FREETZ_PACKAGE_EMPTY + bool "Empty 0.6.15b" + select FREETZ_LIB_libutil + default n + help + empty is an utility that provides an interface to execute and/or + interact with processes under pseudo-terminal sessions (PTYs). + This tool is definitely useful in programming of shell scripts + designed to communicate with interactive programs like telnet, + ssh, ftp, etc. In some cases, empty can be the simplest + replacement for TCL/expect or other similar programming tools. + +In this file you basically find the package name (bool) and a short help +text. + +You should change this to reflect your http tunnel project. Please note +that the line "select FREETZ_LIB_libutil" is not necessary for your +project, thus remove it: + +.. code:: wiki + + config FREETZ_PACKAGE_HTTPTUNNEL + bool "httptunnel 3.0.5 (binary only)" + default n + help + httptunnel is a utility that provides a HTTP tunnel server on your box. + +.. + + (the indents should be tab's not spaces) + +The next file "``httptunnel.mk``" (copied from "``empty.mk``") should be +edited like this: + +.. code:: wiki + + $(call PKG_INIT_BIN, 3.0.5) + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + $(PKG)_SITE:=http://www.nocrew.org/software/httptunnel + $(PKG)_BINARY:=$($(PKG)_DIR)/hts + $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/hts + $(PKG)_CATEGORY:=Unstable + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_CONFIGURE) + + $($(PKG)_BINARY): $($(PKG)_DIR)/.configured + $(SUBMAKE) -C $(HTTPTUNNEL_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" + + $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) + $(INSTALL_BINARY_STRIP) + + $(pkg): + + $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) + + $(pkg)-clean: + -$(MAKE) -C $(HTTPTUNNEL_DIR) clean + + $(pkg)-uninstall: + $(RM) $(HTTPTUNNEL_TARGET_BINARY) + + $(PKG_FINISH) + +Explanation: + +.. code:: wiki + + $(call PKG_INIT_BIN, 3.0.5) + +| This defines the version of your package. + +.. code:: wiki + + $(PKG)_SOURCE:=httptunnel-$($(PKG)_VERSION).tar.gz + +| This defines the file name of the package source code, which has to be + exactly as the filename on the server where the file is located. + +.. code:: wiki + + $(PKG)_SITE:=http://www.nocrew.org/software/httptunnel + +| This defines the basis of the download URL from where the package + source code will be downloaded during the build process. +| In this case, the complete path would be: + `​http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz <http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz>`__ + +.. code:: wiki + + $(PKG)_BINARY:=$($(PKG)_DIR)/hts + +| This defines the file name of the binary in the source directory. + +.. code:: wiki + + $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/hts + +| This defines the path of the binary of your package where it will be + stored on your box when your new package and FW is installed on your + box. + +.. code:: wiki + + $(PKG)_CATEGORY:=Unstable + +| This causes the package to be listed under the list of unstable + packages in the menu. +| If a package if found stable this line can be removed, so it becomes + listed under the normal packages. + +.. code:: wiki + + $(PKG_CONFIGURED_CONFIGURE) + +| This assumes that the program is configured by calling the GNU + "``configure``", which is true for most programs. For some programs + "``configure``" will fail to find out settings because it is cross + compiling and can't run a test program. In this case, look at the + "``configure``" around the line numbers given in th error message. You + will find tests and assignments to variables like + ac_cv_func_setvbuf_reversed. Find the correct value and add a line + like this to "``httptunnel.mk``" + +.. code:: wiki + + $(PKG)_CONFIGURE_ENV += ac_cv_func_setvbuf_reversed=no + +| You may need to set $(PKG)_DEPENDS_ON if your package depends on other + packages (e.g. see example 3). List the names of corresponding .mk + files with all plus-signs replaced by x's and all minus-signs replaced + by underscores and separate package names by spaces. + +.. code:: wiki + + $(SUBMAKE) -C $(HTTPTUNNEL_DIR) + +This calls the package's Makefile with the Freetz environment set (e.g. +FREETZ_LD_RUN_PATH) + +Now we also need to make sure that the following is changed, because +"configure" needs to be called for this package to be built: + +Go back to file "httptunnel.mk" and edit the line PKG_CONFIGURED_NOP to +PKG_CONFIGURED_CONFIGURE: + +.. code:: wiki + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_CONFIGURE) + +If you left it as PKG_CONFIGURED_NOP, this would mean that "configure" +was not necessary to be called. However, with this package you will need +it to be built. + +.. _CallProceduresmakemenuconfigandmake: + +Call Procedures "make menuconfig" and "make" +-------------------------------------------- + +Now it is time to call "``make menuconfig``" and to choose your new +package from the "packages > unstable" section, where it should be +available now for selection. + +.. code:: wiki + + cd ~/freetz-trunk/ + make menuconfig + +After you have finished and saved your various selections (starting just +with your new package to test the build procedure), you will issue the +"``make``" command. + +Please be patient during the build procedure. Depending on your CPU(s) +this may take some (longer) time. + +A successful FW build with your new package included should end with +these lines: + +.. code:: wiki + + STEP 3: PACK + Checking for left over Subversion directories + squashfs blocksize + root filesystem: 65536 + packing var.tar + creating filesystem image + merging kernel image + kernel image size: 7354112 (max: 7798784, free: 444672) + packing 7170_04.57-freetz-1.0-2315M.de_20080611-222651.image + done. + + FINISHED + +.. _Testing: + +Testing +------- + +Lets see if "``make clean``" works as expected. This should bring the +state back to like it was before the "``make``" command. + +.. code:: wiki + + cd ~/freetz-trunk/ + make clean + +Well, since further testing depends on which package you have created, +there is not much more to say here - except that testing is easier if +you did not include too many other packages, because these might +interfere with your new package. Add more packages step by step only +when you are pretty sure that it works. + +.. _PreparingNewPackageforPublicIntegrationtoFreetzTrunk: + +Preparing New Package for Public Integration to Freetz Trunk +------------------------------------------------------------ + +In order to create a file which displays the changes which would be +needed in freetz to add your package, issue the following commands: + +.. code:: wiki + + svn add make/httptunnel + svn diff ./make > patchfile + +In our case "patchfile" may be called "httptunnel". Please note that +there is no need for an extension here. You may only need an extension +(e.g. .txt) for uploading it in the IPPF, because else it would not be +recognized as a valid file for upload. + +In addition you could even create a ready (and compressed) package of +the two files which you had edited above: + +.. code:: wiki + + tar cfz httptunnel.tar.gz make/httptunnel --exclude .svn + +| Well, that is it for the moment. I will add further stuff as I see + fit. Of course everybody is invited to correct mistaked, add more + information etc. +| In case of questions, please do not hesitate to visit `​this + thread <http://www.ip-phone-forum.de/showthread.php?t=167980>`__ in + the IPPF. Thank you. + +- Tags +- `development </tags/development>`__ +- `howto </tags/howto>`__ +- `howtos </tags/howtos>`__ +- `packages <../../../../../packages.html>`__ diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst new file mode 100644 index 0000000..f6f7b9d --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst @@ -0,0 +1,369 @@ +help/howtos/development/developer_information/package_development_start/example_2 +================================================================================= +.. _Example2:par2cmdline: + +Example 2: par2cmdline +====================== + +This second example is a cmdline program for creating and using PAR2 +files to detect damage in data files and repair them if necessary. + +More info about par2cmdline can be found +`​here <http://sourceforge.net/projects/parchive>`__. + +Be aware that while trying this package on my 7270v3 I got a +“Segmentation fault”, but didn’t look further for a solution (using +par2cmdline-0.1 might be an option). + +.. _Buildmanually: + +Build manually +-------------- + +| The toolchain should be part of the search path. This is achieved with + the PATH= export command below. +| You can look with ``echo $PATH`` what the current search path variable + is. + +.. code:: wiki + + mkdir par2cmdline + cd par2cmdline + wget http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/par2cmdline-0.4.tar.gz + tar xfvz par2cmdline-0.4.tar.gz + cd par2cmdline-0.4 + wget http://sourceforge.net/p/parchive/bugs/_discuss/thread/e9911edb/b6aa/attachment/par2cmdline-0.4-gcc4.patch + patch -p0 < par2cmdline-0.4-gcc4.patch + ./configure --help + export CC="mipsel-linux-gcc" + export CXX="mipsel-linux-uclibc-g++-wrapper" + export PATH=/home/freetz/freetz-trunk/toolchain/target/bin/:$PATH + ./configure \ + --prefix=/usr \ + --build=i686-pc-linux-gnu \ + --host=mipsel-linux + make + ls -la par2 * + file par2 * + mipsel-linux-strip par2 + ls -la par2 * + file par2 * + +.. + + :sup:`\*` Optional, to see the impact of stripping. The file command + should also show the executable is a MIPS executable. + +Next you might want to see that "``make clean``" properly works for this +package. This will (should) remove all generated files during ``make``. + +.. code:: wiki + + cd ~/freetz-trunk/par2cmdline/par2cmdline-0.4/ + make clean + +| The Freetz environment makes use of "``make clean``" of each package + to remove all generated files during compiling. +| So testing this with this manual created package should give an idea + what happens giving a "``make clean``" within Freetz. + +.. _AddpackagetoFreetz: + +Add package to Freetz +--------------------- + +In this example we will create the directory and file structure +ourselves. + +For each new package a directory under ~/freetz-trunk/make/ should be +created with a minimum of two files: + +.. code:: wiki + + `--make + `--<package-name> + |-- Config.in + `-- <package-name>.mk + +Optional there are more directories and files in case e.g. patches are +needed like with par2cmdline. + +Lets create the directory structure and the two files for Par2cmdline: + +.. code:: wiki + + cd /home/freetz/freetz-trunk/ + mkdir –p /home/freetz/freetz-trunk/make/par2cmdline/patches/ + vi /home/freetz/freetz-trunk/make/par2cmdline/Config.in + +.. code:: wiki + + config FREETZ_PACKAGE_PAR2CMDLINE + bool "par2cmdline 0.4" + default n + help + Cmdline program for creating and using PAR2 files to detect damage in data files and repair them if necessary. + +The indents should be replaced with tabs. + +For the second file keep in mind that $(pkg) will have the value +par2cmdline, and $(PKG) with be PAR2CMDLINE. + +``vi /home/freetz/freetz-trunk/make/par2cmdline/par2cmdline.mk`` + +.. code:: wiki + + $(call PKG_INIT_BIN, 0.4) + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + $(PKG)_SOURCE_MD5:=1551b63e57e3c232254dc62073b723a9 + $(PKG)_SITE:=http://sourceforge.net/projects/parchive/files/$(pkg)/$($(PKG)_VERSION)/ + + $(PKG)_BINARY:=$($(PKG)_DIR)/par2 + $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/par2 + $(PKG)_CATEGORY:=Unstable + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_CONFIGURE) + + $($(PKG)_BINARY): $($(PKG)_DIR)/.configured + $(SUBMAKE) -C $(PAR2CMDLINE_DIR) \ + CXX="$(TARGET_CXX)" + + $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) + $(INSTALL_BINARY_STRIP) + + $(pkg): + + $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) + + $(pkg)-clean: + -$(SUBMAKE) -C $(PAR2CMDLINE_DIR) clean + + $(pkg)-uninstall: + $(RM) $(PAR2CMDLINE_TARGET_BINARY) + + $(PKG_FINISH) + +| The indents should be replaced with tabs. + +.. code:: wiki + + wget http://sourceforge.net/p/parchive/bugs/_discuss/thread/e9911edb/b6aa/attachment/par2cmdline-0.4-gcc4.patch -O 100-gcc4.patch + mv 100-gcc4.patch make/par2cmdline/patches/ + +| Note: Also tried with parameter -P make/par2cmdline/patches , but this + wasn't accepted with the wget command, so I had to move the patch to + the correct location. + +Explanation of the lines: + +.. code:: wiki + + $(call PKG_INIT_BIN, 0.4) + +| From this line the package version is determined. In this case 0.4 + +.. code:: wiki + + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + +| This variable translate to the source file name that will be + downloaded and used further. Here it will be + PAR2CMDLINE_SOURCE:=par2cmdline-0.4.tar.gz + +.. code:: wiki + + $(PKG)_SOURCE_MD5:=1551b63e57e3c232254dc62073b723a9 + +| This is the md5 hash value to verify successful download. + PAR2CMDLINE_SOURCE_MD5:=1551b63e57e3c232254dc62073b723a9 + +.. code:: wiki + + $(PKG)_SITE:=http://sourceforge.net/projects/parchive/files/$(pkg)/$($(PKG)_VERSION)/ + +| The download url. PAR2CMDLINE_SITE:= + `​http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/ <http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/>`__ + +.. code:: wiki + + $(PKG)_BINARY:=$($(PKG)_DIR)/par2 + +| The binary file as result of compiling the package. Here it will be + PAR2CMDLINE_BINARY:= + source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/par2 +| (source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/ is + where the source is unpacked before it is compiled) + +.. code:: wiki + + $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/par2 + +| The location in the Freetz structure where the stripped binary will be + saved. PAR2CMDLINE_TARGET_BINARY:= + packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 + +.. code:: wiki + + $(PKG)_CATEGORY:=Unstable + +| This line determines where in the ‘menuconfig’ this package will be + located. Without this line the package will be located in ‘package’. +| The following options are possible ‘Unstable’, ‘Web interfaces’, and + ‘Debug helpers’. + +.. code:: wiki + + $(PKG_SOURCE_DOWNLOAD) + +| This line triggers the download of the package. It will be downloaded + to ./dl/par2cmdline-0.4.tar.gz + +.. code:: wiki + + $(PKG_UNPACKED) + +| This line not only unpack the download, but also applies any patches + that are available in make/par2cmdline/patch/\* + +.. code:: wiki + + $(PKG_CONFIGURED_CONFIGURE) + +| This will indicate that the ./configure step needs to be performed, + and initiate the ./configure step. + +The lines below have the structure of Makefiles: + +.. code:: wiki + + target: dependencies + [tab] system command + +| + +.. code:: wiki + + $($(PKG)_BINARY): $($(PKG)_DIR)/.configured + $(SUBMAKE) -C $(PAR2CMDLINE_DIR) \ + CXX="$(TARGET_CXX)" + +This will initiate make with the specified CXX compiler as parameter. +PAR2CMDLINE : +source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/.configured + + make -j2 -C + source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4 + CXX="mipsel-linux-uclibc-g++-wrapper" + +| + +.. code:: wiki + + $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) + $(INSTALL_BINARY_STRIP) + +| Will strip the binary file. This will remove any unnecessary data from + the executable to make it smaller. Something that is preferred for + embedded systems with small flash space. + packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 + : source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/par2 + +.. code:: wiki + + $(pkg): + +| par2cmdline: + +.. code:: wiki + + $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) + +| par2cmdline-precompiled: + packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 + +.. code:: wiki + + $(pkg)-clean: + -$(SUBMAKE) -C $(PAR2CMDLINE_DIR) clean + +par2cmdline-clean: + + make -C + source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4 clean + +| + +.. code:: wiki + + $(pkg)-uninstall: + $(RM) $(PAR2CMDLINE_TARGET_BINARY) + +par2cmdline-uninstall: + + rm -f + packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 + +| + +.. code:: wiki + + $(PKG_FINISH) + +Ends the make script. + +.. _Createnewimagewithaddedpackage: + +Create new image with added package +----------------------------------- + +| Like normal with creating an image execute ``make menuconfig`` and + select your router model and all options and packages to be included. +| First select two additional libraries that are needed for par2cmdline: +| ``Shared libraries ---> C++ ---> [*] libstdc++ (libstdc++-6.0.x.so)`` +| and +| ``Shared libraries ---> C++ ---> [*] uClibc++ (libuClibc++-0.2.3.so)``. +| It is also possible to automatically get this package selected using + the files we created. This is something shown in example 3. +| The newly added package is located in: + ``Packages ---> Unstable ---> [*] par2cmdline 0.4``. + +.. _Testing: + +Testing +------- + +Lets see if "``make clean``" works as expected. This should bring the +state back to like it was before the "``make``" command. + +.. code:: wiki + + cd ~/freetz-trunk/ + make clean + +.. _PreparingNewPackageforPublicIntegrationtoFreetzTrunk: + +Preparing New Package for Public Integration to Freetz Trunk +------------------------------------------------------------ + +In order to create a file which displays the changes which would be +needed in freetz to add your package, issue the following commands: + +.. code:: wiki + + svn add make/par2cmdline + svn diff ./make > patchfile + +In our case "patchfile" may be called "par2cmdline". Please note that +there is no need for an extension here. You may only need an extension +(e.g. .txt) for uploading it in the IPPF, because else it would not be +recognized as a valid file for upload. + +In addition you could even create a ready (and compressed) package of +the two files which you had edited above: + +.. code:: wiki + + tar cfz par2cmdline.tar.gz make/par2cmdline --exclude .svn + tar tfz par2cmdline.tar.gz diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst new file mode 100644 index 0000000..34af6fc --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst @@ -0,0 +1,280 @@ +help/howtos/development/developer_information/package_development_start/example_3 +================================================================================= +.. _Example3:NZBGet: + +Example 3: NZBGet +================= + +| This third example is the package + `​nzbget <http://nzbget.sourceforge.net/>`__. + +| NZBget is for downloading from Usenet servers using nzb-files. +| This package requires the `​libxml2 <http://www.xmlsoft.org>`__ + library which is already part of Freetz. + +This package worked on my 7270v3, but didn't go as far as creating a +config file and download something, just executed ``nzbget`` and +``nzbget -v``. + +.. _Buildmanually: + +Build manually +-------------- + +During compile time of NZBget we need to have the library include files, +and the compiled library available. An option is to download the +`​libxml2 source +files <ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz>`__, and first +compile the library, but we can just as well let Freetz do that work for +us. + +Compile an image with at least libxml2 selected: + +.. code:: wiki + + cd ~/freetz-trunk/ + make menuconfig + Shared libraries ---> XML & XSLT ---> [X] libxml2 (libxml2.so) + make + +Verify the library file and include files are available: + +.. code:: wiki + + ls /home/freetz/freetz-trunk/toolchain/target/include/libxml2/ + ls -la /home/freetz/freetz-trunk/toolchain/target/lib/libxml2* + +The first ls should show the sub-directory ``libxml``, and the second ls +a number of lines with one being \`libxml2.so.2.9.1' (or later), a a few +symlinks pointing to this file. + +Now lets manual compile this application. + +.. code:: wiki + + mkdir nzbget + cd ~/freetz-trunk-11230/nzbget/ + wget http://sourceforge.net/projects/nzbget/files/nzbget-11.0.tar.gz + tar xfvz nzbget-11.0.tar.gz + cd nzbget-11.0 + less README + export CC="mipsel-linux-gcc" + export CXX="mipsel-linux-uclibc-g++-wrapper" + export PATH=/home/freetz/freetz-trunk/toolchain/target/bin/:$PATH + export LIBS="-L~/freetz-trunk/libxml2/libxml2-2.9.1/builds/usr/lib/" + export CPPFLAGS="-I~/freetz-trunk/libxml2/libxml2-2.9.1/builds/usr/include/" + export libxml2_CFLAGS=/home/freetz/freetz-trunk/toolchain/target/include/libxml2/ + export libxml2_LIBS=/home/freetz/freetz-trunk/toolchain/target/lib/ + + ./configure \ + --prefix=/usr \ + --build=i686-pc-linux-gnu \ + --host=mipsel-linux \ + --with-libxml2-includes=/home/freetz/freetz-trunk/toolchain/target/include/libxml2/ \ + --with-libxml2-libraries=/home/freetz/freetz-trunk/toolchain/target/lib/ \ + --disable-curses \ + --disable-parcheck \ + --disable-tls \ + --disable-gzip + + vi ParCoordinator.cpp + add the following line somewhere between the existing include lines, e.g. somewhere above line 38 (but not between an if/endif): + #include <ctype.h> + make + + ls -la nzbget * + file nzbget * + mipsel-linux-strip nzbget + ls -la nzbget * + file nzbget * + +.. + + :sup:`\*` Optional, to see the impact of stripping. The file command + should also show the executable is a MIPS executable. + +| Next you might want to see that "``make clean``" properly works for + this package. This will remove all generated files. +| (For packages involving a .config file you might want to save that + file to a save location, because make clean often will also delete + this file. But this is not applicable for nzbget.) + +.. code:: wiki + + cd ~/freetz-trunk/nzbget/nzbget-11.0/ + make clean + +| The Freetz environment makes use of "``make clean``" of each package + to remove all generated files during compiling. +| So testing this with this manual created package should give an idea + what happens giving a "``make clean``" within Freetz. + +.. _AddpackagetoFreetz: + +Add package to Freetz +--------------------- + +In this example we will create the directory and file structure ourself. + +For each new package a directory under ~/freetz-trunk/make/ should be +created with a minimum of two files: + +.. code:: wiki + + `--make + `--<package-name> + |-- Config.in + `-- <package-name>.mk + +Optional there are more directories and files in case e.g. patches are +needed. + +| Lets create the directory structure and the two files for NZBget: + +.. code:: wiki + + cd /home/freetz/freetz-trunk/ + mkdir -p ~/freetz-trunk/make/nzbget/patches/ + vi ~/freetz-trunk/make/nzbget/Config.in + +.. code:: wiki + + config FREETZ_PACKAGE_NZBGET + bool "nzbget 11.0" + select FREETZ_LIB_libxml2 + default n + help + NZBGet is a cross-platform binary newsgrabber for nzb files, written in C++. + It supports client/server mode, automatic par-check/-repair and web-interface. + NZBGet requires low system resources and runs great on routers, NAS-devices and media players. + +The indents should be replaced with tabs. + +``vi ~/freetz-trunk/make/nzbget/nzbget.mk`` + +.. code:: wiki + + $(call PKG_INIT_BIN, 11.0) + $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz + $(PKG)_SOURCE_MD5:=4f00039cc36e50fe68fc75e37b5a0406 + $(PKG)_SITE:=http://sourceforge.net/projects/$(pkg)/files/ + + $(PKG)_BINARY:=$($(PKG)_DIR)/nzbget + $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/nzbget + $(PKG)_CATEGORY:=Unstable + + $(PKG)_DEPENDS_ON += libxml2 + + $(PKG)_CONFIGURE_OPTIONS += --with-libxml2-includes=$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxml2/ + $(PKG)_CONFIGURE_OPTIONS += --with-libxml2-libraries=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/ + $(PKG)_CONFIGURE_OPTIONS += --disable-curses + $(PKG)_CONFIGURE_OPTIONS += --disable-parcheck + $(PKG)_CONFIGURE_OPTIONS += --disable-tls + $(PKG)_CONFIGURE_OPTIONS += --disable-gzip + + $(PKG_SOURCE_DOWNLOAD) + $(PKG_UNPACKED) + $(PKG_CONFIGURED_CONFIGURE) + + $($(PKG)_BINARY): $($(PKG)_DIR)/.configured + $(SUBMAKE) -C $(NZBGET_DIR) \ + CXX="$(TARGET_CXX)" + + $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) + $(INSTALL_BINARY_STRIP) + + $(pkg): + + $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) + + $(pkg)-clean: + -$(SUBMAKE) -C $(NZBGET_DIR) clean + + $(pkg)-uninstall: + $(RM) $(NZBGET_TARGET_BINARY) + + $(PKG_FINISH) + +The indents should be replaced with tabs. + +We also need to add a small patch file to add the one missing include. + +``vi make/nzbget/patches/100-ParCoordinator_ctype.h.patch`` + +.. code:: wiki + + diff -dur ParCoordinator.cpp.orig ParCoordinator.cpp + --- ParCoordinator.cpp.orig 2013-11-18 23:46:41.720138807 +0100 + +++ ParCoordinator.cpp 2013-11-18 23:47:18.700129701 +0100 + @@ -35,6 +35,7 @@ + #include <string.h> + #include <stdio.h> + #include <stdarg.h> + +#include <ctype.h> + #ifdef WIN32 + #include <direct.h> + #else + +.. _Createnewimagewithaddedpackage: + +Create new image with added package +----------------------------------- + +| Like normal with creating an image execute ``make menuconfig`` and + select your router model and all options and packages to be included. +| The newly added package is located in: + ``Packages ---> Unstable ---> [*] nzbget 11.0``. Also select an + additional library that is needed for nzbget: +| ``Shared libraries ---> C++ ---> [*] uClibc++ (libuClibc++-0.2.3.so)``. + +If you manually created this package you might need a +``rm /home/freetz/freetz-trunk/source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/config.cache`` +or ``make distclean``. And also be aware that the exports are still +there, this can be easily solved with a reboot. + +After exiting, create the package with ``make``. + +.. _Testing: + +Testing +------- + +Lets see if "``make clean``" works as expected. This should bring the +state back to like it was before the "``make``" command. + +.. code:: wiki + + cd ~/freetz-trunk/ + make clean + +.. _PreparingNewPackageforPublicIntegrationtoFreetzTrunk: + +Preparing New Package for Public Integration to Freetz Trunk +------------------------------------------------------------ + +In order to create a file which displays the changes which would be +needed in freetz to add your package, issue the following commands: + +.. code:: wiki + + svn add make/nzbget + svn diff ./make > patchfile + +In our case "patchfile" may be called "nzbget". Please note that there +is no need for an extension here. You may only need an extension (e.g. +.txt) for uploading it in the IPPF, because else it would not be +recognized as a valid file for upload. + +In addition you could even create a ready (and compressed) package of +the two files which you had edited above: + +.. code:: wiki + + tar cfz nzbget.tar.gz make/nzbget --exclude .svn + tar tfz nzbget.tar.gz + +- Tags +- `development </tags/development>`__ +- `howto </tags/howto>`__ +- `howtos </tags/howtos>`__ +- `packages <../../../../../packages.html>`__ diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst new file mode 100644 index 0000000..bbc1bdc --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst @@ -0,0 +1,37 @@ +help/howtos/development/developer_information/package_development_start/example_config_handling +=============================================================================================== +| Here some examples using the tools for configuration handling to + explain the behavior of the available commands. + +Example to disable the freetz http web-interface (web-server): + ++-----------------------------------+-----------------------------------+ +| #. vi /mod/etc/conf/mod.cfg | | Change MOD_HTTPD=’yes’ to | +| #. modconf save mod | MOD_HTTPD=’no’ | +| #. modsave flash | | will update/ (create if not | +| | existing) | +| | /tmp/flash/mod.diff | +| | | saves content of /tmp/flash/ | +| | to tffs, including the new | +| | mod.diff file | ++-----------------------------------+-----------------------------------+ + +or use a shortcut for step 2 and 3: + ++-----------------------------------+-----------------------------------+ +| 2. modsave | This will update all | +| | /tmp/flash/<package>.diff | +| | files, and save resulting | +| | content of /tmp/flash/ to tffs | ++-----------------------------------+-----------------------------------+ + +| The above steps is to give examples of the available commands. +| To more comfortably obtain the same results: + +#. modconf set mod MOD_HTTPD=no +#. modconf save mod +#. modsave flash + +or use a shortcut for step 2 and 3: + +2. modsave diff --git a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst new file mode 100644 index 0000000..199d40f --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst @@ -0,0 +1,3 @@ +help/howtos/development/developer_information/package_development_start/webinterface_example_1.en +================================================================================================= +See: `webinterface_example_1 <webinterface_example_1.html>`__. diff --git a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst new file mode 100644 index 0000000..4d1d30c --- /dev/null +++ b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst @@ -0,0 +1,368 @@ +help/howtos/development/developer_information/package_development_start/webinterface_example_1 +============================================================================================== +.. _Web-interfaceHTTPTunnel: + +Web-interface HTTPTunnel +------------------------ + +| This example explains how to create a web-page for the package + `httptunnel <../../../../../packages/httptunnel.html>`__. + +Usages information: + +.. code:: wiki + + # hts --help + Usage: hts [OPTION]... [PORT] + Listen for incoming httptunnel connections at PORT (default port is 8888). + When a connection is made, I/O is redirected to the destination specified + by the --device, --forward-port or --stdin-stdout switch. + + -c, --content-length BYTES use HTTP PUT requests of BYTES size + (k, M, and G postfixes recognized) + -d, --device DEVICE use DEVICE for input and output + -F, --forward-port HOST:PORT connect to PORT at HOST and use it for + input and output + -h, --help display this help and exit + -k, --keep-alive SECONDS send keepalive bytes every SECONDS seconds + (default is 5) + -M, --max-connection-age SEC maximum time a connection will stay + open is SEC seconds (default is 300) + -s, --stdin-stdout use stdin/stdout for communication + (implies --no-daemon) + -S, --strict-content-length always write Content-Length bytes in requests + -V, --version output version information and exit + -w, --no-daemon don't fork into the background + -p, --pid-file LOCATION write a PID file to LOCATION + + Report bugs to bug-httptunnel@gnu.org. + # + +| First some characteristics of the HTTPTunnel package. + +- There is no configuration file, all arguments are options on the + command line. +- The binary (daemon) name (hts) differs from the package name + (httptunnel). +- The command line options allows to specify the PID file. + +| Based on the usage information we can select the following variables + for inclusion in the web-interface: +| -F <HOST>:<HOSTPORT> +| -k <KEEPALIVE> +| -M <MAXCONNECTIONAGE> +| -d <DEVICE> +| <CLIENTPORT> + +httptunnel.cfg +~~~~~~~~~~~~~~ + +| Next we need to create the `<package>.cfg <%3Cpackage%3E.cfg.html>`__ + file with the default values. +| We always need the <PACKAGE>_ENABLED variable with default value 'no'. +| For HOST I selected 'localhost', but I actually never used this + package, so I'm not sure if this default value is good from a security + point of view. + +.. code:: wiki + + export HTTPTUNNEL_ENABLED='no' + export HTTPTUNNEL_HOST='localhost' + export HTTPTUNNEL_HOSTPORT='22' + export HTTPTUNNEL_CLIENTPORT='443' + export HTTPTUNNEL_KEEPALIVE='5' + export HTTPTUNNEL_MAXCONNECTIONAGE='300' + export HTTPTUNNEL_DEVICE='' + +httptunnel.cgi +~~~~~~~~~~~~~~ + +| Now the `<package>.cgi <%3Cpackage%3E.cgi.html>`__ can be created. +| The first part is ``Start Type`` and is enclosed with the + ``sec_begin`` and ``sec_end`` keywords. +| This part is uses the HTTPTUNNEL_ENABLED variable, and determines if + the package should be started automatically at system startup. +| Two `​input elements <http://www.w3schools.com/html/html_forms.asp>`__ + with radio buttons are declared within a + `​paragraph <http://www.w3schools.com/html/html_paragraphs.asp>`__. + +| On the actual web-page the first item is ``Status``, displaying the + current status of the package and a Start, Stop and Restart button. + This part is probably generated by ``/usr/lib/libmodcgi.sh``. + +| For each displayed text you see a ``lang`` statement and the text in + both German and the English language. This ``lang`` statement is used + during build on the build environment. +| To be able to test your created + `<package>.cgi <%3Cpackage%3E.cgi.html>`__ file directly on the router + you can first create one without the ``lang`` statements, using just + your preferred language. +| After the web-interface behaves as required you can add the ``lang`` + statements and the text in both languages. +| See page `<package>.cgi <%3Cpackage%3E.cgi.html>`__ for more + information on the ``lang`` statement. + +| The second part, enclosed with the ``sec_begin`` and ``sec_end`` + keywords, is for configuring the selected parameters. +| In this case a + `​table <http://www.w3schools.com/html/html_tables.asp>`__ is used + with a table row (tr) for each parameter, and a column for to display + the parameter name, and a column for entering the value in an input + field. +| A table has the advantage that the cells in the columns are + automatically aligned. +| In the first table data cell (td) the displays the parameter name in + the correct language. The second table data cell (td) displays the + current value using the Shell instruction + ``html "$HTTPTUNNEL_<VALUE>"`` as + `​value <http://www.w3schools.com/tags/tag_input.asp>`__, in the input + field of `​size <http://www.w3schools.com/tags/att_input_size.asp>`__ + characters length displayed, and a maximum of + `​maxlength <http://www.w3schools.com/tags/att_input_maxlength.asp>`__ + characters that can be entered. +| The entered value is assigned to the input-field element + `​name <http://www.w3schools.com/tags/att_input_name.asp>`__ like + name='<**value**>', which correspond to the parameter name + <PACKAGE>_<**VALUE**>. +| The input `​type <http://www.w3schools.com/tags/att_input_type.asp>`__ + is here always text. +| After selecting the Apply button the entered values are assigned to + the <PACKAGE>_<VALUE> parameters located in + ``/mod/etc/conf/<package>.cfg``. + +httptunnel.cgi without ``lang`` statements: + +.. code:: wiki + + #!/bin/sh + + . /usr/lib/libmodcgi.sh + + check "$HTTPTUNNEL_ENABLED" yes:auto "*":man + + sec_begin 'Start type' + + cat << EOF + <p> + <input id="e1" type="radio" name="enabled" value="yes"$auto_chk><label for="e1">Automatic</label> + <input id="e2" type="radio" name="enabled" value="no"$man_chk><label for="e2">Manual</label> + EOF + cat << EOF + </p> + EOF + + sec_end + sec_begin 'httptunnel' + + cat << EOF + <table border="0"> + <tr> + <td>Destination Host:</td> + <td><input type="text" name="host" size="60" maxlength="255" value="$(html "$HTTPTUNNEL_HOST")"></td> + </tr> + <tr> + <td>Destination Port:</td> + <td><input type="text" name="hostport" size="5" maxlength="5" value="$(html "$HTTPTUNNEL_HOSTPORT")"></td> + </tr> + <tr> + <td>Client Port:</td> + <td><input type="text" name="clientport" size="5" maxlength="5" value="$(html "$HTTPTUNNEL_CLIENTPORT")"></td> + </tr> + <tr> + <td>Keep Alive:</td> + <td><input type="text" name="keepalive" size="3" maxlength="3" value="$(html "$HTTPTUNNEL_KEEPALIVE")"></td> + </tr> + <tr> + <td>Max Connection Age:</td> + <td><input type="text" name="maxconnectionage" size="4" maxlength="4" value="$(html "$HTTPTUNNEL_MAXCONNECTIONAGE")"></td> + </tr> + <tr> + <td>Device:</td> + <td><input type="text" name="device" size="10" maxlength="10" value="$(html "$HTTPTUNNEL_DEVICE")"></td> + </tr> + </table> + EOF + + sec_end + +httptunnel.cgi with ``lang`` statements and an entry for each language: + +.. code:: wiki + + #!/bin/sh + + . /usr/lib/libmodcgi.sh + + check "$HTTPTUNNEL_ENABLED" yes:auto "*":man + + sec_begin '$(lang de:"Starttyp" en:"Start type")' + + cat << EOF + <p> + <input id="e1" type="radio" name="enabled" value="yes"$auto_chk><label for="e1">$(lang de:"Automatisch" en:"Automatic")</label> + <input id="e2" type="radio" name="enabled" value="no"$man_chk><label for="e2">$(lang de:"Manuell" en:"Manual")</label> + EOF + cat << EOF + </p> + EOF + + sec_end + sec_begin '$(lang de:"httptunnel" en:"httptunnel")' + + cat << EOF + <table border="0"> + <tr> + <td>$(lang de:"Destination Host" en:"Destination Host"):</td> + <td><input type="text" name="host" size="80" maxlength="255" value="$(html "$HTTPTUNNEL_HOST")"></td> + </tr> + <tr> + <td>$(lang de:"Destination Port" en:"Destination Port"):</td> + <td><input type="text" name="hostport" size="5" maxlength="5" value="$(html "$HTTPTUNNEL_HOSTPORT")"></td> + </tr> + <tr> + <td>$(lang de:"Client Port" en:"Client Port"):</td> + <td><input type="text" name="clientport" size="5" maxlength="5" value="$(html "$HTTPTUNNEL_CLIENTPORT")"></td> + </tr> + <tr> + <td>$(lang de:"Keep Alive" en:"Keep Alive"):</td> + <td><input type="text" name="keepalive" size="3" maxlength="3" value="$(html "$HTTPTUNNEL_KEEPALIVE")"></td> + </tr> + <tr> + <td>$(lang de:"Max Connection Age" en:"Max Connection Age"):</td> + <td><input type="text" name="maxconnectionage" size="4" maxlength="4" value="$(html "$HTTPTUNNEL_MAXCONNECTIONAGE")"></td> + </tr> + <tr> + <td>$(lang de:"Device" en:"Device"):</td> + <td><input type="text" name="device" size="10" maxlength="10" value="$(html "$HTTPTUNNEL_DEVICE")"></td> + </tr> + </table> + EOF + + sec_end + +rc.httptunnel +~~~~~~~~~~~~~ + +| Now we only need to write the `rc.<package> <rc.%3Cpackage%3E.html>`__ + file. +| For this package the package name ``httptunnel`` and the binary + ``hts`` differ. This requires the use of variable ``DAEMON`` for the + package name, and ``DAEMON_BIN`` for the binary. +| From the usage information we get that the binary gives an option to + specify the PID-file. We will use this option in the rc.httptunnel + file. +| The binary is executed with the ``modlib_startdaemon`` function, which + is using in the ``start ()`` function. As parameter the ``DAEMON_BIN`` + with its parameters is used. +| For this package we have one conditional parameter. The ``DEVICE`` + option should only be added to the list of parameters is it contains a + non-zero amount of characters. +| This is accomplished using a if [ test ] then function. +| The case function test for a match. See the + `rc.<package> <rc.%3Cpackage%3E.html>`__ page for more information. + +.. code:: wiki + + #!/bin/sh + + DAEMON=httptunnel + DAEMON_BIN=hts + PID_FILE=/var/run/$DAEMON_BIN.pid + . /etc/init.d/modlibrc + + start() { + OPTIONS="-F $HTTPTUNNEL_HOST:$HTTPTUNNEL_HOSTPORT \ + -k $HTTPTUNNEL_KEEPALIVE \ + -M $HTTPTUNNEL_MAXCONNECTIONAGE \ + -p $PID_FILE \ + $HTTPTUNNEL_CLIENTPORT" + [ -n "$HTTPTUNNEL_DEVICE" ] && OPTIONS="$OPTIONS -d $HTTPTUNNEL_DEVICE" + modlib_startdaemon $DAEMON_BIN $OPTIONS + } + + case $1 in + ""|load) + modreg cgi 'httptunnel' 'httptunnel' + modreg daemon httptunnel + + modlib_start $HTTPTUNNEL_ENABLED + ;; + unload) + modunreg daemon httptunnel + modunreg cgi 'httptunnel' + modlib_stop + ;; + start) + modlib_start + ;; + stop) + modlib_stop + ;; + restart) + modlib_restart + ;; + status) + modlib_status + ;; + *) + echo "Usage: $0 [load|unload|start|stop|restart|status]" 1>&2 + exit 1 + ;; + esac + + exit 0 + +.. _Testonrouter: + +Test on router +~~~~~~~~~~~~~~ + +| The following scripts can help to test the created files directly on + the router. +| For this the files are located on a USB-stick. +| If the web-interface is working you can add the parameter ``2`` to + obtain the config parameter values from tffs. + +For the initial development of all files: + +.. code:: wiki + + #!/bin/sh + export package=httptunnel + echo Will add webinterface for $package + [ ! -e /mod/etc/default.$package ] && mkdir /mod/etc/default.$package + [ ! -e /mod/etc/default.$package/$package.cfg ] && cp $package.cfg /mod/etc/default.$package/ + if [ $1 -eq 2 ]; then + modconf load $package + else + [ ! -e /mod/etc/conf/$package.cfg ] && cp $package.cfg /mod/etc/conf/ + fi + cd /var/mod/usr/lib/cgi-bin/ + [ ! -e /var/mod/usr/lib/cgi-bin/$package.cgi ] && ln -s /var/media/ftp/uStor01/freetz/webinterface/$package/$package.cgi $package.cgi + cd /mod/etc/init.d/ + [ ! -e /mod/etc/init.d/rc.$package ] && ln -s /var/media/ftp/uStor01/freetz/webinterface/$package/rc.$package rc.$package + rm /var/mod/var/cache/menu/packages + modreg cgi $package $package + +For verifying changes to just the rc.<package> file e.g. after already +including the files in the Freetz image: + +.. code:: wiki + + #!/bin/sh + export package=httptunnel + cd /mod/etc/init.d/ + [ -h /mod/etc/init.d/rc.$package ] && rm /mod/etc/init.d/rc.$package + [ ! -e /mod/etc/init.d/rc.$package ] && ln -s /var/media/ftp/uStor01/freetz/webinterface/$package/rc.$package rc.$package + +.. _References: + +References +~~~~~~~~~~ + +To help with Bash Shell scripts: + +- `​http://steve-parker.org/sh/test.shtml <http://steve-parker.org/sh/test.shtml>`__ +- `​http://www.linuxjournal.com/content/bash-preserving-whitespace-using-set-and-eval <http://www.linuxjournal.com/content/bash-preserving-whitespace-using-set-and-eval>`__ +- `/wiki/help/howtos/development/developer_information/shell_coding_conventions#ShellCodingConventions <../shell_coding_conventions.html#ShellCodingConventions>`__ +- `​http://www.ooblick.com/text/sh/ <http://www.ooblick.com/text/sh/>`__ diff --git a/wiki/help/howtos/development/developer_information/post_commit_hook.rst b/wiki/help/howtos/development/developer_information/post_commit_hook.rst new file mode 100644 index 0000000..9adb299 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/post_commit_hook.rst @@ -0,0 +1,71 @@ +help/howtos/development/developer_information/post_commit_hook +============================================================== +.. _TracHooks: + +Trac Hooks +========== + +trac-post-commit-hook +--------------------- + +The trac-post-commit-hook script searches commit messages for text in +the form of: + +.. code:: wiki + + command #1 + command #1, #2 + command #1 & #2 + command #1 and #2 + +You can have more then one command in a message. The following commands +are supported. There is more then one spelling for each command, to make +this as user-friendly as possible. + +.. code:: wiki + + closes, fixes + +- The specified issue numbers are closed with the contents of this + commit message being added to it. + +.. code:: wiki + + references, refs, addresses, re + +- The specified issue numbers are left in their current status, but the + contents of this commit message are added to their notes. + +A fairly complicated example of what you can do is with a commit message +of: + +.. code:: wiki + + Changed blah and foo to do this or that. Fixes #10 and #12, and refs #12. + +- This will close #10 and #12, and add a note to #12. + +trac-post-revprop-change-hook +----------------------------- + +With the trac-post-revprop-change-hook script one could change the +svn:log property. The syntax is: + +.. code:: wiki + + 1. svn propset svn:log --revprop -r <REVISION> "My corrected log message" <URL> + 2. svn propset svn:log --revprop -r <REVISION> -F <file-with-corrected-log-message.txt> <URL> + 3. svn propedit svn:log --revprop -r <REVISION> + +For easy usage add a "svn comment edit" alias to your .bash_profile: + +.. code:: wiki + + export SVN_EDITOR=vi (or whatever) + alias svnceF='svn propedit svn:log --revprop http://svn.freetz.org/ -r' + +Your editor will start after + +.. code:: wiki + + svnceF <REVISION> diff --git a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst new file mode 100644 index 0000000..08b8f70 --- /dev/null +++ b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst @@ -0,0 +1,422 @@ +help/howtos/development/developer_information/shell_coding_conventions +====================================================================== +.. _ShellCodingConventions: + +Shell Coding Conventions +======================== + +As many (if not most) functional parts of freetz are implemented using +(bourne) shell scripts, a need for some shell coding conventions arose. +Currently, this page has the draft status. Some parts seem to be quite +settled, others are just a recommendation or `​need further +discussion <http://www.ip-phone-forum.de/showthread.php?t=163148&highlight=coding+style>`__. +This style guide is based on +`​http://www.opensolaris.org/os/community/on/shellstyle/ <http://web.archive.org/web/20070422195703/http://opensolaris.org/os/community/on/shellstyle/>`__ +(archive.org). + +Table of contents +^^^^^^^^^^^^^^^^^ + +#. `Shell Language <shell_coding_conventions.html#ShellLanguage>`__ +#. `Basic Format <shell_coding_conventions.html#BasicFormat>`__ +#. `If, For, and While <shell_coding_conventions.html#IfForandWhile>`__ +#. `Test Built-in <shell_coding_conventions.html#TestBuilt-in>`__ +#. `Single-line conditional + statements <shell_coding_conventions.html#Single-lineconditionalstatements>`__ +#. `Infinite Loops <shell_coding_conventions.html#InfiniteLoops>`__ +#. `Exit Status and If/While + Statements <shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ +#. `Variable + References <shell_coding_conventions.html#VariableReferences>`__ +#. `Variable Naming <shell_coding_conventions.html#VariableNaming>`__ +#. `Quoting <shell_coding_conventions.html#Quoting>`__ +#. `Variable + Assignments <shell_coding_conventions.html#VariableAssignments>`__ +#. `Testing for (Non-)Empty + Strings <shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ +#. `Commenting <shell_coding_conventions.html#Commenting>`__ +#. `Pathnames <shell_coding_conventions.html#Pathnames>`__ +#. `Interpreter + Magic <shell_coding_conventions.html#InterpreterMagic>`__ + +.. _ShellLanguage: + +Shell Language +-------------- + +The shell language for any shell scripts is the bourne shell language. +An adequate technical manual to the (posix) shell seems to be +`​http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html <http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html>`__. + +.. _BasicFormat: + +Basic Format +------------ + +The basic format is that all lines are indented by TABs (4 spaces!), and +continuation lines (which in the shell end with "\") are indented by an +equivalent number of TABs and then an additional two spaces, e.g. + +:: + + cp foo bar + cp some_realllllllllllllllly_realllllllllllllly_long_path \ + to_another_really_long_path_with_er-ror + +.. _IfForandWhile: + +If, For, and While +------------------ + +The sh token equivalent to the C "{" should appear on the same line, +separated by a ";", as in: + +:: + + if [ "$x" = hello ]; then + echo $x + fi + + for i in 1 2 3; do + echo $i + done + + i=0 + while [ $i -le 20 ]; do + echo $i + i=$(($i + 1)) + done + +.. _TestBuilt-in: + +Test Built-in +------------- + +DO NOT use the test built-in. Instead, use the [ builtin. + +So, instead of + +:: + + if test $1 -gt 0; then + +use: + +:: + + if [ "$1" -gt 0 ]; then + +.. _Single-lineconditionalstatements: + +Single-line conditional statements +---------------------------------- + +It is permissible to use ``&&`` and ``||`` to construct shorthand for an +"if" statement in the case where the if statement has a single +consequent line: + +:: + + [ "$1" -eq 0 ] && exit 0 + +instead of the longer: + +:: + + if [ $1 -eq 0 ]; then + exit 0 + fi + +DO NOT combine ``&&`` with ``{ }``, as in: + +:: + + [ "$1" -eq 0 ] && { + do something + do something else + } + +Use a complete "if-then-fi" construct for this instead. + +Remark by kriegaex (2012-01-21): Nobody ever asked me for my opinion, +yet I get bugged by one or two people whenever I do this: + +:: + + [ $foo -eq 0 ] \ + && echo "tea" + || echo "coffee" + + [ $foo -eq 0 ] && [ "$bar" != "oops" ] \ + && command1 | grep "xxx" \ + || command2 + +I will continue to use this as a shorthand for if-else as long as there +are no nested ``&&`` or ``||`` constructs or brackets involved. Whenever +I use it, I indent it cleanly and use it exactly analogous to if-else, +so it is always ``condition && true-case || false-case``, never anything +more complicated. I am even putting ``&&`` or ``||`` to the beginning of +the indented lines on purpose so as to document the condition for +executing the statements. + +I also think that this + +:: + + while condition; do + command1 && + command2 && + command3 && + command4 && + echo "result" + done + +should be permitted because it is more readable than (and still trivial +enough) + +:: + + while condition; do + command1 || continue + command2 || continue + command3 || continue + command4 || continue + echo "result" + done + +There is a reason why ``&&`` and ``||`` were invented, and I believe +that this case does not look obfuscated in any way. + +.. _InfiniteLoops: + +Infinite Loops +-------------- + +*This should be discussed:* The original solaris sh style guide says not +to use "true", as this is normally not a shell builtin, and instead use +:, which also evaluates to true. In the busybox sh used with freetz, +"true" is also a shell builtin, and as it is more readable, it should be +prefered over ":": + +:: + + while true; do + echo infinite loop + done + +.. _ExitStatusandIfWhileStatements: + +Exit Status and If/While Statements +----------------------------------- + +Recall that "if" and "while" operate on the exit status of the statement +to be executed. In the shell, zero (0) means true and non-zero means +false. The exit status of the last command which was executed is +available in the $? variable. When using "if" and "while", it is +typically not necessary to use $? explicitly, as in: + +:: + + grep foo /etc/passwd >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo found + fi + +Instead, you can more concisely write: + +:: + + if grep foo /etc/passwd >/dev/null 2>&1; then + echo found + fi + +Or, when appropriate: + +:: + + grep foo /etc/passwd >/dev/null 2>&1 && echo found + +.. _VariableReferences: + +Variable References +------------------- + +Variable references begin with $ and \*may\* have their name enclosed in +{}'s. They should only be used when required. + +Braces are required around variable names in two specific cases: + +(1) when you are forming the string concatenation of your variable with +another string: + +:: + + [ "$install" = yes ] && root="/a/" || root="/" + hosts=${root}etc/inet/hosts + +and (2) when you are using one of the various substitution/assignment +operators: + +:: + + echo ${BASEDIR:-/a} + +.. _VariableNaming: + +Variable Naming +--------------- + +Shell variables should usually be all lower case, except for a few +exceptions, where CAPTITAL letters are to be used: + +(1) variables that are exported into the environment: + +:: + + BASEDIR=/a; export BASEDIR + +(2) variables that are used like constants + +:: + + TMP=/var/tmp + FLASH=$TMP/flash + +This helps your reader immediately understand the implication of +modifying a given variable (i.e. whether it will be inherited by child +processes). + +.. _Quoting: + +Quoting +------- + +Quick review of the quoting basics: + +.. code:: wiki + + single quotes ('') mean quote but do not expand variable or backquote substitutions. + Double quotes ("") mean quote but allow expansion. + Backquotes () mean execute the command and substitute its standard output + (note: stderr is unchanged and may "leak" through unless properly redirected)'' + +Use quotes wherever they *could* be necessary, even when knowing that +for example a variable does only expand to one word at the moment. This +can save us from possible side effects of later code changes. + +But please do not unnecessarily quote everything. Literals should +usually not be quoted: + +:: + + [ -r /path/to/some/file ] && rm /path/to/some/file + +The usage of backquotes (``) is discouraged in favor of the "new" form +$(). + +.. _VariableAssignments: + +Variable Assignments +-------------------- + +Variable assignments should not be quoted if unnecessary: + +:: + + variable=yes + variable=$(ls) + variable="some text" + +.. _TestingforNon-EmptyStrings: + +Testing for (Non-)Empty Strings +------------------------------- + +DO NOT test for non-/empty strings by comparing to "" or *. ALWAYS use +the test operators -n (non-zero-length string) and -z (zero-length +string):* + +:: + + if [ -z "$foo" ]; then + echo 'you forgot to set $foo' + fi + + if [ -n "$BASEDIR" ]; then + echo "\$BASEDIR is set to $BASEDIR" + fi + +.. _Commenting: + +Commenting +---------- + +|/!\\| As usual, comments are mainly intended for maintainers of the +files, that means probably not you but someone else. Comments should +describe why something is done the way it is done, or explain +complicated statements that are not obvious. A summary for a whole block +of code or the synopsis of a function are also useful. Comments should +**not** explain what a simple line of code does, as it should be assumed +that the reader is familiar with the language. + +Shell comments are preceded by the '#' character. Both single and +multi-line comments are to be placed at line begin. Use an extra '#' +above and below the comment in the case of multi-line comments: + +:: + + # Copy foo to bar (this is an example of a useless comment, the purpose of cp should be known). + cp foo bar + + # + # Modify the permissions on bar. (This is obvious from the code and not necessary.) + # We need to set them to root/sys in order to match the package prototype. + # (This information is useful because it is not contained in the code.) + # + chown root bar + chgrp sys bar + +.. _Pathnames: + +Pathnames +--------- + +It is always a good idea to be careful about $PATH settings and +pathnames when writing shell scripts. This allows them to function +correctly even when the user invoking your script has some strange $PATH +set in their environment. + +There are two acceptable ways to do this: + +(1) make *all* command references in your script use explicit pathnames: + +:: + + /usr/bin/chown root bar + /usr/bin/chgrp sys bar + +or (2) explicitly reset $PATH in your script: + +:: + + PATH=/usr/bin; export PATH + + chown root bar + chgrp sys bar + +DO NOT use a mixture of (1) and (2) in the same script. Pick one method +and use it consistently. + +.. _InterpreterMagic: + +Interpreter Magic +----------------- + +The proper interpreter magic (aka shebang) for shell script is: + +:: + + #!/bin/sh + +.. |/!\\| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst new file mode 100644 index 0000000..28a3e4b --- /dev/null +++ b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst @@ -0,0 +1,207 @@ +help/howtos/development/developer_information/webif/libmodcgi +============================================================= +libmodcgi.sh +============ + +Diese Bibliothek dient der Erzeugung von Webseiten innerhalb des +Freetz-Webinterface. Einzubinden durch + +.. code:: wiki + + source /usr/lib/libmodcgi.sh + +cgi +--- + +**Diese Schnittstelle ist in Entwicklung und kann sich täglich ändern.** + +Mithilfe der Funktion ``cgi`` können verschiedene Einstellungen für die +aktuelle Seite vorgenommen werden. ``cgi`` darf nur vor ``cgi_begin`` +aufgerufen werden. + +Die Optionen sind im Einzelnen: + +``--style=URI`` + + Das CSS-Stylesheet an der Adresse ``URI`` wird zusätzlich + eingebunden. Diese Option kann mehrfach verwendet werden. + +.. + + Relative URLs werden relativ zu ``/style/`` im Freetz-Webinterface + ausgewertet. Sollte ein Stylesheet also im Dateisystem unter + ``/usr/share/style/pkg/status.css`` abgelegt sein, so kann es über + ``--style=pkg/status.css`` eingebunden werden. + +``--id=ID`` + + Das body-Tag der Seite erhält diese ID; die ID dient außerdem der + Auswahl des aktiven Menüpunkts in der Navigation. + +``--help=PATH`` + + Ein Pfad (beginnend mit "/"), der die Hilfe-Seite zu der aktuellen + Seite angibt. (Für das Haupt-Freetz-Interface wird dieser Pfad + momentan an + `​http://trac.freetz.org/wiki <http://trac.freetz.org/wiki>`__ + angehängt.) + +cgi_begin +--------- + +Startet eine HTML-Seite im Freetz-Stil. (Vom HTTP-Header über den +HTML-Header bis zu Navigationselementen und ähnlichem wird alles +geschrieben, was an den Anfang einer Seite gehört.) + +Alle Seiten im Freetz-Webinterface sind momentan in ISO-8859-1 (Latin 1) +kodiert. + +Aufruf: + +.. code:: wiki + + cgi_begin TITLE + +- TITEL ist der bereits HTML-kodierte Titel der Seite + +cgi_end +------- + +Schließt eine HTML-Seite im Freetz-Stil ab. + +sec_begin +--------- + +Startet einen Abschnitt mit dem Titel TITLE. Wie ein "Abschnitt" im +Detail in der HTML-Ausgabe umgesetzt wird, obliegt dem gewählten Skin; +garantiert wird jedoch ein umgebendes ``<div class="section">`` + +.. code:: wiki + + sec_begin TITLE [ID] + +Optional kann eine ID angegeben werden, um sich auf den Abschnitt +beziehen zu können. Auf HTML-Ebene wird dies die ID des genannten +div-Elements. + +sec_end +------- + +Beendet einen Abschnitt. + +html +---- + +Diese Funktion HTML-kodiert ihre Eingaben. Kurze Eingaben können als +Argument übergeben werden, bei längeren sollte ``html`` als Filter +benutzt werden: + +:: + + echo "<input value='$(html "$VALUE")'> ..." + log_output | html + +.. _checkselect: + +check, select +------------- + +TODO + +href +---- + +Erzeugt einen Link zu einer dynamisch registrierten Seite im +Freetz-Webinterface: Die Argumente sind denen von ``modreg`` ähnlich: + +.. code:: wiki + + href file <pkg> <id> + href extra <pkg> <cgi-name> + href status <pkg> [<cgi-name>] + href cgi <pkg> [<key-value>]... + +Typischer Einsatz in einem Paket foo: + +:: + + cat << EOF + <a href="$(href file foo advanced)">Konfigurationsdatei bearbeiten</a> + EOF + +(wenn die Datei vorher per ``modreg file foo advanced ...`` registriert +wurde.) + +back_button +----------- + +TODO + +sec_level +--------- + +TODO + +stat_bar +-------- + +TODO + +cgi_param +--------- + +TODO + +.. _cgi_errorprint_error: + +cgi_error, print_error +---------------------- + +.. code:: wiki + + cgi_error MESSAGE + print_error MESSAGE + +``cgi_error`` erzeugt eine komplette Fehlerseite (inkl. +cgi_begin/cgi_end) mit der angegeben Meldung. ``print_error`` erzeugt +nur die Fehlermeldung und kann innerhalb einer bestehenden Seite genutzt +werden. + +path_info +--------- + +Splits PATH_INFO into segments at "/"; returns the segments in the given +variables. If there are not more variables than segments, the final +variable will receive the remaining unsplit PATH_INFO. + +.. code:: wiki + + PATH_INFO=/foo/bar/baz + path_info package id rest + +will set + +.. code:: wiki + + package=foo + id=bar + rest=/baz + +valid +----- + +Validiert bestimmte Arten von Eingabedaten. Momentan unterstützt: + +``valid package PACKAGE`` + + Ist wahr, wenn PACKAGE ein gültiger Paket-Name ist. + +``valid id NAME`` + + Ist wahr, wenn NAME eine gültiger Bezeichner ist (der Dateien, + Extras, Status-Seiten innerhalb eines Pakets identifiziert) + +Die Prüfung ist momentan recht lax (hauptsächlich nur Schutz gegen +Pfadoperationen wie "." und "/" im Namen). Die Ausgabe von ``valid`` +sollte momentan nicht als Maßstab genommen werden, um gültige Namen zu +konstruieren. diff --git a/wiki/help/howtos/development/firmware_update_details.rst b/wiki/help/howtos/development/firmware_update_details.rst new file mode 100644 index 0000000..2f04627 --- /dev/null +++ b/wiki/help/howtos/development/firmware_update_details.rst @@ -0,0 +1,457 @@ +help/howtos/development/firmware_update_details +=============================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _AblaufeinesFirmware-Updates: + +Ablauf eines Firmware-Updates +============================= + +Bei einem Firmware-Update über das AVM-Web-Interface passiert in etwa +Folgendes (kein Anspruch auf Vollständigkeit): + +- Die Steuerung des gesamten Vorgangs übernimmt das Binary + ``/usr/www/cgi-bin/firmwarecfg``. Es wird vom Webserver aufgerufen. +- ``firmwarecfg`` ruft zunächst das Shell-Skript + ``/bin/prepare_fwupgrade`` auf, um diverse Dienste zu stoppen und + somit Platz im RAM für das Firmware-Archiv zu schaffen. Auch Spuren + von evtl. früheren Updates in der RAM-Disk (``/var``) werden + gelöscht. ``prepare_fwupgrade`` wird entweder mit dem Parameter + *start* oder mit *start_from_internet* aufgerufen, je nachdem, ob ein + Update von der AVM-Seite geladen werden soll oder von Festplatte. Der + Unterschied besteht v.a. darin, daß der DSL-Daemon ``dsld`` im + zweiten Fall zunächst nicht gestoppt wird. +- Nachdem nun ein Großteil der Aktivitäten der FritzBox stillgelegt + ist, wird das Firmware-Image in die RAM-Disk übertragen und dort + mittels tar entpackt. Dabei wird die digitale Signatur des Pakets + geprüft. Falls sie nicht korrekt verifiziert werden kann oder fehlt, + wird später die bekannte Meldung über eine nicht freigegebene + Firmware im Web-Interface angezeigt. Zunächst wird der Benutzer des + Web-Interfaces via Rückmeldung von ``firmwarecfg`` aber einfach nur + gefragt, ob er trotzdem die Firmware installieren möchte. Nehmen wir + an, er bejaht das. +- Die wichtigsten Dateien des entpackten Firmware-Archivs liegen nun + unter + + - ``/var/install`` + - ``/var/tmp/kernel.image`` + - ``/var/tmp/filesystem.image`` + +- Die letzten beiden Dateien liegen nur vor, wenn es sich um ein + "echtes" Update und nicht um ein Pseudo-Update, z.B. zum Aktivieren + von Telnet oder zur Installation einer Software wie dem *LCR Updater* + handelt. ``filesystem.image`` hat in vielen Fällen die Länge null, + weil in ``kernel.image`` alle benötigten Daten fürs Flashen enthalten + sind. +- Ein zweites Mal wird ``/bin/prepare_fwupgrade`` aufgerufen, dieses + Mal mit dem Parameter *end*. Jetzt werden endgültig die verbleibenden + Dienste gestoppt, die noch während des Updates stören könnten, indem + sie z.B. auf den Flash-Speicher zugreifen. +- Jetzt wird das mit dem Firmware-Image entpackte Shell-Skript + ``/var/install`` aufgerufen. Darin passiert eine ganze Menge, z.B.: +- Es werden diverse Prüfungen durchgeführt, die bestimmen, auf welchem + Stand die Box momentan ist, wie der Flash-Bereich partitioniert ist + und was zu tun ist in Vorbereitung aufs Update. Je nachdem, was das + Skript herausfindet über die Situation, gibt es am Ende einen der + folgenden Werte zurück: + + - *INSTALL_SUCCESS_NO_REBOOT (0)* - alles okay, Neustart der Box + nicht erforderlich. Dieser Wert sollte nur zurückgegeben werden, + wenn an Dateisystem und Kernel im Flash nichts geändert wird. + - *INSTALL_SUCCESS_REBOOT = 1* - der Standardwert bei "richtigen" + Firmware-Updates. Alles okay, Box neu starten. + - *INSTALL_WRONG_HARDWARE = 2* - Installation zurückweisen, weil + etwas an der Hardware nicht zum Firmware-Image paßt (Problem mit + dem Annex, falscher OEM). + - *INSTALL_KERNEL_CHECKSUM = 3* - fehlerhafte Kernel-Checksumme. + Falls die beiden Image-Dateien (Kernel und Filesystem) existieren, + werden ihre CRC-Checksummen durch Aufruf des ebenfalls in + AVM-Paketen enthaltenen ``/var/chksum`` geprüft. Sind die + Checksummen - nicht Verwechseln mit der o.g. Signatur - nicht in + Ordnung, findet kein Update statt. + - *INSTALL_FILESYSTEM_CHECKSUM = 4* - siehe voriger Punkt. + - *INSTALL_URLADER_CHECKSUM = 5* - würde bedeuten, dass der zu + installierende neue Urlader eine falsche Checksumme hat. Meistens + enthalten Firmware-Updates jedoch keinen neuen Urlader. + - *INSTALL_OTHER_ERROR = 6* - sonstiger Fehler. + - *INSTALL_FIRMWARE_VERSION = 7* - Problem mit der aktuellen + Firmware-Version. Entweder kann die aktuelle Version aus + irgendeinem Grund nicht festgestellt werden oder der + Versionssprung ist zu groß, weil noch jemand eine Uralt-Version + installiert hat und zunächst ein Zwischen-Update auf eine andere + Version ebötigt, um anschließend die neue einspielen zu können. + - *INSTALL_DOWNGRADE_NEEDED = 8* - es wird versucht, eine Firmware + mit niedrigerer Versionsnummer zu installieren. Normalerweise + blockieren aktuelle Firmwares das, weswegen man den Umweg über ein + Recover bzw. einen manuellen Downgrade machen muss, um diese Hürde + zu nehmen. (Man könnte auch einfach die Prüfung in diesem Skript + auskommentieren.) + +- Das Skript hat auch einen Schalter *-f*, welcher es dazu veranlaßt, + eine beliebige Firmware-Versionsnummer zu akzeptieren und somit ggf. + auch einen Downgrade durchzuführen. Allerdings lässt sich der + Schalter übers Web-Interface meines Wissens nicht setzen. Vermutlich + wird er von den AVM-Recovery-Tools benutzt. Verbunden mit dem Setzen + dieses Schalters ist, dass das gerade besprochene Install-Skript auch + die Einstellungen im Flash löscht und somit die Box auf die + Werkseinstellungen zurücksetzt. Grundsätzlich könnte man Letzteres + durch Auskommentieren im Skript verhindern, aber es macht oft genug + Sinn, es so zu lassen. Ein Downgrade bedeutet nun einmal, dass evtl. + vorhandene Einstellungen für Features einer neuen Firmware-Version + von einer älteren nicht richtig interpretiert werden könnten und + somit schlimmstenfalls die Box schon beim Starten hängen bleiben und + endgültig zum Recover-Fall werden würde. +- Zum Schluß werden ggf. noch einige Spezialitäten abgehandelt, z.B. + Entfernen veralteter Einstellungen oder Konvertierung alter + Wahlregeln. +- Das Skript schreibt während des Ablaufs parallel auch noch ein + weiteres Skript nach ``/var/post_install``, welches anschließend über + ``init reboot`` indirekt vom führenden Prozeß ``firmwarecfg`` + aufgerufen wird, sofern nicht einer der Fehler-Rückgabewerte dies + verhindert. ``post_install`` wiederum setzt für den Flash-Vorgang + notwendige Umgebungsvariablen und lädt das im Firmware-Image + enthaltene Modul ``/var/flash_update.o`` (Kernel 2.4) bzw. + ``/var/flash_update.ko`` (Kernel 2.6). +- Übrigens gibt es auch standardmäßig ein ``/var/post_install``, das + beim Systemstart aus ``/var.tar`` extrahiert wird und vor jedem + Reboot aufgerufen wird. Der Aufruf-Mechanismus über ``/etc/inittab`` + ist der gleiche, der Inhalt des Skripts jedoch völlig anders als in + der Spezialversion vor dem Flashen. +- Jetzt erfolgt der eigentliche Flash-Vorgang (falls notwendig). + +Nach dem eventuellen Reboot hat man ggf. eine nagelneue Firmware auf der +Box, andernfalls die gewünschte nachinstallierte Funktionalität. Was +``/var/install`` macht und welchen Return-Wert es liefert, ist +grundsätzlich für jeden Firmware-Bastler frei entscheidbar. Die anderen +Rahmenbedingungen sind so, wie ich es eben beschrieben habe. + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ diff --git a/wiki/help/howtos/development/flash.rst b/wiki/help/howtos/development/flash.rst new file mode 100644 index 0000000..f513810 --- /dev/null +++ b/wiki/help/howtos/development/flash.rst @@ -0,0 +1,711 @@ +help/howtos/development/flash +============================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _FlashPartitionierung: + +Flash Partitionierung +===================== + +Im Flash der Fritzbox befinden sich bei jedem Modell folgende +funktionale Einheiten: + +- Bootloader: `ADAM2 <adam2.html>`__ / EVA (+ Werkseinstellungen) +- Kernel: Linux 2.4.17_mvl21-malta-mips_fp_le, 2.6.13.1-ar7/ohio oder + höher *(gzip oder lzma komprimiert)* +- Dateisystem: `​SquashFS <http://de.wikipedia.org/wiki/Squashfs>`__ + *(gzip oder lzma)* oder + `​YAFFS2 <http://de.wikipedia.org/wiki/YAFFS2>`__ +- Konfigurations-Dateien + Environment: TFFS + +Bei der Flash Einteilung der Fritzboxen entstanden über die Jahre einige +"Geschmacksrichtungen". Das Grundkonzept entspringt TI und deren ADAM2 +Bootloader, der die Partitionstabellen verwaltet. Unabhängig von der +Reihenfolge im Speicher wurde festgelegt dass ``mtd0`` das root +Dateisystem enthalten soll, ``mtd1`` das Kernel, ``mtd2`` ADAM2 selbst +und ``mtd3`` die Konfiguration. Letztere muss häufig geschrieben werden +und trotzdem fehlerfrei sein und nutzt dabei das Flash ab. Um dies +sicherer zu gestalten entwickelte AVM das TFFS, das durch doppelte +"Pufferung" zwei gleich grosse Partitionen ``mtd3`` und ``mtd4`` +benötigt. + +ADAM2 bzw später AVM's funktionsgleicher Ersatz EVA wird ab Werk +installiert und wurde nur in eher seltenen Sonderfällen aktualisiert. +Ein Firmware Update aktualisiert dagegen immer Kernel und root +Dateisystem, beim ursprünglichen Konzept mit den enthaltenen Dateien +``filesystem.image`` für ``mtd0`` und ``kernel.image`` für ``mtd1``. + +Uber die Jahre stellte sich heraus dass der Platzbedarf für Kernel und +Dateisystem kaum dauerhaft vorhersagbar ist und dass die Partitionierung +gar eine Hürde wurde da beide Komponenten verschieden stark wuchsen. Es +entstanden einige trickreiche Abwandelungen die diese Barriere +aushebelten. Ab Kernel 2.6 verzichtete man dann ganz auf die Trennung um +die Problematik zu umgehen. Bei neuen Modellen mit im Vergleich fast +unbegrenztem NAND-Flash führte man die Trennung wieder ein. + +**Achtung:** Alle in diesem Artikel genannten mtd Nummern beziehen sich +auf die im Environment gespeicherten Partitionstabellen. Die Nummern der +im Linux erreichbaren mtd Devices werden vom Kernel vergeben und weichen +oft von den ADAM2/EVA Numerierung ab! + +Um aus dem Linux heraus auf das Environment zugreifen zu können gibt es +die ADAM2 API, die je nach Kernel Version an verschiedenen Stellen in +/proc erreichbar ist. + +Um die Environment mtd Tabelle unter Kernel 2.4 zu lesen kann + +.. code:: wiki + + cat /proc/sys/dev/adam2/environment | grep mtd + +abgerufen werden. Ab Kernel 2.6 muss es so aussehen: + +.. code:: wiki + + cat /proc/sys/urlader/environment | grep mtd + +Die Liste aller Linux mtd Devices erhält man mit: + +.. code:: wiki + + cat /proc/mtd + +Da die Linux Partitionen von den MTD Treibern im Kernel ermittelt werden +weichen Nummerierung und Größen teilweise erheblich von der +Partitionierung im Environment ab. + +Im Folgenden werden alle verwendeten Partitionsschemata einzeln +beleuchtet. + +.. _HiddenSquashFS: + +Hidden SquashFS +--------------- + +.. figure:: /screenshots/55.png + :alt: Flash Legende + + Flash Legende + +Folgende Firmware verwendet Hidden SquashFS im NOR-Flash mit Kernel 2.4: + +- 2 MB Flash + + - Fritzbox SL (03.48 bis 03.73) + - Fritzbox 2030 (03.73 bis 03.80) + +- 4 MB Flash + + - Eumex 300 IP (alte) + - Fritzbox (03.29 bis 4.02, auch int) + - Fritzbox SL WLAN (03.65 bis 04.15) + - Fritzbox WLAN 3030 (03.65 bis 04.15) + - Fritzbox WLAN 3050 (03.63 bis 04.07) + - Fritzbox Fon (03.37 bis 04.27, auch int) + - Fritzbox Fon 5050 (03.69 bis 04.26) + - Fritzbox Fon ATA (03.64 bis 04.28-Beta, auch int) + - Fritzbox Fon WLAN (03.42 bis 04.27, auch int) + - Fritzbox Fon WLAN 7050 (03.58 bis 4.01) + +Das Hidden SquashFS beginnt direkt hinter dem Kernel (256 Byte Padding) +und enthält vor allem Treiber. Es wird während des Bootvorgangs im +Startskript ``rc.S`` gemounted. Der Kernel und das Hidden SquashFS +befinden sich in ``kernel.image``, das root Dateisystem in +``filesystem.image``. Diese Technik wurde verwendet um proprietäre +Binär-Module von TI vom root Dateisystem zu separieren. Das Hidden +SquashFS enthält Dateien wie ``avalanche_cpmac.o``, ``avalanche_usb.o``, +``tiatm.o`` ohne jegliche Unterverzeichnisse und wird nach +``/lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/hidden`` gemountet. + +.. figure:: /screenshots/56.png + :alt: Flash Hidden Squashfs + + Flash Hidden Squashfs + +.. _ContiguousSquashFS: + +Contiguous SquashFS +------------------- + +.. figure:: /screenshots/55.png + :alt: Flash Legende + + Flash Legende + +Folgende Firmware verwendet Contiguous SquashFS im NOR-Flash mit Kernel +2.4: + +- 2 MB Flash + + - Fritzbox SL (03.92 bis 03.94) + - Fritzbox 2030 (03.92 bis 03.93) + +- 4 MB Flash + + - Fritzbox Fon WLAN 7050 (04.03-Beta bis 04.26, auch int) + +Beim Contiguous SquashFS fängt das root Dateisystem direkt nach dem +Kernel an (256 Byte Padding). Da das root Dateisystem nun über ``mtd0`` +und ``mtd1`` verteilt liegt, muss es im Firmware Update auch +dementsprechend auf die Dateien ``kernel.image`` (Kernel + Anfang des +root Dateisystems) und ``filesystem.image`` (Rest des root Dateisystems) +aufgeteilt werden. Diese Technik wurde verwendet um ohne +Umpartitionierung Platz für das wachsende root Dateisystem aus der +Kernel Partition zu borgen. + +.. figure:: /screenshots/57.png + :alt: Flash Contiguous + + Flash Contiguous + +.. _HiddenRoot: + +Hidden Root +----------- + +.. figure:: /screenshots/55.png + :alt: Flash Legende + + Flash Legende + +Folgende Firmware verwendet Hidden Root im NOR- oder Serial-Flash mit +Kernel 2.6: + +- alle Firmware ab Kernel 2.6.13.1 die kein NAND Root nutzt + +Bei Hidden Root befindet sich das root Dateisystem — ähnlich wie bei +`Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ — direkt hinter +dem Kernel (256 Byte Padding). Diese Boxen kann man daran erkennen, dass +die Start- und End-Adresse von ``mtd0`` in der mtd Tabelle gleich 0 und +die Datei ``filesystem.image`` im Firmware Update leer ist. +``kernel.image`` enthält sowohl den Kernel als auch das root +Dateisystem. Diese Technik wurde verwendet um ohne Behinderung durch +Partitionsgrenzen den vorhandenen Platz dynamisch zwischen Kernel und +root Dateisystem aufzuteilen. + +.. figure:: /screenshots/58.png + :alt: Flash Hidden Root + + Flash Hidden Root + +.. _NANDRoot: + +NAND Root +--------- + +.. figure:: /screenshots/55.png + :alt: Flash Legende + + Flash Legende + +Folgende Modelle verwenden NAND Root mit Kernel 2.6: + +- Fritzbox 3272 +- Fritzbox 3370 +- Fritzbox 3390 +- Fritzbox 6840 LTE +- Fritzbox 7272 +- Fritzbox 7362 SL +- Fritzbox 7490 + +Alle bisher genannten Partitionsschemata basieren auf parallelem oder +seriellem NOR-Flash mit vorhersagbarem Speicherplatz. +`​NAND-Flash <https://de.wikipedia.org/wiki/NAND-Flash>`__ kann dagegen +bereits ab Werk Fehler aufweisen und daher nur mit +Fehlererkennungsmechanismen zuverlässig genutzt werden. Dies erfordert +spezielle Controller oder Dateisysteme die Listen defekter Blöcke +verwalten. Der Speicherplatz ist also nicht mehr zwingend durchgehend +nutzbar und kann nicht mehr ohne Intelligenz geschrieben werden ohne die +Liste defekter Blöcke zu zerstören (was sehr dumm wäre). + +Bei Modellen die NAND nur als Datenspeicher für den NAS nutzen (z.B. die +7390) ist das kein Problem. Dieser Speicher wird nur intelligent aus +Linux heraus angesprochen und enthält normalerweise keine Systemteile. +Alle Partitionen die über den Bootloader recovered werden liegen im +NOR-Flash. + +Modelle bei denen auch das System im NAND-Flash liegt haben nur noch ein +kleines serielles NOR-Flash für den Bootloader ``mtd2`` und zwei TFFS +Partitionen ``mtd3`` und ``mtd4``. Alle weiteren Partitionen befinden +sich im NAND-Flash. Da es bei NAND keinen Platzmangel gibt wurden je 2 +Partitionen für Kernel und Dateisystem vorhesehen. Dies hat den Vorteil +aus dem kaufenden System heraus aktualisieren zu können (hot flashable). +Dabei werden die beiden jeweils nicht in Betrieb befindlichen +Partitionen geschrieben, als aktiv markiert, und das System +neugestartet. Beim nächsten Update wechselt der Vorgang wieder die +aktiven Partitionen. Das Kernel befindet sich auf ``mtd1``, das +Dateisystem wieder getrennt auf ``mtd0``. Welche beiden Partitionen +damit gemeint sind definiert die EVA Variable ``linux_fs_start``. + +.. figure:: /screenshots/277.png + :alt: + +Um unabhängig vom verwendeten Dateisystem die Vorteile des effizient +komprimierbaren SquashFS weiter nutzen zu können entschied sich AVM für +ein interessantes Konzept. Auf die Filesystem-Partition wird ein +minimales Wrapper-System installiert, das nur aus 190 inodes und dem +eigentlichen System ``filesystem_core.squashfs`` besteht. Letzteres wird +als Loop-Device als / gemountet. Dies benötigt natürlich mehr +RAM-Speicher, hat aber zusätzlich den Vorteil schneller zu sein und das +NAND-Flash erheblich weniger zu beanspruchen. + +Die beiden (sehr spartanischen) TFFS Partitionen im NOR-Flash dienen nur +der Werkseinrichtung, EVA und der Recovery. Im Betrieb wird eine neue +Config-Partition im NAND-Flash verwendet, die YAFFS2 zur Speicherung der +Konfiguration nutzt. + +Diese "NAND Root" Modelle erforderten auch einen komplett überdachten +Mechanismus zur Aktualisierung und zur Recovery. + +WIP + +.. _Dateisystem: + +Dateisystem +----------- + +Grundsätzlich enthält jedes FRITZ!OS basierte Firmware-Image mindestens +ein `​SquashFS <http://de.wikipedia.org/wiki/Squashfs>`__ Dateisystem. +Dieses ist nahezu immer lzma oder gzip komprimiert, selten auch +unkomprimiert. Modelle mit Hidden SquashFS enthalten 2 Dateisysteme +nebeneinander in der Firmware, bei Modellen mit NAND Root sind es 2 +ineinander verschachtelte Dateisysteme. + +Ein SquashFS Image enthält einen immer unkomprimierten Superblock, der +mit der Signatur ``sqsh`` für Big Endian oder ``hsqs`` für Little Endian +anfängt. Diese Unterscheidung ist sehr wichtig, da alle weiteren Daten +den jeweiligen Endian nutzen. Der Superblock kann mit jeder Variante mit +``unsquashfs -s`` gelesen werden. Leider gibt es viele Varianten von +SquashFS, keinen globalen Standard und kein Werkzeug das für alle +Varianten funktioniert. Auf der FRITZBox 3 SquashFS Generationen +verwendet, Version 1 bis 3. Diese Versionsnummer wird im Superblock als +``versionmajor`` gespeichert. ``versionminor`` dient als Ersatz für das +vergessene Feld zur Angabe der Kompressionsart. 0 und 1 bedeutet gzip +Kompression die jedes Standard ``unsquashfs`` unterstützt - 76 ist bei +der FRITZBox der häufigste Wert, der lzma Kompression symbolisiert. Da +dies kein Standard ist baut Freetz ``tools/unsquashfs3-lzma``. Um es +nicht mit einer reinen Versionsnummer zu verwechseln hat sich sie +Schreibweise mit ':' zur Trennumg von major/minor eingebürgert - z.B. +``3:76``. + +Bei der Analyse von 1800 verschiedenen unmodifizierten Firmware-, Labor- +und Recovery-Images ergab sich folgende Verteilung: + +- 1:0 - SquashFS 1, gzip komprimiert - ca. 0,1% +- 2:0 - SquashFS 2, gzip komprimiert - ca. 0,5% +- 2:1 - SquashFS 2, gzip komprimiert - ca. 8% +- 2:76 - SquashFS 2, lzma komprimiert - ca. 23% +- 3:0 - SquashFS 3, gzip komprimiert - ca. 12,2% +- 3:76 - SquashFS 3, lzma komprimiert - ca. 56,5% + +Die als 3:0 genannten Images sind die ``filesystem.image`` und die darin +enthaltenen ``filesystem_core.squashfs`` der NAND-Root Modelle, die +beide gzip komprimiert sind. Es gibt auch neuere SquashFS 4 Varianten +die auch ``xz`` Kompression unterstützen. Auf der FRITZBox kamen diese +jedoch bisher nicht zum Einsatz. + +Auch Recoveries enthalten das SquashFS in binärer Form, in der ``.data`` +Sektion die leicht mit 7zip isolierbar ist. Darin kann man nach den +beiden Signaturen suchen und Fehlfunde mit nicht plausiblen major/minor +Werten ausmaskieren. Die Grösse des SquashFS steht normalerweise im +Superblock als ``bytesused``, der Wert kann jedoch auch 0 sein. Dies ist +nicht wirklich ein Problem, da ein SquashFS nicht durch überflüssige +Daten am Ende gestört wird. + +Es gibt einen (ca 5%) Anteil (leider auch 3 neuerer) Recoveries die eine +Extraktion nicht ermöglichen. So wurden runlength encoded Firmwareteile +entdeckt die auf überoptimierende Compiler hindeuten. In einigen älteren +Recoveries mit Contiguous SquashFS befindet sich die SquashFS Signatur +am Ende des ``.data`` Segments, das beschnittene SquashFS befindet sich +also nicht automatisch auffindbar vor dem Kernel. In beiden Fällen ist +das extrahierte Datenmaterial dann unbrauchbar. + +Recoveries mit Contiguous SquashFS (bisher sind 10 bekannt) lassen sich +mit Kenntnis von Position und Länge des größeren SquashFS-Teils +extrahieren, runlength encoded Recoveries nur mit ``bsdiff`` generierten +Binärpatches des extrahierten Datenmaterials. Letztere sind recht klein +(1,5-3,5KB), lassen sich aber nur erstellen wenn eine Firmware oder ein +Partitionsdump der selben Version existiert. Dumps sehr alter Versionen +sind nur schwer erstellbar, da sie zum Einspielen meist einen älteren +Bootloader benötigen. + +.. _Kernel: + +Kernel +------ + +Das FRITZ!OS Kernel ist immer komprimiert. Hierbei kommen 3 Techniken +zum Einsatz, die vom installierten Bootloader abhängen. + +Alle Kernels die auf ADAM2 lauffähig sind fangen mit der Hexfolge +``42 FA ED FE`` an (0xFEEDFA42), die ADAM2 Signatur für MIPS-LE. Da +ADAM2 noch keine eingebaute Unterstützung für komprimierte Kernels hatte +enthalten diese einen ``zimage`` Dekompressor (`​TI Avalanche +Inflater <http://gpl.back2roots.org/source/fritzbox/ALL_4.06/GPL-release_kernel/linux/arch/mips/mips-boards/ti_avalanche/inflater/>`__, +8,5-12,5 KB) vor dem eigentlichen gzip komprimierten Kernel. Man erkennt +diesen auch am String ``zimage`` innerhalb der ersten 13 KB des Kernels. +Der Anfang der Kerneldaten ist durch die gzip Signatur ``1F 8B 08`` +auffindbar. ADAM2-Kernels sind auch auf EVA lauffähig. + +Alle Kernels die EVA benötigen fangen mit der Hexfolge ``81 12 ED FE`` +an, unabhängig vom Endian. Eine zweite Signatur ab Offset 12 (0x0C) +signalisiert die Art der Kompression der folgenden Kerneldaten. Die +Hexfolge ``01 02 5A 07`` bedeutet ``lzma``, die Folge ``10 20 5A 70`` +bedeutet ``zlib`` Kompression, auch hier unabhängig vom Endian. + +Bei der Analyse von 1800 verschiedenen unmodifizierten Firmware-, Labor- +und Recovery-Images ergab sich folgende Verteilung: + +- zimage - gzip komprimiertes Kernel 2.4 für ADAM2 oder EVA - ca. 10,2% +- zlib - roher zlib Stream mit Kernel 2.6 für EVA - ca. 0,1% +- lzma - lzma Stream mit Kernel 2.4 oder 2.6 für EVA - ca. 89,5% + +EVA wurde also bereits unter Kernel 2.4 eingeführt. Von allen +untersuchten Kernel 2.4 Proben waren etwa 75% zimage komprimiert, der +Rest benötigt bereits EVA wegen lzma. Alle Kernel 2.6 Firmware benötigt +EVA. + +Mit den beiden Signaturen lassen sich ADAM2- und EVA-Kernels in +Recoveries finden. Durch Prüfen der 3 Kompressions-Signaturen können +Fehlfunde ausmaskiert werden. Wie beim SquashFS funktioniert dies bei +runlength encoded Recoveries (bisher sind 11 bekannt) nur mit ``bsdiff`` +generierten Binärpatches des extrahierten Datenmaterials. Interessant +ist, dass die Patches für das Kernel 3x grösser sind als die Patches für +das sehr viel umfangreichere SquashFS. Hier besteht offensichtlich noch +Forschungsbedarf. + +.. _Weblinks: + +Weblinks +-------- + +- `​Avalanche MTD Treiber, Kernel + 2.4 <http://gpl.back2roots.org/source/fritzbox/ALL_4.06/GPL-release_kernel/linux/drivers/mtd/maps/avalanche-flash.c>`__ diff --git a/wiki/help/howtos/development/freetz_make.rst b/wiki/help/howtos/development/freetz_make.rst new file mode 100644 index 0000000..39dca02 --- /dev/null +++ b/wiki/help/howtos/development/freetz_make.rst @@ -0,0 +1,771 @@ +help/howtos/development/freetz_make +=================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _FreetzBuild-Prozeß: + +Freetz Build-Prozeß +=================== + +.. _VorwortundMotivation: + +Vorwort und Motivation +---------------------- + +In den `HowTos <../../howtos.html>`__ gibt es einige wichtige +Informationen darüber, was man mit *Make*-Targets wie +`menuconfig <../common/install/menuconfig.html>`__, *toolchain*, +*precompiled*, *recover* usw. erreichen kann beim Bau einer +*Freetz*-Firmware. Trotzdem gibt es im Forum regelmäßig eine Menge +Fragen zum Build-Prozess - meistens, wenn der Prozess nicht durchläuft +und der betreffende Benutzer nicht weiß, woran das liegt. Der Grund ist +meistens, dass es sich um einen unerfahrenen Benutzer handelt, der mit +`​GNU make <http://www.gnu.org/software/make/>`__ keine Erfahrung hat, +weil er erstens nicht C/C++-Programmierer ist und/oder zweitens bereits +die Linux-Kommandozeile per se ein Buch mit sieben Siegeln für ihn ist. +Zumindest Ersteres trifft auf mich auch zu, und deshalb habe ich mich +mal oberflächlich eingelesen, um das ``Makefile`` von *Freetz* besser +(oder überhaupt) zu verstehen. Das Ergebnis meiner Arbeit dokumentiere +ich hier. + +Die Probleme der Hilfesuchenden im Forum hören nämlich nicht damit auf, +dass der Build manchmal hängen bleibt. Da viele Fragen aus Sicht der +Cracks "dumm" klingen, sich häufig wiederholen - nicht jeder ist +geschickt darin, die Suchfunktion des Forums oder Google zu benutzen, +manche sind auch einfach zu faul - und somit manchen Profis lästig sind, +fallen die Antworten entsprechend kurz aus, was wiederum zu Rückfragen +und mehr "Müll" im Forum führt. Wenn dann der Hilfesuchende die Ursache +des Problems beseitigt hat (Linux-Package nachinstalliert, richtige +Option in ``make menuconfig`` an-/abgewählt, Patch installiert), bekommt +er oftmals den Build trotzdem nicht mehr ans Laufen, weil die +Abhängigkeiten nicht hunderprozentig sauber gepflegt sind und er +zunächst nochmal ein *xy-clean* und/oder *xy-precompiled* aufrufen +müsste, ihm das aber keiner gesagt hat, weil es auch schwer +vorherzusehen ist. + +Der Traum vom perfekten ``Makefile``, das bei jeder Dateiänderung genau +das tut, was minimal zu tun wäre, um das aktuelle Target zu bauen, ist +grundsätzlich erreichbar, bei uns aber nicht realisiert. Obwohl man +sagen muss, daß der Freetz *Make*-Prozess schon relativ gut ist - nur +eben nicht idiotensicher. Das war wohl auch nicht das Ziel, denn ein +"Idiot" sollte keine Firmware für seinen DSL-Router bauen wollen. +Andererseits ist es aber auch gut für unsere Gemeinschaft, wenn neuen +Mitgliedern die Lernkurve etwas angenehmer gestaltet wird. Es ergibt +keinen Sinn, dass jeder das Rad neu erfindet und sich alles selbst +erarbeitet, nur weil andere das früher hatten tun müssen. + +.. _Grundsätzliches: + +Grundsätzliches +--------------- + +Basis dieser Dokumentation ist **Freetz-1.1.4**. Da es inzwischen neuere +Freetz-Versionen gibt wird an einige Stellen auf Abweichungen +hingewiesen. + +.. _Wastutmake: + +Was tut make? +~~~~~~~~~~~~~ + +Das würde hier wirklich den Rahmen sprengen, daher nur ein paar Links. +Sich einzulesen, lohnt sich - Bildung ist nie umsonst: + +- `​Wikipedia-Artikel zu Make <http://de.wikipedia.org/wiki/Make>`__ +- `​Eine Einführung in + Makefiles <http://www.ijon.de/comp/tutorials/makefile.html>`__ + (deutsch, kurz und knackig, leicht zu verstehen) +- `​Recursive Make Considered + Harmful <http://members.tip.net.au/~millerp/rmch/recu-make-cons-harm.html>`__ + (hochspannend für Fortgeschrittene und Philosophen, PDF zum + Herunterladen) +- `​Wikipedia-Artikel zu + Autoconf <http://de.wikipedia.org/wiki/GNU_autotools>`__ (nicht von + *Freetz* selbst verwendet, aber von diversen Paketen) + +.. _WorausbestehtFreetz: + +Woraus besteht Freetz? +~~~~~~~~~~~~~~~~~~~~~~ + +Die modifizierte Firmware wird zusammengebaut aus mehreren Komponenten: + +- **Original-Firmware**, bestehend aus Linux-Kernel und -Dateisystem. + Sie bildet die Basis und das Grundgerüst für den Mod. + Fälschlicherweise wird von vielen Einsteigern angenommen, die + Original-Firmware werde weggeworfen und komplett durch etwas + Selbstgebautes ersetzt. Dem ist nicht so. Viele wichtige Bestandteile + werden übernommen, wie sie sind und um neue Funktionen ergänzt bzw. + Einzelteile gezielt ausgetauscht. Wichtige Bestandteile der + Original-FW sind + + - **Kernel** (früher 2.4, aktuell 2.6). Für Daniels Mod konnte ein + 2.4er Kernel übernommen werden, für Freetz muß er durch einen + selbst gebauten 2.6er ersetzt werden. Nimmt man als Basis eine + Original-FW mit 2.6er Kernel, kann man diesen übernehmen oder + wahlweise ebenfalls ersetzen. + - **Dateisystem** mit Standard-UNIX-Tools und AVM-spezifischen + Werkzeugen (z.B. Web-Oberfläche). Wird (fast) unverändert + übernommen mit einer wichtigen Ausnahme (siehe nächster Punkt). + - **Busybox**: Sammlung der wichtigsten Kommandozeilenwerkzeuge, + optimiert für Embedded-Systeme und enthalten in einer einzigen + ausführbaren Datei. Die einzelnen Werkzeuge werden über + symbolische Links auf die + `​Busybox <http://de.wikipedia.org/wiki/Busybox>`__ als scheinbar + eigenständige Namen realisiert. + +**Freetz** selbst präsentiert sich nach dem Auspacken des entsprechenden +Archivs (z.B. ``freetz-1.1.4.tar.bz2``) entsprechend der folgenden +alphabetisch, nicht nach Wichtigkeit, sortierten Liste. (Die +Unterverzeichnisse ``build``, ``packages``, ``source`` werden erst beim +ersten *Make*-Lauf erzeugt.) + +- **Root-Verzeichnis**: Hier befinden sich einige Konfigurationsdateien + (später mehr dazu) sowie Change-Log, Firmwares und Read-Me. + Desweiteren gibt es diverse Unterverzeichnisse: + + - **addon**: Hierhin werden statische und (theoretisch) dynamische + Packages (bereits kompiliert) entpackt, die mit ins Dateisystem + der Firmware sollen und über den "Lieferumfang" des Standard-Mods + hinausgehen. + - **build**: Nach *build/original* wird das Original-Firmware-Image + entpackt. Die drei Einzelbestandteile liegen dann wiederum in den + Unterverzeichnissen *kernel* (Linux-Kernel), *filesystem* + (Root-Dateisystem) und *firmware* (im Firmware-Image auf oberster + Ebene enthaltene, zu dessen Installation notwendige Werkzeuge). + Diese Bestandteile werden, wie bereits erwähnt, verwebt mit den + generierten Bestandteilen (Kernel, Busybox, Packages, Sonstiges) + und in einer parallelen Verzeichnisstruktur *build/modified* + gespeichert. Von dort wiederum werden sie geholt, um letztendlich + das Firmware-Image mit *Tar* zusammenzupacken. + - **busybox**: Ablageort der neu gebauten Busybox für den Mod (ab + Freetz-1.2 unter + packages/target-mips(el)_uClbic-$(uClibc-Version)/busybox zu + finden) + - **dl**: `Downloads <../../../Download.html>`__ von Quell- und + Binärpaketen für Toolchain und Mod. Die Webinterfaces zu den + Paketen sind bis auf wenige Ausnahmen direkt im Mod enthalten, + andere Dateien werden während des Builds aus dem Internet mittels + *wget* nachgeladen. + - **favicon**: Hier liegen (momentan) zwei kleine Sätze von + Favicons, die man über ``make menuconfig`` auswählen kann, um das + Web-Interface von Freetz mit hübschen kleinen Icons im Browser zu + versehen (werden angezeigt in der Adreßzeile und bei den + Favoriten). + - **howtos**: ein paar deutsche und englische Kurzanleitungen zum + Bauen des Mods bzw. eigener Erweiterungen. + - **kernel**: Ablageort des neu gebauten Linux-Kernels und dessen + Modulen für den Mod + - **make**: Pro Package liegen hier die Include-Files und + Konfigurationsdaten für das "große" ``Makefile`` im + Wurzelverzeichnis, sowie die Startskripte, cgi-Dateien und + sonstige zum Paket gehörigen Files. Die Konfigurationsdaten + enthalten auch die Versionsnummern der nach *dl* + herunterzuladenden Pakete. + - **packages**: Hierhin werden die gebauten Packages abgelegt. In + einem Unterverzeichnis pro Paket (wie unter ``make``) liegen dann + die entsprechenden Binär- und Konfigurationsdaten, welche ins + Dateisystem eingewebt werden - zu bewundern unter + ``build/modified``, vgl. voriger Punkt. (ab Freetz-1.2 kommt unter + packages/ eine weitere Verzeichnis-Ebene hinzu; diese trennt nach + big oder little endian und uClibc-Version) + - **patches**: Patches, welche nach dem Entpacken in die Sourcen + eingearbeitet werden, je nachdem, welche Hardware und/oder + Konfigurationseinstellung man verwendet. + - **root**: Abbild des (Root-)Dateisystems der späteren Firmware. + Hier liegen Webseiten, Startskripte, Konfigurationsdaten usw.. Sie + werden beim Bauen der Firmware mit den Originaldaten und weiteren + erzeugten Dateien (z.B. Kernel, Busybox) zu einem kompletten Image + verwoben. + + - Freetz-1.2: Das Verzeichnis wurde nach make/mod/files/root + verschoben, um eine Vereinheitlichung zu erreichen. + + - **source**: Hierhin werden sämtliche Quelltexte für Toolchain, + AVM-GPL-Paket, Tools, Packages, Busybox und Kernel entpackt, um + anschließend die entsprechenden Build-Prozesse darüber laufen + lassen zu können. + + - Freetz-1.2: Um eine bessere Trennung zu erreichen und unnötige + *make dirclean*\ s zu vermeiden werden die Sourcen wie folgt + aufgetrennt: + + - **host-tools**: Hierin werden die Tools (busybox, + mksquashfs, fakeroot usw.) für den Host gebaut. + - **kernel**: Kernelsourcen + - **target-mips(el)_uClibc-$(uClibc-Version)**: Hier werden + die ausgewählten Pakete entpackt und gebaut. + - **toolchain-mips(el)_gcc-$(GCC-Version)_uClibc-$(uClibc-Version)**: + Toolchain Sourcen und Build. Enthält abhängig von der + menuconfig-Auswahl binutils, ccache, gcc, gdb, uClibc, + libtool. + + - **toolchain**: Nach dem Entpacken des Mods liegen hier die + *Makefile*-Includes für das Bauen der Toolchains. Eine Toolchain + i.a. ist eine Sammlung von Werkzeugen, welche notwendig sind, um + Software zu bauen und enthalten z.B. Compiler und Linker. In + unserem Fall gibt es zwei separate Toolchains für das Bauen des + Kernels zum einen (``gcc-3.4.6``) und der übrigen Targets zum + anderen (``gcc-4.2.1-uClibc-0.9.28/0.9.29``). In entsprechende + Unterverzeichnisse werden die Toolchains dann auch übersetzt. Das + Bauen der Toolchains ist optional, da es vorkompilierte Versionen + zum `Download <../../../Download.html>`__ gibt. Abhängig von der + Geschwindigkeit des Hosts kann der Toolchain Bau zwischen 20 - 60 + Minuten dauern. + + - Freetz-1.2: Die GCC-Versionen wurden auf einen aktuellen Stand + gebracht (gcc-4.4.6, gcc-4.5.3 und gcc-4.6.0). + + - **tools**: Hier liegen weitere Werkzeuge bzw. deren + ``Makefile``-Includes, welche zum Bauen der Firmware-Images bzw. + für ``make recover`` notwendig sind. Mit den Werkzeugen werden + z.B. die Original-Firmwares entpackt (SquashFS-Dateisystem) und + die späteren Mod-Images nach dem Einweben aller Bestandteile + wieder zusammen geschnürt. Eine ältere tar-Version (15.1), die mit + den in den Original-Firmwares enthaltenen Entpackern kompatible + Firmware-Archive erzeugt, gehört neben anderen Helferlein + ebenfalls dazu. + + - Freetz-1.2: Das tar-Paket wird nicht mehr als Tool gebaut. Es + wird abhängig von der Aufgabe das Host-tar oder busybox-tar + verwendet. + +.. _AblaufdesBuild-Prozesses: + +Ablauf des Build-Prozesses +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Es dürfte allgemein bekannt sein, daß die drei wichtigsten Make-Targets +- in dieser Reihenfolge aufzurufen - lauten: + +- ``make menuconfig`` - interaktiv Pakete zusammenstellen, zusätzliche + Bibliotheken auswählen, Konfiguration speichern +- ``make`` - Tools bauen, Toolchains bauen (sofern kein externer + Compiler ausgewählt wurde), danach Bibliotheken, Linux-Kernel und + Packages bauen, abschließen Firmware bauen. + +Daneben gibt es eine beträchtliche Anzahl weiterer +`Make-Targets <../../../FAQ.html#Wasbedeutendieeinzelnenmake-targetsz.B.dircleandistcleanconfig-clean-depsetc.>`__, +die teilweise nicht direkt im Makefile sichtbar sind, sondern durch +automatisierte Ersetzungsvorgänge erzeugt werden. Das hat den Vorteil, +daß es z.B. pro Package jeweils die gleichen Sub-Targets gibt und man +somit immer die Möglichkeit hat, durch einen *Make*-Aufruf direkt +Einfluß auf einzelne Pakete zu nehmen (z.B. aufräumen, nochmal neu +übersetzen). Wenn also ``make precompiled`` beispielsweise im Paket +`mc <../../../packages/mc.html>`__ hängen geblieben ist, weil ein zum +Bauen notwendiges Linux-Paket in unserer Distribution gefehlt hat, das +wir erst noch per Paketmanager installieren mussten, kann es sein, dass +ein erneuter Aufruf des globalen *precompiled* anschließend trotzdem +nicht durchläuft, weil es Inkonsistenzen im Package-Build gibt. Da hilft +dann meistens eine Sequenz wie ``make <Paket>-clean``, +``make <Paket>-precompiled``, also z.B. *mc-clean* und *mc-precompiled*. +Wie die Pakete heißen, sieht man an den Namen der Unterverzeichnisse im +Verzeichnis ``make``. + +.. _Include-Kette: + +Include-Kette +~~~~~~~~~~~~~ + +Es gibt generell zwei Arten, *Make* für hierarchisch strukturierte +Builds zu benutzen. Die eine, althergebrachte, geht von einem +``Makefile`` im Hauptverzeichnis und jeweils einem weiteren ``Makefile`` +pro Unterverzeichnis aus. Daß dies keine gute Idee ist, wird in +`​Recursive Make Considered +Harmful <http://members.tip.net.au/~millerp/rmch/recu-make-cons-harm.html>`__ +überzeugend dargelegt. Die gute Nachricht ist: Freetz verwendet die +zweite Methode, und zwar Include-Dateien in den Unterverzeichnissen. +D.h., das ``Makefile`` lädt die für das aktuelle Target notwendigen +Includes dynamisch nach und erzeugt so ein einziges, großes, virtuelles +``Makefile``, welches dann abgearbeitet wird. Das ist schön, führt aber +dazu, daß wir im ``Makefile`` sehen, wie Dinge aufgerufen und +abgearbeitet werden, deren Herkunft nicht ganz so leicht festzustellen +ist, wenn man sich nicht im Detail die Verzeichnisstruktur ansieht. Ich +versuche hier, das ein wenig transparenter zu machen. + +- Zunächst inkludiert das ``Makefile`` die Konfigurationsdatei + ``.config`` im Hauptverzeichnis. Sie wiederum enthält die in + ``make menuconfig`` festgelegten Optionen für die Zusammenstellung + des Firmware-Images. Damit wird schon klar, weshalb wir + ``make menuconfig`` immer als erstes aufrufen sollten. Die Datei + existiert übrigens direkt nach dem Auspacken des Mod-Archivs auch + noch gar nicht. Ausnahme für den Include: Sofern wir nur Targets aus + der Gruppe *menuconfig, config, oldconfig, defconfig, tools* bauen + wollen, erfolgt kein Include an dieser Stelle, da diese Targets ihn + nicht benötigen. +- Etwas später erfolgt das Inkludieren von ``tools/make/Makefile.in`` + sowie ``tools/make/*.mk``, was dazu führt, daß die einzelnen + Tool-Targets (*find-squashfs, lzma, squashfs, tichksum, makedevs, + fakeroot*) der Variablen *TOOLS* hinzugefügt werden. Anschließend + wird pro Tool-Target noch eine Liste von Sub-Targets erzeugt: + + - **<tool>**: Baut das Tool. + - **<tool>-source**: Packt die Quelldateien aus, damit anschließend + das Tool gebaut werden kann. + - **<tool>-clean**: Ruft im Tool-Unterverzeichnis das eigene + ``Makefile`` des Tools mit ``make clean`` auf. Das Target *clean* + löscht meistens sämtliche generierten Dateien und Verzeichnisse, + um anschließend sauber neu aufsetzen zu können. + - **<tool>-dirclean**: Löscht das gesamte Tool-Unterverzeichnis. Das + ist praktisch, wenn man eine neuere Version auspacken und die alte + vorher komplett wegräumen möchte. + - **<tool>-distclean**: Löscht im Tool-Unterverzeichnis das + Distributions-Verzeichnis, in dem die gebauten Dateien + installationsfertig liegen. + +- Jetzt ist ``.config.cmd`` dran. Dadurch werden rekursiv + Konfigurations-Schalter diverser Pakete eingelesen, die später dem + Build zur Verfügung stehen. +- Richtig rund geht es jetzt, denn include ``make/Makefile.in``, + ``make/*/Makefile.in``, ``toolchain/make/Makefile.in`` und die + entsprechenden **\*.mk**-Dateien sorgen für noch mehr Informationen + im virtuellen ``Makefile``. Anschließend haben wir, analog zu den + Tools oben, folgende Targets zur Verfügung, die sich in die Gruppen + *TARGETS, PACKAGES, LIBS, TOOLCHAIN* aufteilen: + + - **<target>-precompiled**: Baut ein Target, das nicht zu einem + Package, zur Gruppe der Bibliothekten-Targets oder zur Toolchain + gehört. Darunter fallen z.B. der Linux-Kernel, der CGI-Mod + (Web-Oberfläche von Freetz), die Busybox, das CGI-Tool Haserl + (momentan kein Package), iptables sowie die AVM-GPL-Quellen. + + - Freetz-1.2: Zu den Targets zählen nur noch der Kernel sowie die + Busybox. + + - **<target>-source**: Packt die Quelldateien aus, damit + anschließend das Target gebaut werden kann. + - **<target>-clean**: Ruft im Target-Unterverzeichnis das eigene + ``Makefile`` des Targets mit ``make clean`` auf. Das Target + *clean* löscht meistens sämtliche generierten Dateien und + Verzeichnisse, um anschließend sauber neu aufsetzen zu können. + - **<target>-dirclean**: Löscht das gesamte Target-Unterverzeichnis. + Das ist praktisch, wenn man eine neuere Version auspacken und die + alte vorher komplett wegräumen möchte. + - **<package>-precompiled**: Baut ein Package. + - **<package>-source**: Packt die Quelldateien aus, damit + anschließend das Package gebaut werden kann. + - **<package>-clean**: Ruft im Package-Unterverzeichnis das eigene + ``Makefile`` des Packages mit ``make clean`` auf. Das Target + *clean* löscht meistens sämtliche generierten Dateien und + Verzeichnisse, um anschließend sauber neu aufsetzen zu können. + - **<package>-dirclean**: Löscht das gesamte + Package-Unterverzeichnis. Das ist praktisch, wenn man eine neuere + Version auspacken und die alte vorher komplett wegräumen möchte. + - **<package>-list**: Fügt das Package entweder der Liste der + statischen oder der dynamischen Pakete hinzu. + - **<lib>-precompiled**: Baut eine Bibliothek, z.B. ncurses, + libgcrypt, openSSL. + - **<lib>-source**: Packt die Quelldateien aus, damit anschließend + die Bibliothek gebaut werden kann. + - **<lib>-clean**: Ruft im Bibliotheks-Unterverzeichnis das eigene + ``Makefile`` der Bibliothek mit ``make clean`` auf. Das Target + *clean* löscht meistens sämtliche generierten Dateien und + Verzeichnisse, um anschließend sauber neu aufsetzen zu können. + - **<lib>-dirclean**: Löscht das gesamte + Bibliotheks-Unterverzeichnis. Das ist praktisch, wenn man eine + neuere Version auspacken und die alte vorher komplett wegräumen + möchte. + - **<toolchain>**: Baut die Toolchains (Kernel- und + Target-Toolchain). + - **<toolchain>-source**: Packt die Quelldateien aus, damit + anschließend die Toolchain gebaut werden kann. + - **<toolchain>-clean**: Ruft im Toolchain-Unterverzeichnis das + eigene ``Makefile`` der Toolchain mit ``make clean`` auf. Das + Target *clean* löscht meistens sämtliche generierten Dateien und + Verzeichnisse, um anschließend sauber neu aufsetzen zu können. + - **<toolchain>-dirclean**: Löscht das gesamte + Toolchain-Unterverzeichnis. Das ist praktisch, wenn man eine + neuere Version auspacken und die alte vorher komplett wegräumen + möchte. + - **<toolchain>-distclean**: Löscht im Toolchain-Unterverzeichnis + das Distributions-Verzeichnis. + +- Im vorigen Schritt kamen noch zwei weitere Targets hinzu, die es + ermöglichen, zwei zentrale Teile der Firmware noch individueller zu + gestalten: + + - **kernel-menuconfig**: Auch der Linux-Kernel hat eine hübsche + Konfigurationsoberfläche, in der man allerhand einstellen kann. + Ich halte es persönlich für wenig empfehlenswert, hier etwas zu + ändern - es sei denn, man kennt sich wirklich gut damit aus. Es + wird sehr schwierig, im Forum Hilfe zu finden, wenn man einen + anders konfigurierten Kernel hat als der Rest der Welt. + - **busybox-menuconfig**: Auch die Busybox kann man an diversen + Stellen um Features ergänzen auf Kosten ihrer Größe. Die Besitzer + der 8-MB-Boxen (z.B. 7170) haben in der Regel noch genug Platz, um + hier das eine oder andere Feature hinzuzufügen. Hier empfehle ich, + nichts wegzulassen, was standardmäßig enthalten ist, damit auch + wieder die Vergleichbarkeit bei Diskussionen im Forum da ist. Es + bringt nichts, das *Gunzip*-Feature in *Tar* zu deaktivieren und + hinterher dann im Forum zu fragen, weshalb ein *Gzip*-Archiv nicht + entpackt werden konnte. Hingegen stört es wenig, wenn man + zusätzlich *Bunzip2* aktiviert, weil es ja nur ein Zusatz ohne + Seiteneffekte (nach menschlichem Ermessen) ist. + +.. _SonstigeMake-Targets: + +Sonstige Make-Targets +~~~~~~~~~~~~~~~~~~~~~ + +Direkt im Top-Level-\ ``Makefile``, also nicht inkludiert, sind weitere +Targets enthalten. + +- Teilweise handelt es sich um **Hilfs-Targets**, welche man selten + manuell aufrufen wird, weil sie hauptsächlich zur Verwendung seitens + übergeordneter Targets gedacht sind. Beispiele hierfür sind *config, + oldconfig, defconfig*. +- Desweiteren gibt es das Utility-Target **recover**, mit welchem man + eine zerschossene Box wiederbeleben kann (Details würden den Rahmen + des Artikels sprengen). +- Dann gibt es noch **Sammel-Targets** wie *sources, precompiled, libs, + packages-precompiled*, welche eine ganze Gruppe ähnlich lautender + oder dem Zweck nach verwandter Sub-Targets aufrufen. +- Wenn man nur eine Firmware zusammenbauen möchte und alle dafür + notwendigen Vorarbeiten (Toolchains bauen, ``make precompiled``) + bereits erledigt sind, kann man das Target **firmware** benutzen. Es + baut bei Bedarf noch die Tools (nicht mit den Toolchains zu + verwechseln) und macht sich dann ans Werk. Am Ende hat man ein + Firmware-Image im images-Verzeichnis mit dem Namen *\*.image*. Das + Target wird implizit aufgerufen, wenn mann einfach ``make`` aufruft, + also das Default-Target baut. Übrigens erledigt das Skript ``fwmod`` + im Wurzelverzeichnis die ganze Arbeit des Firmware-Bauens. Es ist + sicher interessant, sich dieses Skript mal im Detail anzusehen, wenn + man wissen möchte, was da so alles passiert. + +So, ich hoffe, dieser Artikel bringt dem einen oder anderen Modder +etwas. Diskussionen, Feedback, Korrekturen hierzu sind wie immer +willkommen und können im zugehörigen +`​Forums-Thread <http://www.ip-phone-forum.de/showthread.php?t=129115>`__ +eingebracht werden. + +| `​Alexander Kriegisch + (kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ +| Überarbeitet von Oliver Metz diff --git a/wiki/help/howtos/development/install_addon.rst b/wiki/help/howtos/development/install_addon.rst new file mode 100644 index 0000000..0a1d7cc --- /dev/null +++ b/wiki/help/howtos/development/install_addon.rst @@ -0,0 +1,359 @@ +help/howtos/development/install_addon +===================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _AddonPaketinstallieren: + +Addon Paket installieren +======================== + +Pakete, die noch nicht in Freetz integriert sind, können als sogenanntes +*Addon Paket* installiert werden. Dazu das gewünschte Paket **vor** dem +Erstellen des Image herunterladen und nach ``./addon`` entpacken. +Folgendes Beispiel geht davon aus, dass man sich im Verzeichnis des +entpackten Freetz befindet: + +.. code:: wiki + + tar -C addon -xjvf /pfad/zu/addon-paket-0.1-freetz.tar.bz2 + +Danach muss das Paket in der Liste ``./addon/static.pkg`` in eine neue +Zeile eingetragen werden (im obigen Beispiel: ``addon-paket-0.1``). +Addon Pakete werden nach den integrierten Paketen in der Reihenfolge des +Auftretens in ``./addon/static.pkg`` gestartet. Falls es sich bei dem +Addon Paket um eine andere Version eines bereits integrierten Pakets +handelt, so sollte das ursprüngliche Paket in ``make menuconfig`` unter +*Package selection* deaktiviert werden, um Versionskonflikte zu +vermeiden. + +- Tags +- `addons </tags/addons>`__ +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/development/integrate_own_files.rst b/wiki/help/howtos/development/integrate_own_files.rst new file mode 100644 index 0000000..cd53eb0 --- /dev/null +++ b/wiki/help/howtos/development/integrate_own_files.rst @@ -0,0 +1,594 @@ +help/howtos/development/integrate_own_files +=========================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _EigeneDateienindieFirmwareintegrieren: + +Eigene Dateien in die Firmware integrieren +========================================== + +Die Fritzbox besitzt zwei Speicherbereiche: + +#. den `Flash <flash.html>`__ +#. den Arbeitsspeicher (RAM) + +Um im laufenden Betrieb Dateien anzulegen und zu verändern, lässt sich +das Verzeichnis ``/tmp`` nutzen. Es liegt im Arbeitsspeicher in einer +RAM-Disk und arbeitet wie ein normales beschreibbares Dateisystem. +Folgende Dinge sind jedoch zu beachten: + +- Es nutzt den vorhandenen Arbeitsspeicher mit, der je nach Box bis zu + 64MB gross ist. Wird die Menge der Daten im Arbeitsspeicher zu groß, + startet die Box ohne Vorwarnung neu. +- Alles, was im Arbeitsspeicher liegt, ist nach einem Reboot oder + Stromausfall verloren. + +Für die "feste Integration" gibt es mehrere Möglichkeiten: + ++-----------------------+-----------------------+-----------------------+ +| Variante | Pros | Contras | ++=======================+=======================+=======================+ +| via Freetz Image | - einfaches Handling | - die modifizierte | +| | - keine bestehende | Firmware muss | +| | Internetverbindung | geflasht werden | +| | erforderlich | - der Flash-Speicher | +| | | ist kleiner als | +| | | das RAM und oft eh | +| | | schon fast voll | ++-----------------------+-----------------------+-----------------------+ +| via ``debug.cfg`` | - funktioniert auf | - funktioniert nur | +| | jeder Box | mit ASCII-Dateien, | +| | - keine bestehende | wie z.B. mit | +| | Internetverbindung | Skripten oder | +| | erforderlich | Konfigurationsdate | +| | | ien | +| | | - werden Änderungen | +| | | an diesen Dateien | +| | | vorgenommen, | +| | | müssen diese auch | +| | | wieder in die | +| | | debug.cfg | +| | | übernommen werden | ++-----------------------+-----------------------+-----------------------+ +| Nachladen von | - funktioniert mit | - bestehende | +| Webserver | allen Dateien, | Internetverbindung | +| | auch mit binären. | oder laufender | +| | Notwendig z.B. für | interner Webserver | +| | nachgeladene | erforderlich | +| | Programme wie z.B. | - private Dateien | +| | bFTP, | wie z.B. secret | +| | dropbear(SSH) oder | keys für SSH oder | +| | OpenVPN, | VPN dürfen | +| | - funktioniert auf | keinesfalls im Web | +| | jeder Box | abgelegt werden! | +| | - Umgeht die | Wer dies tut, kann | +| | Probleme des | sich | +| | knappen | Verschlüsselung | +| | Flash-Speichers | gleich sparen. | +| | - Änderungen lassen | | +| | sich leicht am | | +| | Rechner mit dem | | +| | eigenen Editor | | +| | (z.B. TextPad) | | +| | vornehmen | | +| | (Achtung: Auf | | +| | UNIX-Formatierung | | +| | achten!) und dann | | +| | auf den Webspace | | +| | hochladen. | | +| | - wer mehrere | | +| | Fritz!Boxen oder | | +| | Router hat, kann | | +| | so auf einmal die | | +| | Konfiguration für | | +| | alle gleichzeitig | | +| | anpassen | | ++-----------------------+-----------------------+-----------------------+ +| Nachladen vom USB | - funktioniert mit | - funktioniert nur | +| Stick | allen Dateien, | bei vorhendenem | +| | auch mit binären. | USB Slot mit einem | +| | Notwendig z.B. für | USB Stick (bzw. | +| | nachgeladene | anderem USB | +| | Programme wie z.B. | Speichermedium) | +| | bFTP, | - Die USB devices | +| | dropbear(SSH) oder | werden, je nach | +| | OpenVPN, | Firmware, leider | +| | - Umgeht die | unter | +| | Probleme des | verschiedenen | +| | knappen | Namen eingebunden, | +| | Flash-Speichers | sodaß in der | +| | - Änderungen lassen | debug.cfg darau | +| | sich leicht am | eingegangen werden | +| | Rechner mit dem | muß. | +| | eigenen Editor | | +| | (z.B. Notepadplus) | | +| | vornehmen | | ++-----------------------+-----------------------+-----------------------+ +| WebDAV- bzw. NFS- | - RAM wird nicht mit | - bestehende | +| Share mounten | lokalen Kopien von | Internetverbindung | +| | Dateien gefüllt | und WebDAV-Server | +| | (abgesehen von der | (z.B. GMX/1&1 | +| | Ausführung) | MediaCenter) | +| | - funktioniert mit | erforderlich | +| | allen Dateien, | - private Dateien | +| | auch mit binären | wie z.B. secret | +| | - funktioniert auf | keys für SSH oder | +| | jeder Box | VPN dürfen | +| | - umgeht die | keinesfalls im Web | +| | Probleme des | abgelegt werden! | +| | knappen | Wer dies tut, kann | +| | Flash-Speichers | sich | +| | - sehr komfortabel, | Verschlüsselung | +| | da kein Nachladen | gleich sparen. | +| | per debug.cfg | | +| | nötig ist | | +| | - Änderungen lassen | | +| | sich leicht am | | +| | Rechner mit dem | | +| | eigenen Editor | | +| | (z.B. TextPad) | | +| | vornehmen | | +| | (Achtung: Auf | | +| | UNIX-Formatierung | | +| | achten!) und dann | | +| | auf den | | +| | WebDAV-Share | | +| | hochladen. | | +| | - wer mehrere | | +| | Fritz!Boxen oder | | +| | Router hat, kann | | +| | so auf einmal die | | +| | Konfiguration für | | +| | alle gleichzeitig | | +| | anpassen | | ++-----------------------+-----------------------+-----------------------+ + +Die "perfekte Lösung" gibt es natürlich nicht. Je nach Anwendungsfall +werden die Möglichkeiten kombiniert. + +.. _FesteIntegrationüberdasFreetzImage: + +Feste Integration über das Freetz Image +--------------------------------------- + +- Freetz-1.1.x: Die Datei kann unter ``./root`` an die gewünschte + Stelle kopiert werden. +- Ab Freetz-1.2: Dies kann ohne großen Aufwand über das Beispiel Addon + ``own-files-0.1`` realisiert werden. Einfach das Kommentarzeichen vor + ``own-files-0.1`` in addon/static.pkg entfernen und die gewünschten + Dateien in das Verzeichnis ``./addon/own-files-0.1/root/`` an die + Stelle kopieren, an der sie im root Dateisystem der Box landen + sollen. + Beispiel: eine Datei ``./addon/own-files-0.1/root/usr/bin/foo`` wird + auf der Box in ``/usr/bin/foo`` landen. + +.. + + Dateien und Verzeichnisse, die unterhalb von ``/var`` liegen sollen + können nach ``./addon/own-files-0.1/var.tar`` kopiert werden. + Änderungen an diesen Dateien gehen bei jedem Reboot verloren. + +.. _ErzeugenderDateienausderdebug.cfg: + +Erzeugen der Dateien aus der debug.cfg +-------------------------------------- + +Beim Booten werden die gewünschten Dateien im Verzeichnis ``/tmp`` neu +erstellt. Dazu wird das Script ``debug.cfg`` missbraucht, das beim +Starten der FritzBox automatisch ausgeführt wird. Da die ``debug.cfg`` +selbst im beschreibbaren TFFS des Flash (mtd3/4) liegt, gehen ihre +Inhalte beim Reboot nicht verloren. + +Beispiel: + +Der Code wird einfach in die ``debug.cfg`` eingefügt. Am einfachsten +geht es mit Putty: + +- Code in Zwischenablage kopieren +- mit der Box via telnet / SSH verbinden +- nvi /var/flash/debug.cfg +- mit *: set paste RETURN* in den Einfügen/Paste Modus wechseln +- an der passenden stelle "i" für insert drücken +- rechte Maustaste auf Putty fügt den Text ein +- nacheinander *ESC ESC : w q RETURN* drücken (Abbrechen wäre: *ESC ESC + : q ! RETURN*) +- Neustarten + +Hier wird ein Skript erzeugt, das sich mit ``/var/tmp/checkonline.sh`` +aufrufen lässt. Es zeigt an, welcher der neun Rechner im FB-LAN online +ist. Wichtig ist, daß der "Endmarker" (hier 'ENDCHECK') **nicht +eingerückt** ist. Die letzte Zeile macht das Script ausführbar. Abbruch +mit STRG+C. + +:: + + cat > /var/tmp/checkonline.sh << 'ENDCHECK' + #!/bin/sh + + while [ 1 = 1 ] + do + clear + echo Online: + date + echo ------------------------------------------------ + for a in "2 Desktop1" "3 Michael" "20 Christina" "21 -" "22 -" "23 -" "24 -" "25 -" "26 -" "27 -" "28 -" "29 -" "45 FB WLAN SL(WDS)" + + do + ping -c 1 192.168.178.$a |grep "bytes from ">/dev/null && echo 192.168.178.$a & + done + sleep 1 + echo ------------------------------------------------ + sleep 9 + done + + ENDCHECK + chmod +x /var/tmp/checkonline.sh + +.. _NachladenvomWebserver: + +Nachladen vom Webserver +----------------------- + +Beim Booten werden alle gewünschten Dateinen aus dem Internet oder von +einem Webserver im Intranet auf die Box geladen. + +.. _NachladenvomUSB-Stick: + +Nachladen vom USB-Stick +----------------------- + +Beim Booten werden alle gewünschten Dateinen direkt vom USB Stick bzw. +via FTP vom internen FTP Server auf die Box geladen. + +.. _WebDAVSharemounten: + +WebDAV Share mounten +-------------------- + +Für `Freetz <../../../index.html>`__ gibt es das Paket +`WebDAV <../../../packages/davfs2.html>`__, über das man einen +WebDAV-Share direkt mounten kann. Als Konsequenz werden alle +Remote-Dateien so behandelt, als wären sie lokal vorhanden, und zwar +ohne gesondertes Nachladen. + +.. _NFS-Sharemounten: + +NFS-Share mounten +----------------- + +Mit dem `NFS Paket <../../../packages/nfs.html>`__ lässt sich gleiches +erreichen wie mit WebDAV (s.o.), nur etwas stabiler |:)| + +- Tags +- `howtos </tags/howtos>`__ + +.. |:)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/help/howtos/development/integrate_patches.rst b/wiki/help/howtos/development/integrate_patches.rst new file mode 100644 index 0000000..be6ff95 --- /dev/null +++ b/wiki/help/howtos/development/integrate_patches.rst @@ -0,0 +1,362 @@ +help/howtos/development/integrate_patches +========================================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _PatchesinFreetzeinspielen: + +Patches in Freetz einspielen +============================ + +|/!\\| Hinweis: Wenn ihr Freetz aus dem svn (trunk oder stable branch) +ausgecheckt habt, dann erhaltet ihr die neuesten Patches durch +``svn up``. + +Bei dringenden oder kleinen Änderungen / Neuerungen werden passend zum +letzten Release so genannte Patches angeboten. Diese Patches haben einen +Dateinamen ähnlich diesem: freetz\ *-version-patch-name*.patch.bz2. Der +Patch muss **nach** dem Entpacken des zugehörigen Freetz +freetz\ *version*.tar.bz2 und **vor** dem Erstellen des Image +eingespielt werden. Folgende Anleitung geht davon aus, dass beide +Dateien im aktuellen Verzeichnis liegen: + +#. *Falls noch nicht geschehen*: Freetz entpacken + ``tar -xvjf freetz-version.tar.bz2`` +#. Patch entpacken ``bunzip2 freetz-version-patch-name.patch.bz2`` +#. Patch anwenden ``patch -p0 < freetz-version-patch-name.patch`` + +Nun ist der Patch in den entpackten Freetz eingespielt und man kann mit +dem Erstellen des Image fortfahren. + +- Tags +- `howtos </tags/howtos>`__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/development/make_busybox.rst b/wiki/help/howtos/development/make_busybox.rst new file mode 100644 index 0000000..792917b --- /dev/null +++ b/wiki/help/howtos/development/make_busybox.rst @@ -0,0 +1,360 @@ +help/howtos/development/make_busybox +==================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _Busyboxkonfigurierenundkompilieren: + +Busybox konfigurieren und kompilieren +===================================== + +Vorraussetzung ist eine Toolchain (siehe `Cross-Compiler / Toolchain +erstellen <create_cross-compiler_toolchain.html>`__). Sollten jemals +Probleme mit nicht vorhandenen Verzeichnissen auftauchen, so kann ein +``make world`` Abhilfe schaffen. In der Regel sollte das aber nicht +nötig sein. + +#. Der Boxtyp (Type) sollte richtig in der Freetz Konfiguration (make + menuconfig)gewählt sein, da nur die Busybox für die entsprechende Box + kompiliert wird +#. ``make busybox-dirclean`` Löscht die aktuell entpackten Sourcen der + Busybox (wir werden von komplett sauberen Busybox Sourcen + kompilieren; wer das nicht will, kann es mit ``make busybox-clean`` + versuchen) +#. ``make busybox-menuconfig`` Die Konfiguration der Busybox wird danach + wieder nach ``./make/busybox/Config.<target-ref>`` zurückgespeichert +#. ``make busybox-precompiled`` Dies kompiliert die Busybox und + aktualisiert: + + - ``./busybox/busybox-<target-ref>`` + - ``./busybox/busybox-<target-ref>.links`` + +- Tags +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/development/make_kernel.rst b/wiki/help/howtos/development/make_kernel.rst new file mode 100644 index 0000000..0a8fcf8 --- /dev/null +++ b/wiki/help/howtos/development/make_kernel.rst @@ -0,0 +1,359 @@ +help/howtos/development/make_kernel +=================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _Kernelkonfigurierenundkompilieren: + +Kernel konfigurieren und kompilieren +==================================== + +Vorraussetzung ist eine Toolchain (siehe `Cross-Compiler / Toolchain +erstellen <create_cross-compiler_toolchain.html>`__). Sollten jemals +Probleme mit nicht vorhandenen Verzeichnissen auftauchen, so kann ein +``make world`` Abhilfe schaffen. In der Regel sollte das aber nicht +nötig sein. + +#. Der Boxtyp (Type) sollte richtig gewählt sein, da nur der Kernel für + die entsprechende Box kompiliert wird +#. ``make kernel-dirclean`` Löscht den aktuell entpackten Source Tree + des Kernels (wir werden von komplett sauberen Kernel Sourcen + kompilieren; wer das nicht will, kann es mit ``make kernel-clean`` + versuchen) +#. ``make kernel-menuconfig`` Die Konfiguration des Kernels wird danach + wieder nach ``./make/linux/Config.<kernel-ref>`` zurückgespeichert +#. ``make kernel-precompiled`` Nun werden der Kernel und die Kernel + Module kompiliert: + + - ``./kernel/kernel-<kernel-ref>.bin`` + - ``./kernel/modules-<kernel-ref>/`` + +- Tags +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/development/make_room.rst b/wiki/help/howtos/development/make_room.rst new file mode 100644 index 0000000..5cd9439 --- /dev/null +++ b/wiki/help/howtos/development/make_room.rst @@ -0,0 +1,798 @@ +help/howtos/development/make_room +================================= +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _PlatzsparenimDateisystemderFritzBox: + +Platz sparen im Dateisystem der FritzBox +======================================== + +.. _VorwortundMotivation: + +Vorwort und Motivation +---------------------- + +Dass der Speicherplatz im Dateisystem der FritzBox - insbesondere bei +den heute noch verbreiteten "kleinen" Routern wie der 5050 oder der 7050 +- begrenzt ist, dürfte jedem Modder klar sein, der schon einmal +entsprechende Fehlermeldungen von ``fwmod`` während des Zusammenbauens +der Firmware (FW) gesehen hat und daraufhin anfangen mußte zu überlegen, +welche Freetz-Pakete er weglässt. Diskutiert wird über dieses Problem +bspw. im IPPF-Thread `​7050 zu eng: DS-Mod-Teile manuell auf externe +Platte +auslagern <http://www.ip-phone-forum.de/showthread.php?t=132936>`__, +aber auch woanders. + +Ohne ein hier ein fertiges "Abspeck-Werkzeug" präsentieren zu wollen, +möchte ich an dieser Stelle einfach mal übersichtshalber zusammenfassen, +welche Mittel und Wege mir derzeit einfallen würden, wenn ich Platz +sparen müsste auf meiner Box. Es geht darum, Hilfe zur Selbsthilfe zu +leisten und ein paar Gedanken mit auf den Weg zu geben, um es jedem zu +ermöglichen, die ihm am erfolgversprechendsten erscheinenden Wege weiter +zu verfolgen. Weder erhebt diese kleine Übersicht Anspruch auf +Vollständigkeit noch auf absolute Korrektheit oder Praxiserprobtheit. +Mit meiner 7170 habe ich momentan keine Platzprobleme, da ich auch nicht +der Typ bin, der "alles" auf seiner Box laufen haben möchte - übrigens +schon der erste und mit effektivste Weg zum Sparen: nicht übertriebene, +aber angemessene Bescheidenheit und Konzentration aufs Notwendige. + +.. _Bestandsaufnahme:WosteckendiePlatzfresser: + +Bestandsaufnahme: Wo stecken die Platzfresser? +---------------------------------------------- + +Bevor wir darüber nachdenken, an welchen Ecken wir sparen können, +sollten wir uns zunächst einen Überblick darüber verschaffen, wo am +meisten Platz verbraucht wird. Im zweiten Schritt unterscheiden wir dann +zwischen notwendigen und überflüssigen Platzfressern, im Folgenden PFs +genannt. Schließlich gehen wir nach dem +`​Pareto-Prinzip <http://de.wikipedia.org/wiki/Pareto-Verteilung#Pareto-Prinzip>`__ +vor, um mit überschaubarem Aufwand einen möglichst hohen Effekt zu +erzielen. + +.. _Schritt1:UntersuchungOriginal-Firmware: + +Schritt 1: Untersuchung Original-Firmware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Welche Dateien verbrauchen am meisten Platz in der Original-Firmware? +Dazu schauen wir uns am einfachsten nach einem ``make`` das Verzeichnis +an, in welchem die entpackten Firmware-Dateien abgelegt sind: +``build/original/filesystem``. Mit folgendem Befehl durchsuchen wir das +Verzeichnis nach Dateien (``find -type f``) und übergeben all diese +Dateien dem ``ls``-Befehl, um diesen dazu veranlassen, sie nach ihrer +Größe absteigend zu sortieren. Als Beispiel diene hier die AVM-FW +29.04.29 für die Box vom Typ 7170. (Der Übersicht halber lasse ich +unwichtige Spalten der Ergebnisliste weg.) + +.. code:: wiki + + $ cd build/original/filesystem + $ find . -type f | xargs ls -lSR | more + + 1291372 lib/libcrypto.so.0.9.8 + 858208 lib/modules/2.6.13.1-ohio/kernel/drivers/isdn/isdn_fon4/zzz/isdn_fbox.ko + 730844 lib/modules/2.6.13.1-ohio/kernel/drivers/dsld/kdsldmod.ko + 551944 usr/bin/telefon + 473772 lib/modules/2.6.13.1-ohio/kernel/drivers/net/wireless/avm_wlan/wlan/tiap.ko + 425652 lib/libuClibc-0.9.28.so + 416632 bin/busybox + 314836 lib/libavmcsock.so.2.0.0 + 303784 lib/modules/microvoip-dsl.bin + 283853 lib/modules/microvoip_isdn_top.bit1 + 274704 usr/bin/ctlmgr + 274352 lib/libsiplib.so.2.0.0 + 259052 lib/libssl.so.0.9.8 + 252344 usr/share/ctlmgr/libtr069.so + 234684 usr/share/ctlmgr/libfon.so + 212468 lib/modules/microvoip_isdn_top.bit + 212432 sbin/dsld + 202684 lib/libmscodex.so.2.0.0 + 167180 sbin/fsck.ext2 + 163360 sbin/multid + 158332 lib/modules/2.6.13.1-ohio/kernel/drivers/usb/core/usbcore.ko + 154224 usr/bin/wpa_authenticator + 142624 lib/modules/2.6.13.1-ohio/kernel/drivers/atm/avm_atm/tiatm.ko + 142104 lib/libosipparser2.so.4.0.0 + 134308 lib/modules/2.6.13.1-ohio/kernel/drivers/scsi/scsi_mod.ko + 132296 lib/libar7cfg.so.1.0.0 + 117056 lib/libm-0.9.28.so + 116804 bin/voipd + 106192 lib/modules/fw_dcrhp_1150_ap.bin + 102712 usr/lib/libext2fs.so.2.4 + 102472 sbin/fdisk + +Jetzt kann man anfangen zu überlegen, was wohl verzichtbar wäre. Eine +Busybox oder den DSL-Daemon wegzulassen, ergibt keinen Sinn - eher +schon, bei der Busybox auf unnötige Applets zu verzichten. Mancher mag +sich überlegen, dass er die WLAN-Bestandteile nicht braucht, stattdessen +vielleicht lieber mehr Platz für OpenVPN schaffen möchte. Das ist nur +ein Beispiel und unabhängig davon, ob die Box ohne die WLAN-Binaries +überhaupt sauber startet (Kommentar: Das WLAN-Modul, tiap.ko, lässt sich +ohne Probleme entfernen). Wenn man die Dateien weglässt, sollte man z.B. +dafür sorgen, daß die entsprechenden Dienste deaktiviert werden oder in +den entsprechenden Startskripten ggf. Dinge zur Sicherheit +auskommentiert werden. Bei anderen Programmen fällt die Entscheidung +wieder leichter: ``fdisk`` braucht man beispielsweise im Normalfall +nicht, solange man nicht mit ``mkfs.ext2`` ein Dateisystem anlegen +möchte. Ein bisschen sparen kann man also, indem man es weglässt, +vielleicht die entscheidenden KB, damit eine andere Erweiterung auf die +Box passt. Für andere Kandidaten wie die +`libtr069 <../../../patches/remove_tr069.html>`__ gibt es bei den +kleinen Boxen sogar schon Schalter in der +`Menükonfiguration <../common/install/menuconfig.html>`__ von Freetz, um +sie wegzulassen. Im Allgemeinen untersucht man die Startdateien unter +``/etc/init.d``, um herauszufinden, ob und wann eine bestimmte Datei +geladen wird. Bei benötigten Bibliotheken ist die Analyse etwas +schwieriger, aber auch möglich. + +.. _Schritt2:UntersuchungMod-Firmware: + +Schritt 2: Untersuchung Mod-Firmware +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Das Gleiche, was wir gerade für die Original-Firmware gemacht haben, tun +wir nun für die nach unseren Wünschen konfigurierte Mod-Firmware. Selbst +wenn diese evtl. nicht erfolgreich gebaut werden konnte, weil z.B. der +Platz nicht genügte, sehen wir doch das erzeugte Dateisystem unter +``build/modified/filesystem``. Es folgt ein Beispiel von meiner 7170 mit +Mod-Version ds-0.2.9_26-14.2 und, grob gesprochen, folgenden aktivierten +Optionen und Erweiterungen: 1&1-Branding, keine Hilfetexte und +Assistenten, Original-Kernel, Bftp, Callmonitor, Cifsmount, Dropbear +(nur Server), MC, Mini_fo, Samba, Screen, Syslogd-CGI, WoL-CGI, Lua, +Matrixtunnel. Das sieht dann so aus: + +.. code:: wiki + + $ cd build/modified/filesystem + $ find . -type f | xargs ls -lSR | more + + 1291372 lib/libcrypto.so.0.9.8 + 913456 usr/sbin/smbd + 858208 lib/modules/2.6.13.1-ohio/kernel/drivers/isdn/isdn_fon4/zzz/isdn_fbox.ko + 779956 usr/bin/mc.bin + 730844 lib/modules/2.6.13.1-ohio/kernel/drivers/dsld/kdsldmod.ko + 599740 bin/busybox + 551944 usr/bin/telefon + 473772 lib/modules/2.6.13.1-ohio/kernel/drivers/net/wireless/avm_wlan/wlan/tiap.ko + 436344 usr/sbin/nmbd + 413184 lib/libuClibc-0.9.28.so + 372060 usr/bin/screen.bin + 323371 lib/modules/2.6.13.1-ohio/kernel/fs/cifs/cifs.ko + 314836 lib/libavmcsock.so.2.0.0 + 303784 lib/modules/microvoip-dsl.bin + 283853 lib/modules/microvoip_isdn_top.bit1 + 274704 usr/bin/ctlmgr + 274352 lib/libsiplib.so.2.0.0 + 273900 usr/lib/libncurses.so.5.5 + 259052 lib/libssl.so.0.9.8 + 252344 usr/share/ctlmgr/libtr069.so + 234684 usr/share/ctlmgr/libfon.so + 212468 lib/modules/microvoip_isdn_top.bit + 212432 sbin/dsld + 204336 usr/bin/lua + 202684 lib/libmscodex.so.2.0.0 + 200256 usr/lib/libreadline.so.5.2 + 183224 usr/sbin/dropbearmulti + 167180 sbin/fsck.ext2 + 163360 sbin/multid + 155037 lib/modules/2.6.13.1-ohio/kernel/drivers/usb/core/usbcore.ko + 154224 usr/bin/wpa_authenticator + 142624 lib/modules/2.6.13.1-ohio/kernel/drivers/atm/avm_atm/tiatm.ko + 142104 lib/libosipparser2.so.4.0.0 + 132296 lib/libar7cfg.so.1.0.0 + 132124 lib/modules/2.6.13.1-ohio/kernel/drivers/scsi/scsi_mod.ko + 131614 usr/share/samba/unicode_map.850 + 117746 usr/lib/mc/mc.hlp + 116804 bin/voipd + 116148 lib/libm-0.9.28.so + 106192 lib/modules/fw_dcrhp_1150_ap.bin + 102712 usr/lib/libext2fs.so.2.4 + 102472 sbin/fdisk + +Wir erkennen: Samba, MC und Screen scheinen recht groß zu sein, aber so +richtig übersichtlich ist das Ganze nicht, denn die zuvor analysierten +Dateien der Original-Firmware sind ja immer noch in der Liste. Wenn wir +nur die exklusiv im Mod vorkommenden sehen wollen, müssen wir erst ein +bißchen aussieben: + +:: + + $ cd build + $ find original/filesystem -type f | sed 's/^original\/filesystem\///' > orig-files + $ find modified/filesystem -type f | sed 's/^modified\/filesystem\///' > modi-files + $ diff -u orig-files modi-files | \ + grep '^+' | grep -v '^+++' | sed 's/^+/modified\/filesystem\//' > new-files + $ cat new-files | xargs ls -lSR | more + + 913456 usr/sbin/smbd + 779956 usr/bin/mc.bin + 436344 usr/sbin/nmbd + 372060 usr/bin/screen.bin + 323371 lib/modules/2.6.13.1-ohio/kernel/fs/cifs/cifs.ko + 273900 usr/lib/libncurses.so.5.5 + 204336 usr/bin/lua + 200256 usr/lib/libreadline.so.5.2 + 183224 usr/sbin/dropbearmulti + 131614 usr/share/samba/unicode_map.850 + 117746 usr/lib/mc/mc.hlp + 85680 lib/modules/2.6.13.1-ohio/kernel/fs/mini_fo/mini_fo.ko + 85072 usr/lib/libmatrixssl.so + 68816 usr/sbin/bftpd + 57005 lib/modules/2.6.13.1-ohio/kernel/net/ipv4/netfilter/ip_conntrack.ko + 34309 usr/lib/mc/syntax/html.syntax + 31232 lib/modules/2.6.13.1-ohio/kernel/net/ipv4/netfilter/ip_tables.ko + 26432 usr/lib/libhistory.so.5.2 + 24544 usr/bin/haserl + 23940 usr/sbin/matrixtunnel + 21708 usr/sbin/mount.cifs + 20392 lib/modules/2.6.13.1-ohio/kernel/drivers/block/loop.ko + 11461 usr/lib/mc/syntax/perl.syntax + 10684 lib/modules/2.6.13.1-ohio/kernel/net/ipv4/netfilter/ipt_LOG.ko + +Wir sehen Verschiedenes: *Samba* ist tatsächlich ein Platzfresser, wenn +man *smbd* und *nmbd* zusammenzählt. *MC* mit *ncurses* ist auch nicht +zu verachten - evtl. könnten wir wenigstens die Hilfedatei *mc.hlp* +weglassen. Allerdings muß man bei textlastigen Dateien wie der MC-Hilfe +aufpassen und die Erwartungen nicht zu hoch schrauben: **Unsere +Vergleiche hinken im Grunde alle, denn wir müßten uns die Dateien +LZMA-komprimiert anschauen, um einen Eindruck davon zu erhalten, wieviel +Platz sie in einem SquashFS auf der Box wirklich brauchen würden. +Textdateien z.B. sind extrem stark komprimierbar. Sie also wegzulassen, +bringt oft weniger als erhofft.** + +Was noch auffällt, sind diverse *Netfilter*-Bibliotheken, die wohl mit +in die Firmware kopiert wurden, als ich mal testweise *Iptables* +kompiliert habe. Offensichtlich bleibt dabei so Manches übrig, das gar +nicht hinein gehört in die FW, weil es längst abgewählt wurde. Das gilt +übrigens auch für so manche Shared Library und diverse Kernelmodule. +Also hier bitte aufpassen und kontrollieren, evtl. mal die +entsprechenden Verzeichnisse leeren oder, falls man nicht weiß, wo man +hinfassen soll, mal neu aufsetzen und mit korrekt eingestellter +Konfiguration (Datei ``.config``) von vorne anfangen. + +.. _Schritt3:Vorher-Nachher-VergleichexistierenderDateien: + +Schritt 3: Vorher-Nachher-Vergleich existierender Dateien +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wir haben uns bisher alte und neue Dateien angeschaut, aber nicht +geprüft, ob sich gleichnamige, in beiden FW-Versionen vorhandene Dateien +evtl. signifikant in der Größe geändert haben. Auch das kann uns evtl. +Hinweise darauf geben, wo man noch sparen kann, wenngleich vermutlich in +geringerem Umfang. Aber wer den Heller nicht ehrt, … + +Das folgende Shell-Skript mag etwas verwirrend sein, und optimal +programmiert ist es sicher nicht, aber es dient seinem Zweck. (Ich kann +übrigens nicht mit *Awk* umgehen, sonst wäre das Ganze vermutlich +übersichtlicher geworden.) Was es tut, ist Folgendes: + +- zwei Dateilisten generieren (wie oben schon gesehen) +- in beiden Listen auftauchende Dateinamen herausfiltern (d.h. übrig + lassen) +- ein weiteres Shell-Skript erzeugen und ausführbar machen +- das Shell-Skript ausführen +- Das Skript selbst gibt für alle gemeinsamen Dateien die + Größendifferenz (neu minus alt) in Bytes und den Pfadnamen aus. +- Die Ergebnisliste wird aufsteigend sortiert und gefiltert (Dateien + ohne Unterschied in der Größe werden eliminiert). +- Uns interessieren dann die Dateien mit den größten absoluten + Unterschieden. Negative Werte bedeuten dabei Platzersparnis gegenüber + der Original-Firmware, positive zusätzlich beanspruchten + Speicherplatz. + +:: + + $ cd build + $ find original/filesystem -type f | sed 's/^original\/filesystem\///' > orig-files + $ find modified/filesystem -type f | sed 's/^modified\/filesystem\///' > modi-files + $ diff -u 99999 orig-files modi-files | grep '^ ' | sed 's/^ //' > before-after-files + $ echo '#!/bin/bash' > before-after-script + $ chmod +x before-after-script + $ cat before-after-files | sed -r \ + 's/(.*)/printf "%10d %s\\n" $(( $(stat -c "%s" modified\/filesystem\/\1) - $(stat -c "%s" original\/filesystem\/\1) )) \1/' \ + >> before-after-script + $ ./before-after-script | grep -v ' 0 ' | sort -g > before-after-diffs + + -12468 lib/libuClibc-0.9.28.so + -7508 lib/libgcc_s.so.1 + -3295 lib/modules/2.6.13.1-ohio/kernel/drivers/usb/core/usbcore.ko + -2184 lib/modules/2.6.13.1-ohio/kernel/drivers/scsi/scsi_mod.ko + -1088 lib/modules/2.6.13.1-ohio/kernel/fs/fat/fat.ko + ... ... + 9756 lib/libpthread-0.9.28.so + 10240 var.tar + 183108 bin/busybox + +Wir erkennen in diesem Fall nichts Aufregendes: Die *uClibc* wurde ca. +12 KB kleiner, die *Busybox* allerdings um ca. 180 KB größer. Das ist +doch nicht zu vernachlässigen. Allerdings kann die *Busybox* damit auch +mehr als das Original. + +War das jetzt umsonst? Nein! Denn wenn wir das Gleiche mal bei der +7050-FW machen, sehen wir, daß dort die *libgcc_s*, wenn sie denn in der +Konfiguration ausgewählt und somit ersetzt wurde, von 215 auf knappe 60 +KB schrumpft (siehe +`​dort <http://www.ip-phone-forum.de/showpost.php?p=840715&postcount=17>`__). +Das liegt daran, daß in dieser FW-Version das Original - wohl +versehentlich - nicht gestrippt oder gar mit zusätzlicher +Debug-Information freigegeben wurde. Ergo: Wer eine FW modifiziert und +Platz sparen möchte, sollte tunlichst auch auf scheinbare Kleinigkeiten +achten. + +.. _WeitereSpartricks: + +Weitere Spartricks +------------------ + +.. _AuslagerungvonDateien: + +Auslagerung von Dateien +~~~~~~~~~~~~~~~~~~~~~~~ + +Eine Möglichkeit mit viel Potential ist das Auslagern von Dateien, +entweder auf direkt zugreifbare USB-Datenträger (Speicherstift, +Festplatte) oder auf Netzlaufwerke, die mittels NFS, Cifsmount oder +Smbmount beim Hochfahren der Box eingebunden werden, so daß die erst +nach dem Einbinden (Mounten) benötigten Dateien direkt vom externen +Speicher bzw. übers Netz geladen werden können. Damit kann man eine +Firmware in ``build/modified`` bauen, die eigentlich zu groß ist für ein +Image und abbricht beim Bauen, welche man jedoch hinterher so verändert, +daß große Dateien durch Symlinks auf die zu mountenden Speicher ersetzt +werden. Die entnommenen Dateien werden entsprechend bereitgestellt, das +ausgedünnte ``build/modified`` im zweiten Durchgang erfolgreich zu einem +Image verbaut. Die Startskripten der FW wurden vorher ebenfalls +entsprechend angepaßt. + +*Update 05.10.2007:* Bereits seit ds26-15.1 ist das Paket +`​Downloader-CGI <http://www.ip-phone-forum.de/showthread.php?t=134934>`__ +Bestandteil des DS-Mod. Es erleichtert das automatische Herunterladen +von Dateien beim Start der Box. + +.. _KomprimierteBinariesundNutzdaten: + +Komprimierte Binaries und Nutzdaten +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Eine häufig geäußerte Idee im IPPF ist, man könne doch beispielsweise +einen EXE-Packer verwenden, um die Binaries zu verkleinern. Das ist +**ziemlich sinnlos** und kostet nur unnötig Rechenzeit, denn das +SquashFS (Dateisystem der Boxen) ist bereits so extrem gut komprimiert, +daß eine weitere Kompression gar nicht zum Tragen kommen würde (siehe +`​dort <http://www.ip-phone-forum.de/showthread.php?p=832868&highlight=lzma#post832868>`__). +Warum das manchmal dazu führt, daß eine scheinbar große weggelassene +Datenmenge kaum Ersparnisse bei der FW-Größe bringt, sofern es sich um +gut komprimierbare Daten handelt, erkläre ich `​in diesem +Beitrag <http://www.ip-phone-forum.de/showthread.php?p=844325&highlight=lzma#post844325>`__. + +.. _Älterebzw.alternativeSoftware-Versionen: + +Ältere bzw. alternative Software-Versionen +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Oft wird im `​IPPF <http://www.ip-phone-forum.de/>`__ gefragt, weshalb +beispielsweise der *Midnight Commander (mc-4.5.0)* oder *Samba 2.0.10* +so alte Stände haben. Das hängt teilweise einfach damit zusammen, daß +die alten Versionen vom Leistungsumfang her ausreichen, dafür aber viel +kleiner sind als die neueren Versionen mit mehr Features. Im Falle des +*MC* kommt noch dazu, daß neuere Versionen gegen Bibliotheken gelinkt +sind, welche über das, was die *uClibC* als *libc*-Ersatz bietet, ein +wenig hinaus gehen und das Ersetzen entsprechender Aufrufe durch eigene +Makros einen großen Aufwand bedeuten würde. + +Weitere Sparmöglichkeiten bestehen in der Suche nach Alternativen zu +bekannten Softwarepaketen. Beispiele: + +- *Matrixssl* ist kleiner als *OpenSSL*, genügt aber oft, z.B. um einen + HTTPS-Tunnel zu bauen. Nur wenn auf SSL-Bibliotheken aufsetzende + Software wie *OpenVPN* nicht mit *Matrixssl* funktionieren, man aber + glaubt, diese zu brauchen, bleibt keine Wahl. +- *Deco* ist kleiner als *MC*, dafür aber auch wesentlich weniger + leistungsfähig. +- Die *Rudi-Shell* ist phantastisch klein, kann aber sehr viel. Sie + führt beliebige Shell-Skripten aus, hat eine Befehlshistorie, kann + Dateien von und zur Box transferieren (sogar komprimiert) und taugt + sogar zum Remote-Flashen der Box. Mittels *Matrixtunnel* wird sie ein + funktional (nicht komfortmäßig) vollwertiger Ersatz für *SSH* bei + weit geringerem Platzbedarf und ohne die Notwendigkeit, einen + SSH-Zugang zu haben, was hinter manchen Firewalls einfach nicht + erlaubt ist, weil es nur einen Web-Proxy für HTTP und HTTPS gibt. + Rudi + Matrixtunnel genügt dies. Einen *vi* kann Rudi zwar nicht + remote bedienbar machen, aber dafür kann man ja einfach Dateien hin + und her übertragen. Lokal bequem editieren, zurück auf die Box - + fertig! +- *Cifsmount* stellt Verbindungen zu Windows- und Samba-Freigaben her, + ist aber deutlich kleiner als *Smbmount*. +- *Mini_fo* kleiner als *UnionFS*, läuft aber sehr stabil (bisher keine + mir bekannten Fehlermeldungen dazu im Forum). Dafür kann man einen + *Mini_fo*-Mount nicht über NFS exportieren, aber wer braucht das + schon? Außerdem gibt es Samba, damit geht es. +- *Perl* oder *PHP* würden die FritzBox ressourcentechnisch überlasten + - *Lua* nicht. *Lua* ist eine sehr schlanke und dabei einfach zu + lernende und leistungsfähige Skriptsprache, nicht nur für CGI. + *Update 05.10.2007:* Inzwischen habe ich gelernt, daß Apache + PHP, + die man jetzt auch per Freetz bauen kann, sehr wohl stabil und + performant auf der FritzBox laufen, aber der Platzverbrauch ist + enorm. Und ums Platzsparen geht es ja hier. +- A propos CGI-Handling: *Haserl* ist klein und leistet alles, was ich + auf der Box brauche. Da brauche ich nicht einmal *Lua*, und manchmal + verzichte ich sogar auf Haserl, weil es ein Shellskript tut. + +.. _Firmware-PatchesausMenuconfig: + +Firmware-Patches aus Menuconfig +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Schon seit langer Zeit gibt es Firmware-Patches, die nicht benötigte +Original-Bestandteile aus dem FW-Image entfernen und Platz für +Zusatz-Pakete schaffen. Dabei muß jeder selbst entscheiden, ob er +Hilfetexte und Assistenten für die AVM-Weboberfläche, den +Original-AVM-Webserver selbst (durch BusyBox-httpd ersetzbar), UPnP, +DSL, VoIP, Kindersicherung usw. benötigt. + +Wer z.B. seine Box als reinen IP-Client betreibt, der über einen +weiteren vorgeschalteten Router die Internet-Verbindung bekommt und auch +keine PPoE-Anmeldung benötigt, kann viel Platz sparen mit einem +entsprechenden Patch, welcher *dsld* plus Zubehör aus der Firmware +entfernt. Normalanwender benutzen die Box als DSL-Router und können den +Patch dann eben nicht anwenden. + +Beispiel Webserver: Auf den AVM-Webserver kann man nach heutigem +Wissensstand problemlos verzichten und stattdessen den kleineren und +ressourcenschonenderen *httpd* verwenden, der für Freetz ohnehin benutzt +wird. Leider wurde der AVM-Server bei neueren Firmwares (Neue +AVM-Weboberflächen seit etwa Mitte-Ende 2007) anders realisiert, sodass +der *httpd*-Ersatz nicht mehr möglich ist. + +Beispiel UPnP: Wer nicht mit Client-Programmen (z.B. von AVM) den Status +der Box per Universal Plug'n'Play (UPnP) abfragt - mir persönlich genügt +die Web-Oberfläche vollkommen - oder Client-Programmen erlauben möchte, +dynamisch die Firmware-Einstellungen zu verändern (d.h. Löcher hinein zu +bohren), kann auch die entsprechenden Bestandteile (``igdd`` u.a. +Dateien) weglassen. Das spart zum einen Platz im Firmware-Image, zum +anderen läuft ein Prozess weniger. Das Weglassen von UPnP macht jedoch +das Versenden der Faxe mit FritzFax nicht möglich. Wer darauf verzichten +kann, kann UPnP abwählen. + +.. _Schlußwort: + +Schlußwort +---------- + +Das soll es fürs Erste gewesen sein. Wie eingangs gesagt: Es gibt sicher +noch diverse weitere Sparmöglichkeiten. Anregungen werden gern in diese +Seite von mir eingepflegt. In diesem Sinne: + +**Geiz ist nicht geil, sondern dumm - aber sinnvoll sparen ist +hilfreich.** + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ diff --git a/wiki/help/howtos/development/manipulation_detection.rst b/wiki/help/howtos/development/manipulation_detection.rst new file mode 100644 index 0000000..2988b2e --- /dev/null +++ b/wiki/help/howtos/development/manipulation_detection.rst @@ -0,0 +1,792 @@ +help/howtos/development/manipulation_detection +============================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _WiedieFritzBoxManipulationenerkennt: + +Wie die FritzBox Manipulationen erkennt +======================================= + +Wer kennt sie nicht, diese schöne Meldung auf der Startseite des +Web-Interface? + + **In Ihrer FRITZBox wurden vom Hersteller nicht unterstützte + Änderungen durchgeführt.** + +.. _Ursachen: + +Ursachen +-------- + +Was haben wir Böses gemacht, um diese Meldung zu verdienen? Da kommen +i.a. zwei Dinge in Frage: + +- **Telnet-Login:** Sobald der Benutzer sich auch nur ein einziges Mal + via Telnet angemeldet hat, merkt sich die Box diesen Umstand - wie + nachtragend - bis zum nächsten Recover, also normalerweise für alle + Zeiten. Wer macht schon deswegen einen Recover? +- **Nicht autorisiertes Firmware-Update:** Des Modding-Freaks Freude + ist offenbar der FritzBox Leid. Auch das Einspielen eines + Firmware-Updates, egal ob echter (Freetz-)Mod oder Pseudo-Update ohne + Firmware-Änderung (LCR-Updater, Telnet-Aktivierung usw.), wird mit + einem Eintrag ins Klassenbuch geahndet und führt zur eingangs + erwähnten Meldung. + +.. _Diagnose: + +Diagnose +-------- + +Für beide Arten der Manipulation schreibt die Box Flags persistent in +den Flash-Speicher, allerdings nicht in eine der unter ``/var/flash`` +sicht- und änderbaren Konfigurationsdateien. + +eventsdump +~~~~~~~~~~ + +Es gibt allerdings ein Werkzeug, um sich die gesetzten Flags anzeigen zu +lassen, wenn man auf der Box via Telnet oder SSH angemeldet ist: +``/sbin/eventsdump``. + +.. code:: wiki + + eventsdump -d | head -n 1 + +*Eventsdump* gibt eigentlich eine Ereignisliste auf die Konsole aus, wie +man sie auch über das Web-Interface zu sehen bekommmt. Der Parameter +*-d* führt dazu, dass eventuell gesetzte Manipulations-Flags mit +ausgegeben werden, und zwar direkt in der ersten Zeile. Die filtern wir +mit ``head`` heraus. Mögliche Ausgaben sind + +- *DEBUGCFG*, +- *TELNET*, +- *NOT_SIGNED*, +- *IMPORT*, +- *NOT_SIGNED,IMPORT,TELNET* (oder andere Zusammenstellung/Reihenfolge, + ohne Leerzeichen) +- oder etwas anderes, also die erste Zeile des regulären Ereignis-Logs. + +So sehen wir also, was wir alles Böses getan haben. + +strace +~~~~~~ + +Wenn wir jetzt wissen wollen, woher ``eventsdump`` seine Informationen +nimmt, müssen wir mit einem Werkzeug wie +`​strace <http://sourceforge.net/projects/strace>`__ nachverfolgen, +welche Systemaufrufe ``eventsdump`` macht. Hier ist ein Ausschnitt aus +einem ``strace``-Log: + +.. code:: wiki + + 01 mkdir("/var", 0777) = -1 EEXIST (File exists) + 02 mkdir("/var/flash", 0777) = -1 EEXIST (File exists) + 03 unlink("/var/flash/fw_attrib") = -1 ENOENT (No such file or directory) + 04 mknod("/var/flash/fw_attrib", S_IFCHR|0666, makedev(240, 87)) = 0 + 05 open("/var/flash/fw_attrib", O_RDONLY) = 3 + 06 ioctl(3, TIOCNXCL, 0x7fc22230) = -1 EOPNOTSUPP (Operation not supported) + 07 read(3, "NOT_SIGNED,TELNET", 4096) = 17 + 08 write(1, "NOT_SIGNED,TELNET\n", 3) = 18 + 09 close(3) = 0 + 10 unlink("/var/flash/fw_attrib") = 0 + +Den Ausschnitt habe ich leicht umformatiert. Links steht statt der +Zeilennummern normalerweise jeweils die PID des beobachteten Prozesses. +Rechts nach dem Gleichheitszeichen steht übrigens immer der Rückgabewert +des Aufrufs. + +Was passiert hier im Einzelnen? + +#. Verzeichnis ``/var`` wird angelegt, falls es noch nicht existiert. +#. Verzeichnis ``/var/flash`` wird angelegt, falls es noch nicht + existiert. +#. Datei ``/var/flash/fw_attrib`` wird gelöscht, falls vorhanden. +#. ``/var/flash/fw_attrib`` wird als Character Device mit den + Major/Minor-Nummern 240/87 neu angelegt. Mehr dazu später. +#. ``/var/flash/fw_attrib`` wird zum Lesen geöffnet. Der aufmerksame + Leser fragt sich: zum Lesen?! Der Node wurde doch gerade erst + angelegt. +#. Die Systemfunktion *ioctl* wird aufgerufen, vermutlich um das + "magische Verhalten" von ``fw_attrib`` zu initialisieren. Worin + dieses besteht, werden wir gleich sehen. Hintergründe zu *ioctl* + finden sich z.B. in `​Linux-Gerätetreiber, 2. Auflage (OpenBook von + O'Reilly) <http://www.oreilly.de/german/freebooks/linuxdrive2ger/book1.html>`__ + oder in der `​englischen + Wikipedia <http://en.wikipedia.org/wiki/Ioctl>`__. +#. Es wird aus ``fw_attrib`` gelesen. 17 Zeichen werden gefunden, sie + enthalten den Text *NOT_SIGNED,TELNET*. Bingo! +#. Genau dieser Text plus Zeilenvorschub wird auf die Standardausgabe + des Prozesses geschrieben. (Das ist, was wir zu sehen bekommen, wenn + wir ``eventsdump -d`` aufrufen. +#. ``fw_attrib`` wird wieder geschlossen. +#. ``fw_attrib`` wird gelöscht, genauer gesagt der Node entfernt. Die + Daten im Flash-Speicher überleben das, denn sie sind immer noch da, + wenn wir genau das gleiche Character Device mit der selben + Major/Minor-Kombination erneut öffnen. + +.. _CharacterDeviceNodes: + +Character Device Nodes +~~~~~~~~~~~~~~~~~~~~~~ + +Wie versprochen, mehr zu Ziffer 4. Das Erzeugen des Character Device +Nodes kann man auch selbst nachvollziehen, indem man den Shell-Befehl +``mknod`` verwendet. Die Schritte 4 bis 8 sehen auf der Shell wie folgt +aus: + +:: + + mknod /var/flash/fw_attrib c 240 87 + cat /var/flash/fw_attrib + +Ausgabe (ohne Zeilenvorschub): + +.. code:: wiki + + NOT_SIGNED,TELNET + +Vorsichtshalber sollte man aber die auf diesem Character Device +arbeitende Befehlssequenz mit vor- und nachherigem Löschen des Nodes +umschließen, wie im Trace zu sehen. Also einfach +``rm -f /var/flash/fw_attrib``. + +.. _MajorNumber: + +Major Number +^^^^^^^^^^^^ + +Offenbar ist nicht bei jeder Box bzw. jedem Firmware-Stand die Major +Number dieselbe. Statt 240 kann also auch 250 oder etwas anderes als +Major festgelegt sein. Darum wollen wir die Major Number allgemein +feststellen können. Wie man in */etc/init.d/rc.S* sehr schön sehen kann, +wird beim Systemstart die Major fürs *tffs* so bestimmt: + +:: + + major=$(grep tffs /proc/devices) + tffs_major=${major%%tffs} + +Das können wir in unserem Code weiter verwenden, um ihn allgemeiner zu +machen. + +*Anmerkung: Ob die Minor Number auch geräte- oder firmwareabhängig ist, +ist momentan nicht bekannt. Im ersten Fall einer unterschiedlichen Major +war die Minor gleich.* + +.. _Wannwirdfw_attribautomatischgelöscht: + +Wann wird fw_attrib automatisch gelöscht? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Interessantes Detail: Auch ohne manuelles Löschen der Datei wird diese +vom System alle paar Sekunden automatisch gelöscht, sofern das +Web-Interface im Browser geöffnet ist. Das liegt daran, daß sich die +Seite regelmäßig automatisch neu lädt, und dabei wird wegen des Aufrufs +von ``eventsdump -d`` abgeräumt - security by obscurity. AVM möchte wohl +nicht, daß die Benutzer die Datei sehen und manipulieren. Deshalb müssen +wir den Node jedesmal wieder neu erzeugen. Aber das stört ja nicht, wenn +man es erst einmal weiß. + +Um das Löschen zu verhindern, kann man der Datei auch einfach einen +anderen Namen geben, z.B. ``/var/tmp/fw_attrib``. Wichtig sind die Major +und Minor Number. + +.. _Lösungen: + +Lösungen +-------- + +.. _InHandarbeit: + +In Handarbeit +~~~~~~~~~~~~~ + +Wenn wir aus ``fw_attrib`` lesen können, wieso dann nicht auch hinein +schreiben? Andere Prozesse tun es ja auch, wenn sie +"Klassenbucheinträge" vornehmen. Das geht so: + +:: + + major=$(grep tffs /proc/devices) + tffs_major=${major%%tffs} + rm -f /var/flash/fw_attrib + mknod /var/flash/fw_attrib c $tffs_major 87 + echo -n "" > /var/flash/fw_attrib + rm -f /var/flash/fw_attrib + +Beachten Sie, daß ``echo -n`` nichts, also auch keinen Zeilenvorschub in +die Datei schreibt. Das kommt einem Löschen des Inhalts gleich. Ein +Kontroll-Aufruf von ``eventsdump -d | head -n 1`` bestätigt das, und +wenn man jetzt `​http://fritz.box <http://fritz.box>`__ aufruft, ist auf +der Übersichtsseite die Meldung verschwunden - das Führungszeugnis ist +sozusagen wieder sauber. |:-)| + +Aber freuen wir uns nicht zu früh, denn nach dem nächsten +unautorisierten FW-Update bzw. dem folgenden Telnet-Login ist die +Meldung wieder da. Was kann man also noch tun? + +.. _SäuberungsaktionbeimSystemstart: + +Säuberungsaktion beim Systemstart +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Obige Befehlssequenz kann man selbstverständlich auch +``/var/flash/debug.cfg`` ausführen lassen. Solange man sich nicht per +Telnet anmeldet, ist die Meldung damit weg, auch wenn man zuvor gerade +ein FW-Update eingespielt hat. Tip: Mit SSH zu arbeiten, stört die +FritzBox nicht, denn damit rechnet sie nicht und kreidet es uns somit +auch nicht als Manipulation an. Wer also ein Freetz mit +`Dropbear <../../../packages/dropbear.html>`__ hat, ist fein heraus. + +.. _RegelmäßigesAufräumenmitcron: + +Regelmäßiges Aufräumen mit cron +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Mit Freetz hat man auch die Möglichkeit, einen *cron*-Job nach dem +Rechten sehen und aufräumen zu lassen. Selbst wenn man also *Telnet* +benutzt, ist, je nach eingestellter Frequenz, nach ein paar Minuten +wieder das Flag gelöscht. + +.. _TelnetruhigstellenperHex-Editor: + +Telnet ruhig stellen per Hex-Editor +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wenn wir uns ein wenig in den Eingeweiden der Firmware umschauen, +stellen wir fest, daß nicht ``telnetd`` selbst das entsprechende Flag +setzt. Nein, es ist ``/sbin/ar7login``. ``telnetd`` selbst wird ja wie +folgt aufgerufen, um eine Anmeldung zu ermöglichen: + +:: + + telnetd -l /sbin/ar7login + +Wer mit einem Hex-Editor (unter Linux z.B. *hexedit* aus dem +gleichnamigen Paket) ``ar7login`` öffnet, findet schnell die +Zeichenkette "TELNET" in Großbuchstaben. Genau diese Zeichenkette +schreibt das Programm nach ``fw_attrib``. Ersetzt man den ersten +Buchstaben durch ein Null-Byte, entspricht das dem Ersetzen des Wortes +durch eine Zeichenkette der Länge null, Strings in C sind schließlich +null-terminiert. (Ziemlich oft das Wort "null", Entschuldigung.) +Abspeichern, Firmware neu bauen, flashen - fürderhin bleiben wir +verschont von Klassenbucheinträgen für Telnet-Logins. + +.. _NachgelagertesAufräumenperProxy-SkriptFirmware-Variante: + +Nachgelagertes Aufräumen per Proxy-Skript (Firmware-Variante) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Vielleicht traut sich nicht jeder die Arbeit mit dem Hex-Editor zu. Es +geht auch ohne. Anstatt ``ar7login`` binär zu manipulieren, wenden wir +einen Proxy-Ansatz an: Wir benennen ``/sbin/ar7login`` um in z.B. +``/sbin/ar7login-binary`` und setzen an seine Stelle ein Shell-Skript +``/sbin/ar7login``: + +:: + + #!/bin/sh + /sbin/ar7login-binary $* + major=$(grep tffs /proc/devices) + tffs_major=${major%%tffs} + rm -f /var/flash/fw_attrib + mknod /var/flash/fw_attrib c $tffs_major 87 + echo -n "" > /var/flash/fw_attrib + +Wir reichen also einfach alle Parameter durch an ``ar7login`` und +löschen danach umgehend wieder dessen Spuren im Klassenbuch. |;-)| +Anschließend gilt analog zu Variante 1: Firmware bauen, flashen, +glücklich sein. |/!\\| **Achtung: Das Flag wird erst gelöscht, nachdem +die Telnet-Sitzung wieder beendet wird.** + +.. _NachgelagertesAufräumenperProxy-SkripttransienteVariante: + +Nachgelagertes Aufräumen per Proxy-Skript (transiente Variante) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wem das Firmware-Bauen zu umständlich ist, kann die Proxy-Methode auch +dynamisch zur Laufzeit einsetzen, indem folgende Sequenz in +``/var/flash/debug.cfg`` eingebaut wird: + +:: + + cat << EOF > /var/tmp/ar7login-proxy + #!/bin/sh + /var/tmp/ar7login-binary \$* + major=\$(grep tffs /proc/devices) + tffs_major=\${major%%tffs} + rm -f /var/flash/fw_attrib + mknod /var/flash/fw_attrib c \$tffs_major 87 + echo -n "" > /var/flash/fw_attrib + EOF + + chmod +x /var/tmp/ar7login-proxy + cp /sbin/ar7login /var/tmp/ar7login-binary + mount -o bind /var/tmp/ar7login-proxy /sbin/ar7login + +Wie man sieht, wird ``ar7login`` zunächst nach +``/var/tmp/ar7login-binary`` kopiert. Das dynamisch erzeugte Skript +``/var/tmp/ar7login-proxy`` wird ausführbar gemacht und überlagert durch +``mount - o bind`` die Datei ``/sbin/ar7login``, nur um als Proxy +wiederum auf das kopierte Binary zu verweisen und nach Ende der Sitzung +dann wieder das Telnet-Flag zu löschen. + +.. _AufräumendirektnachdemLoginFirmware-Variante: + +Aufräumen direkt nach dem Login (Firmware-Variante) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Die beiden Proxy-Varianten haben den Nachteil, während der Dauer der +Telnet-Sitzung auf deren Beendigung zu warten und erst anschließend das +Flag zu löschen. Wenn wir stattdessen unseren Aufräum-Code ins globale +Shell-Profil ``/etc/profile`` einbauen, wird er jeweils direkt nach dem +Login ausgeführt. Es gibt also keine signifikante Latenzzeit, in der die +Flags gesetzt sind, denn das Aufräumen erfolgt ja bereits zu Beginn der +Telnet-Sitzung. + +:: + + # ... normaler Inhalt von /etc/profile ... + + major=$(grep tffs /proc/devices) + tffs_major=${major%%tffs} + rm -f /var/flash/fw_attrib + mknod /var/flash/fw_attrib c $tffs_major 87 + echo -n "" > /var/flash/fw_attrib + +.. _AufräumendirektnachdemLogintransienteVariante: + +Aufräumen direkt nach dem Login (transiente Variante) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ebenso wie bei der Proxy-Methode gilt auch hier: Das Profil kann auch +beim Booten aus ``/var/flash/debug.cfg`` heraus umgeschrieben werden, +indem man es per ``mount`` der Original-Datei überlagert: + +:: + + cp /etc/profile /var/tmp/profile + + cat << EOF >> /var/tmp/profile + major=\$(grep tffs /proc/devices) + tffs_major=\${major%%tffs} + rm -f /var/flash/fw_attrib + mknod /var/flash/fw_attrib c \$tffs_major 87 + echo -n "" > /var/flash/fw_attrib + EOF + + mount -o bind /var/tmp/profile /etc/profile + +Man beachte, daß dieses Mal ``cat`` keine Datei erzeugt, sondern seine +Ausgabe an die zuvor kopierte Originaldatei anhängt. Da wir auch nicht +irgendwelche komplizierten Proxy-Konstrukte haben, brauchen wir uns auch +nicht zu verrenken mit der Namensgebung der Shell-Profile. + +.. _FreetzPatch: + +Freetz Patch +~~~~~~~~~~~~ + +Mit einem `Patch <../../../patches/signed.html>`__ für +`Freetz <../../../freetz.html>`__ lässt sich der ganze obige Stress +vermeiden, und die vermaledeite Meldung ist weg. Da unterstreicht das +"Free" in "Freetz" doch gleich, was es heißt |:-)| + +.. _einfacheresLöschen: + +einfacheres Löschen +~~~~~~~~~~~~~~~~~~~ + +Man kann tffs-Dateien auch über /proc/tffs löschen. In diesem Fall ist +der Befehl: + +.. code:: wiki + + echo clear_id 87 > /proc/tffs + +.. _SchlußwortundAusblick: + +Schlußwort und Ausblick +----------------------- + +Wozu die vielen Varianten, wenn es mit dem Patch doch so einfach geht? +Ich dachte mir, ich erkläre mal die unterschiedlichen Ansätze, wie man +beim FritzBox-Modding grundsätzlich vorgehen kann - von minimal-invasiv +aus der ``debug.cfg`` heraus über die Manipulation von Skripten in der +Firmware bis hin zum Patchen einer Binärdatei. Ich hoffe, meine +Anregungen helfen anderen Mitstreitern beim Entwickeln von Konzepten, um +die gute AVM-Firmware mit neuen Ideen noch ein bißchen besser, bequemer +oder einfach cooler zu machen - kurz: um zu erreichen, was auch AVM uns +nicht übel nehmen dürfte: optimale Ausnutzung der Hard- und Software, +die wir beim Hersteller oder einem seiner Vertriebspartner gekauft +haben. + +Was bleibt bzgl. dieses Themas noch offen? Nun, da sind immer noch die +digitalen Signaturen, mit denen die Firmware-Images versehen sind. Sie +sind an sich nichts Schlechtes, im Gegenteil. AVM, T-Com und 1&1 tun gut +daran, ihre jeweiligen Firmware-Versionen eindeutig als solche zu +kennzeichnen und weisen mit Recht bei fehlerhafter Verifikation der +Signaturen darauf hin, daß Support-Ansprüche für modifizierte Firmwares +nicht mehr bestehen. Was ist aber, falls eines Tages der Hersteller oder +einer seiner OEM-Partner beschließen sollten, die Boxen so zu +konfigurieren, daß nicht korrekt signierte Firmware-Versionen nicht mehr +zum Flashen angenommen würden? Das wäre eine Beschneidung der +Benutzerrechte, für die es keinen triftigen Grund gäbe. Deswegen habe +ich mir kürzlich die Signatur-Mechanismen angeschaut und auch hier +Mittel und Wege gefunden, sie zu entschärfen. Mehr dazu gibt es ein +anderes Mal. + +Weiterhin happy modding wünscht Euch + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ + +—- + +Anmerkung: Ich habe eben in meiner neuen FBF 7170 (FW 29.4.32-7153) das +schreiben in ``/var/flash/fw_attrib`` versucht. Zunächst lies dies die +Meldung im Web-Interface jedoch vollkommen unbeeindruckt. Erst als ich +mit + +:: + + echo -n "\0\0\0\0\0\0" >/var/flash/fw_attrib + +mein "TELNET" in dem fw_attrib überschrieben habe, verschwand die +Meldung im Web-Interface! Kann es sein, daß es notwendig ist die +betreffenden Daten zu überschreiben (mit binär 0 = Stringende)? + +Harald Becker (ralda) + +.. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png +.. |;-)| image:: ../../../../chrome/wikiextras-icons-16/smiley-wink.png +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/development/menuconfig.rst b/wiki/help/howtos/development/menuconfig.rst new file mode 100644 index 0000000..f2d64c1 --- /dev/null +++ b/wiki/help/howtos/development/menuconfig.rst @@ -0,0 +1,379 @@ +help/howtos/development/menuconfig +================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Einstieg <menuconfig.html#Einstieg>`__ +#. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ +#. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ +#. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ +#. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ +#. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +.. _Menükonfigurationpflegen: + +Menükonfiguration pflegen +========================= + +Einer der ersten Schritte jedes **Freetz**-Benutzers ist die Auswahl der +gewünschten Firmware (FW)-Konfiguration mit ``make menuconfig``. Die +Menükonfiguration (MK) ist mithin die primäre Benutzerschnittstelle +neben der Linux-Shell für alle Nicht-Entwickler. Fehler und +Unstimmigkeiten, welche dort auftauchen, können bestenfalls zu +Verwirrung und Fragen im `​IPPF +Freetz-Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ +führen, aber auch zu seltsamen Warnungen auf der Konsole nach dem +Speichern der Konfiguration, zu fehlenden oder überflüssigen +FW-Bestandteilen oder schlimmstenfalls zu Freetz-Boxen, die nicht mehr +booten oder in Reboot-Schleifen festhängen. In jedem Fall entsteht +Support-Aufwand. Am billigsten sind, gemäß dem agilen Mantra "fail +early", jedoch Fehler, die frühestmöglich bemerkt werden oder am besten +gar nicht erst entstehen. Die Pflege der Menükonfiguration ist ein +wichtiger Qualitäts-Baustein unseres Projektes. + +.. _Einstieg: + +Einstieg +-------- + +Pflichtlektüre jedes Entwicklers, bevor er zum ersten Mal die MK anpaßt, +sollte die `Beschreibung der +Kconfig-Sprache </browser/trunk/tools/config/kconfig-language.txt>`__\ `​ </export/HEAD/trunk/tools/config/kconfig-language.txt>`__ +sein. Dort werden Syntax-Features und deren Gebrauch grundlegend +erklärt. Die Beschreibung entstammt der Dokumentation des +`​Linux-Kernels <http://kernel.org>`__, welchem wir (und auch andere +quelloffene Projekte) diese Art der MK und die dazu notwendigen +Werkzeuge entlehnt haben. + +Die wichtigste Dateien und *Make*-Targets, mit welchen wir es im +Folgenden zu tun haben werden, sind + +- Config.in + + - enthält das Hauptgerüst der MK + - ist in der *Kconfig*-Sprache geschrieben + - inkludiert hierarchisch (Baumstruktur) mittels + ``source``-Direktive weitere MK-Definitionen, welche ebenfalls + Namen wie *Config.in, externals.in* o.ä. tragen + - wird zukünftig (Trunk-Merge steht kurz bevor) als Ganzes, also mit + allen Includes, gepuffert in *Config.in.cache*, um Ladezeiten beim + Aufruf von ``make menuconfig`` zu verringern. + +- *.config* + + - enthält die vom Benutzer erstellte FW-Konfiguration als + maßgebliche Vorausstzung für folgende Builds + - ist als Kopie in der FW unter */etc/.config* enthalten, sofern das + nicht in der MK vor dem Build deselektiert wird + - ist eines der primären Debugging-Werkzeuge, wenn Benutzer Fehler + mit einer bestimmten Konfiguration melden + - kann, sollte aber nicht manuell editiert werden + +- *tools/config/mconf* + + - ist das Binary, welches von ``make menuconfig`` aufgerufen wird, + um die MK anzuzeigen und zu speichern + - wird mittels ``make tools`` bzw. ``make kconfig`` automatisch + gebaut, sobald es benötigt wird + - hat auch ein *Make*-Target ``menuconfig-single``, welches die KM + als Baumstruktur ohne Unterseiten darstellt (manchmal nett, wenn + man die Gesamtstruktur sehen bzw. bearbeiten möchte) + +- *tools/config/conf* + + - ist die Kommandozeilenversion von *mconf* + - hat mehr Features + - wird ebenfalls mittels ``make tools`` bzw. ``make kconfig`` + automatisch gebaut, sobald es benötigt wird + - wird von den *Make*-Targets ``config``, ``oldconfig``, + ``oldnoconfig``, ``defconfig``, ``allnoconfig``, ``allyesconfig``, + ``randconfig``, ``listnewconfig``, ``config-clean-deps`` und + ``config-clean-deps-keep-busybox`` benutzt + - zeigt folgende Hilfe an, wenn ohne Parameter aufgerufen (klappt + Stand 15.10.2011 im Trunk, nicht in älteren Stable-Versionen, also + frühestens ab *Freetz 1.2*): + + .. code:: wiki + + Usage: tools/config/conf [option] <kconfig-file> + [option] is _one_ of the following: + --listnewconfig List new options + --oldaskconfig Start a new configuration using a line-oriented program + --oldconfig Update a configuration using a provided .config as base + --silentoldconfig Same as oldconfig, but quietly, additionally update deps + --oldnoconfig Same as silentoldconfig but set new symbols to no + --defconfig <file> New config with default defined in <file> + --savedefconfig <file> Save the minimal current configuration to <file> + --allnoconfig New config where all options are answered with no + --allyesconfig New config where all options are answered with yes + --allmodconfig New config where all options are answered with mod + --alldefconfig New config with all symbols set to default + --randconfig New config with random answer to all options + +.. _Beispiel-KonfigurationfüreinneuesPaket: + +Beispiel-Konfiguration für ein neues Paket +------------------------------------------ + +TODO + +.. _Menuconfig-Warnungenbeheben: + +Menuconfig-Warnungen beheben +---------------------------- + +TODO + +Siehe vorerst `#1532 </ticket/1532>`__, insbes. Kommentare Nr. + +- `10 </ticket/1532#comment:10>`__\ **: Erklärung einer Warnung mit + Vorschlägen zur Problembehebung** + + Diese *unmet dependencies* behebt am besten jeder so, wie der + gerade drauf stößt. Es sind ja nur Warnings, aber die sind auch + wichtig, damit wir Unsauberkeiten aus den *Config.in* heraus + bekommen. Das ist also gut für die Projekthygiene. Ich gebe mal + ein Beispiel: + + .. code:: wiki + + warning: (FREETZ_PACKAGE_AUTOFS_NFS && FREETZ_PACKAGE_NFSROOT) + selects FREETZ_MODULE_nfs which has unmet direct dependencies + (FREETZ_KERNEL_VERSION_2_6_13_1 || FREETZ_KERNEL_VERSION_2_6_28 || + FREETZ_KERNEL_VERSION_2_6_32) + + Aha, hier hat also jemand (ich) NFS-Root ausgewählt. Klar, daß + dazu auch das NFS-Kernelmodul ausgewählt werden muß. Jetzt hat + dieser Jemand aber bspw. eine 7270_v1 mit Kernel 2.6.19.2. Das + Problem liegt auf der Hand: Entweder sollte beim NFS-Modul dieser + Kernel mit in die Dependencies-Liste, oder für diesen Kernel + sollten alle NFS-relevanten Sachen deaktiviert werden. Alles + andere ist ein Widerspruch, und der wird moniert von *Kconfig*. + Was in diesem Fall sachlich zutreffend ist, weiß ich momentan + nicht, dafür war ich zu lange zu weit weg von der Entwicklung. + +- `24 </ticket/1532#comment:24>`__\ **: Liste aktueller Warnungen mit + Erläuterungen zu Ursachen und möglichen Lösungen** +- `31 </ticket/1532#comment:31>`__\ **: konkretes Beispiel einer von + Alexander Kriegisch eingecheckten Problembehebung** + + Ich versuche es einfach statt in Prosa mal schematisch: |:-)| + + :: + + FREETZ_PACKAGE_DAVFS2 + select FREETZ_REMOVE_WEBDAV if FREETZ_HAS_AVM_WEBDAV + + FREETZ_REMOVE_WEBDAV + depends on FREETZ_HAS_AVM_WEBDAV + + FREETZ_HAS_AVM_WEBDAV + depends on FREETZ_TYPE_FON_WLAN_7240 || ... + + Das sieht mir sauber genug aus, obwohl das "if + FREETZ_HAS_AVM_WEBDAV" - da gebe ich Dir recht - in Deinem Sinne + doppelt ist. Aber es sagt dafür genauer, was Du wirklich tun + willst (man kann die Konfigurationsanweisung diesmal wirklich wie + Prosa lesen): Wähle den Remove-Patch aus, falls es überhaupt etwas + zu entfernen gibt. Ich denke, das macht es hinreichend klar und + dokumentiert nochmals, was gewollt ist. Zudem vermeidet es die + Warnung nach dem Speichern der Konfiguration. Ohne das *If* würde + die Warnung erscheinen. + +- `54 </ticket/1532#comment:54>`__\ **: verallgemeintertes "Kochrezept" + zur Problembehebung bei Remove-Patches** + + Ich weise nochmals auf meinen Kommentar #31 hin, aus dem man im + Grunde sehr schön ablesen kann, wie einfach, elegant und lesbar + man viele Situationen beheben kann: + + :: + + FREETZ_PACKAGE_FOO + select FREETZ_REMOVE_MY_FEATURE if FREETZ_HAS_AVM_MY_FEATURE + + FREETZ_REMOVE_MY_FEATURE + depends on FREETZ_HAS_AVM_MY_FEATURE + + FREETZ_HAS_AVM_MY_FEATURE + depends on FREETZ_TYPE_A || FREETZ_TYPE_B || ... + + **Kochrezept für Remove-Patches (RP):** + + - Automatische RP-Auswahl absichern durch + ``if FREETZ_HAS_AVM_MY_FEATURE`` + - RP-Sichtbarkeit abhängig machen durch + ``depends on FREETZ_HAS_AVM_MY_FEATURE`` + - Durch RP entfernbares Feature abhängig machen von Hardware oder + Firmware usw. durch ``depends on FREETZ_TYPE_A`` + +- `55 </ticket/1532#comment:55>`__\ **: weitere Erläuterungen zur + Umsetzung des Kochrezepts** + + Replying to oliver: + + Wo ist der Sinn darin eine dependency herauszunehmen, die (bis + auf wenige Fälle) richtig ist? + + Jetzt habe ich mir den ersten + `Patch </attachment/ticket/1532/0001-patches-Drop-false-depends-on-FREETZ_HAS_USB_HOST.patch>`__ + doch schnell mal angeschaut. Es ist weder korrekt, sie so drin zu + lassen, wenn sie auch nur in wenigen Fällen falsch ist, noch, sie + ersatzlos zu streichen, wenn unsinnige Optionen dafür in neuen, + falschen Fällen angezeigt werden. Was hingegen Sinn (und etwas + Mühe) machen würde, wäre, mein Kochrezept anzuwenden und neue + Variablen FREETZ_HAS_AVM_AURA_USB, FREETZ_HAS_AVM_PRINTSERV und + FREETZ_HAS_AVM_RUNCLOCK anzulegen. Die könnte FREETZ_HAS_USB_HOST + ja von mir aus in den Fällen, wo es keine gegenteiligen + Erkenntnisse gibt, automatisch auswählen. Sobald aber auch nur + eine einzige Ausnahme bekannt ist, ist eine Box-Liste beim + jeweiligen FREETZ_HAS_AVM_\* zu hinterlegen. Die Remove-Patches + sollten immer von FREETZ_HAS_AVM_\* abhängen, nie von einem + billigen Ersatz der nur *fast* immer funktioniert. + + Das ist keine Kritik i.S.v. "das hättest Du aber vorher wissen + sollen", denn die Erkenntnisse sind ja relativ neu und m.E. ein + Segen des neuen *Kconfig*. Ich will durch meine Hinweise den + anderen Entwicklern Hilfe zur Selbsthilfe geben. + + Ergänzung: Es ist auch sowas vorstellbar: + + :: + + FREETZ_HAS_AVM_MY_FEATURE + depends on FREETZ_HAS_USB_HOST && !(FREETZ_TYPE_A || FREETZ_TYPE_B) + + So hält man die Boxen-Liste klein, indem man einfach klar sagt, + was Sache ist. Es ist wieder fast wie Prosa lesbar: "Zeig das + AVM-Feature X an, wenn die Box einen USB-Host hat, außer in den + Ausnahmefällen A und B." + +.. _ErklärungundAnwendungdererweitertenMK-Targets: + +Erklärung und Anwendung der erweiterten MK-Targets +-------------------------------------------------- + +TODO + +.. _Syntax-FehlerinMK-Dateienfinden: + +Syntax-Fehler in MK-Dateien finden +---------------------------------- + +Wir sehen einen Fehler wie diesen: + +.. code:: wiki + + $ make menuconfig + + Config.in.cache:4951: syntax error + Config.in.cache:4950: unknown option "xconfig" + Config.in.cache:4951:warning: prompt redefined + make: *** [menuconfig] Error 1 + +Gemäß Beschreibung in `r8466 </changeset/8466>`__ gibt es zwei Wege, bei +einem von ``make menuconfig`` angezeigten Syntax-Fehler schnell die +fehlerhafte Stelle zu finden: + +#. In ``Config.cache.in`` direkt zu der Fehlerzeile 4950 springen, die + auf der Konsole angezeigt wurde. Von dort aus rückwärts(!) suchen + nach ``INCLUDE_BEGIN`` - voilà, dort steht der Dateiname, wo die + fehlerhafte MK zu finden ist. +#. ``make menuconfig-nocache`` aufrufen und die problematische Datei + (*make/davfs2/Config.in*) direkt von der Konsole ablesen: + + .. code:: wiki + + $ make menuconfig-nocache + + make/davfs2/Config.in:2: syntax error + make/Config.in:84: missing end statement for this entry + Config.in:851: missing end statement for this entry + make/davfs2/Config.in:1: invalid statement + make/davfs2/Config.in:2: unexpected option "bool" + make/davfs2/Config.in:3: unexpected option "select" + make/davfs2/Config.in:4: unexpected option "select" + make/davfs2/Config.in:5: unexpected option "select" + make/davfs2/Config.in:6: unexpected option "select" + make/davfs2/Config.in:7: unexpected option "select" + make/davfs2/Config.in:8: unexpected option "select" + make/davfs2/Config.in:9: unexpected option "default" + make/davfs2/Config.in:10: invalid statement + make/davfs2/Config.in:11: unknown statement "davfs" + make/davfs2/Config.in:12: unknown statement "WebDAV" + make/davfs2/Config.in:13: unknown statement "HTTP" + make/davfs2/Config.in:14: unknown statement "resources" + make/Config.in:199: unexpected end statement + Config.in:862: unexpected end statement + make: *** [menuconfig-nocache] Error 1 + +.. _Syntax-HervorhebungfürMK-Dateien: + +Syntax-Hervorhebung für MK-Dateien +---------------------------------- + +Gemäß `Patch +1 </browser/trunk/tools/developer/kconfig.pygments.patch>`__\ `​ </export/HEAD/trunk/tools/developer/kconfig.pygments.patch>`__ +habe ich (Alexander Kriegisch, kriegaex) zunächst einen sog. +`​Lexer <http://de.wikipedia.org/wiki/Lexikalischer_Scanner>`__ für +`​Pygments <http://pygments.org>`__ gebaut (siehe auch +`​Pygments-Doku <http://pygments.org/docs/lexerdevelopment/>`__), +welcher es ermöglicht, MK-Dateien mit Syntax-Hervorhebung zu versehen. +*Pygments* wird von `​Trac <http://trac.edgewall.org>`__, also dem +System, auf welchem unser Wiki und der Repository Browser basieren, +automatisch benutzt, sofern es installiert ist. + +*Trac* erkennt den MIME-Typ einer Datei aber nur aufgrund der Endung +(also z.B. *.py, .sh, .pl, .c, .h*) oder aufgrund Infos wie +`​Shebang <http://de.wikipedia.org/wiki/Shebang>`__ oder +*Vi-/Emacs*-Header, und das ist ein Problem bei MK-Dateien, da es keine +standardisierte Dateiendung im Allgemeinen und auch nicht bei uns im +Projekt gibt. Unsere einzige Chance ist es, den Wildwuchs an Dateinamen +(z.B. *Config.in, external.in, standard-modules.in, external.in.libs*) +so im Zaum zu halten, daß man mit `​Regex +Matching <http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck>`__ die +entsprechenden Dateien identifizieren kann. Das ist Stand heute möglich, +allerdings beherrscht *Trac* von Haus aus kein Regex Matching, weswegen +`Patch +2 </browser/trunk/tools/developer/mime_map_patterns.trac.patch>`__\ `​ </export/HEAD/trunk/tools/developer/mime_map_patterns.trac.patch>`__ +notwendig wird. *(Anm.: Bevor es Patch 2 gab, war es notwendig, in SVN +die Eigenschaft ``svn:mime-type`` für jede MK-Datei manuell zu setzen, +was inzwischen zum Glück obsolet ist, aber auch nicht schaden würde.)* + +Auf unserem Webserver sind beide Patches nebst der notwendigen +Konfiguration in ``trac.ini`` aktiv, so daß MK-Dateien aus dem +SVN-Repository automatisch mit Syntax-Hervorhebung versehen werden. + +Noch ein kleiner Tip: Wie man Syntax Highlighting im *Trac*-Wiki direkt +in Code-Blocks einsetzt, sieht man hier direkt im Artikel für MK- und +Shell-Code: Entweder man erwähnt am Anfang des Code-Blocks mit führendem +Shebang den MIME-Typ (``text/x-kconfig``, übrigens selbst erfunden und +kein allgemeiner Standard) oder das in ``trac.ini`` konfigurierte +Schlüsselwort ``kconfig``, also in etwa so: + +.. code:: wiki + + {{{ + #!text/x-kconfig + ... MK-Code ... + }}} + +Oder so: + +.. code:: wiki + + {{{ + #!kconfig + ... MK-Code ... + }}} + +- Tags +- `development </tags/development>`__ + +.. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/help/howtos/development/package_creation.rst b/wiki/help/howtos/development/package_creation.rst new file mode 100644 index 0000000..6548d58 --- /dev/null +++ b/wiki/help/howtos/development/package_creation.rst @@ -0,0 +1,473 @@ +help/howtos/development/package_creation +======================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +**Diese Beschreibung ist höchstwahrscheinlich nicht das Gesuchte, +Verwendung auf eigene Gefahr! +**\ `Hier gibt es eine Beschreibung zur Erstellung eines Pakets für ein +fertiges +Programm <developer_information/package_development_start.html>`__ + +.. _WiebaueicheineigenesPaketfürFreetz: + +Wie baue ich ein eigenes Paket für Freetz? +========================================== + +Anmerkung: Dieser Beitrag Beitrag vermischt zwei verschiedenen +Fragestellungen: + +- Wie schreibe ich mein erstes Programm? +- Wie integriere ich ein vorhandenes Programm als Package in Freetz? + +Die zweite Frage wird schon an anderer Stelle behandelt. Wenn Interesse +an der ersten Frage besteht, sollte man das entsprechend aufteilen. +Normalerweise werden eher fertige Programme in Freetz integriert und +nicht welche, die komplett neu geschrieben werden. Als Grundlage für ein +komplexeres Programm ist möglicherweise `​GNU +Hello <http://ftp.gnu.org/gnu/hello/hello-2.3.tar.gz>`__ besser +geeignet, da hier auch mit automake eine cofigure-Datei erstellt wird. +(ralf) + +Da dies mein erster Wiki-Eintrag ist, möchte ich Euch um Nachsicht +bitten, wenn nicht gleich alles so aussieht wie es sein sollte. + +Um für Freetz ein Paket selbst zu erstellen, musste ich erst einmal ein +geeignetes "Projekt" finden, für das es auch Sourcecode gibt, der sich +für die Fritzbox überhaupt kompilieren lässt. + +Bei der Suche stieß ich auf den `​HTTP Tunnel +Server <http://www.nocrew.org/software/httptunnel.html>`__. Mit +*httptunnel* kann man TCP-Verbindungen über das http-Protokoll tunneln +und damit von überall sogar durch sehr restriktive Proxies Zugriff zu +seiner Fritzbox bekommen. Näheres dazu ist +`​hier <http://linuxwiki.de/HttpTunnel>`__ nachzulesen. + +Die Evolution meiner Erfahrungen, bereichert um zahlreiche hilfreiche +Tipps und Hinweise der Linux-Gurus und Entwickler hier im Forum könnt +Ihr in `​diesem +Thread <http://www.ip-phone-forum.de/showthread.php?t=167980>`__ +nachlesen, wo auch der richtige Platz für weitere Fragen und Diskussion +ist. + +Folgende Umgebung habe ich zum Bau des Pakets verwendet: + +- Fritzbox 7170 mit Freetz-1.0 +- StinkyLinux 1.06 in einer VM auf einem Macbook + +Es gibt aber auch noch andere Umgebungen, um FW bzw. Freetz-Pakete zu +bauen, welche `hier <../common/install.html>`__ nachzulesen sind. + +In den `HowTos <../../howtos.html>`__ gibt es einige wichtige +Informationen darüber, was man mit *Make*-Targets wie +`menuconfig <../common/install/menuconfig.html>`__, *toolchain*, +*precompiled*, *recover* usw. erreichen kann beim Bau einer +`Freetz <../../../freetz.html>`__-Firmware. Die Infos dort sind durchaus +lesenswert, wenn man besser verstehen will, was genau beim Bau einer FW +bzw. eines neuen Pakets für Freetz abläuft, wenngleich ich diese Infos +auch erst hinterher gelesen habe (mea culpa). + +Eine sehr gute Anleitung ist +`hier <developer_information/package_development_start.html>`__ zu +finden. + +Es gibt ein kleines Demo Package (demopackagea). Weiteres dazu hier: + +`DemoPackageA <../../../packages/DemoPackageA.html>`__ Ein Demo-Package +"Hello World" —- `​Forum-Beitrag incl. +Download <http://www.ip-phone-forum.de/showthread.php?t=177052>`__ + +Kurz-Anleitung um ein bestehendes Package anzupassen + +- Annahme es ist ein Build-System vorhanden. Dies kann das oben + genannte StinkyLinux, in dem Freetz ausgecheckt wurde, sein. Alle + hier genannten Verzeichnisse sind im Freetz-Ordner, dieser wird im + folgenden Kurz-Anleitung mit "/" Symbolisiert. +- Es gibt ein kompaktes Package mit dem Namen: "Empty". Hierbei handelt + es sich um ein konkretes Package, das man als Vorlage nutzen kann. + Dies einfach mal ansehen. ("freetz.ordner"/make/empty/\* ). +- Einen kurzen prägnanten Namen für das eigene Package ausdenken. +- In dem Verzeichnis "make" einen Ordner erstellen. Dieser Ordner + sollte so heißen wie das Package, dieser wird im folgenden + Package-Ordner genannt. +- Von dem "Empty-Package" die Datei "empty.mk" in den Package-Ordner + übernehmen (und natürlich umbenennen. Der Name dieser Datei bestimmt + den Namen des Packages). +- Die Datei "package.mk" muss auch Inhaltlich angepasst werden. (In der + Datei sollte kein "empty" (CASE-LESS) mehr stehen). Die Version + sollte man auf "0.0.01" ändern. Der SITE-Eintrag ist nicht relevant, + solange sich die Datei im Verzeichnis /dl befindet. Wenn man später + die Datei zum `Download <../../../Download.html>`__ anbietet, muß + hier der entsprechende Wert eingetragen werden. +- Die Dateien "Config.in" und "Makefile.in" anpassen, aber nicht + umbenennen. +- Damit das Package über "make menuconfig" gefunden werden kann muss in + der Datei /make/Config.in das eigene Package eingetragen werden (Wie + z.B. das Package empty eingetragen ist). Für ein neues Package ist + erstmal der Bereich "Testing" angemessen. +- make menuconfig aufrufen und das Package auswählen. +- Jetzt kennt Freetz das Package, es muss aber noch erstellt werden. + Dieses Mini-Package besteht aus zwei Dateien (pluginName.c und + Makefile) +- Erstelle einen Ordner (egal wo wird gleich wieder gelöscht) der Name + des Orders muss "pluginName-Version" lauten. (Version=0.0.01) +- Erstelle in diesem Ordner die Datei "pluginName.c" mit dem Inhalt: + + :: + + /* "plugin_name".c Version:0.0.01 */ + #include <stdio.h> + + main(){ + printf("Hello World \n"); + } + +- Erstelle in diesem Ordner die Date Makefile mit dem Inhalt: + + .. code:: wiki + + BINARY=plugin_name + OBJS=plugin_name.o + + all: $(BINARY) + + $(BINARY): $(OBJS) + + clean: + $(RM) $(BINARY) $(OBJS) + +- wechsle eine Verzeichnisebende runter +- erstelle ein tgz Archiv (der Ordner kann danach gelöscht werden)(tar + cfz plugin-0.0.01.tgz plugin-0.0.01) +- kopiere das tgz Archiv in das Verzeichnis /dl +- Jetzt kann das Package mittels make Packagename-precompiled das erste + Mal erzeugt werden (aus: "/") + +to be continued… diff --git a/wiki/help/howtos/development/release_management.rst b/wiki/help/howtos/development/release_management.rst new file mode 100644 index 0000000..f801949 --- /dev/null +++ b/wiki/help/howtos/development/release_management.rst @@ -0,0 +1,120 @@ +help/howtos/development/release_management +========================================== +.. _ReleaseManagement: + +Release Management +================== + +Table of Contents +^^^^^^^^^^^^^^^^^ + +#. `Subversion + Repository <release_management.html#SubversionRepository>`__ +#. `Checklists <release_management.html#Checklists>`__ + + #. `Creating a new stable + branch <release_management.html#Creatinganewstablebranch>`__ + #. `Tagging a new + release <release_management.html#Tagginganewrelease>`__ + +#. `GIT <release_management.html#GIT>`__ +#. `Downloads <release_management.html#Downloads>`__ +#. `References <release_management.html#References>`__ + +**/!\\ Work In Progress /!\\** + +.. _SubversionRepository: + +Subversion Repository +--------------------- + +The subversion repository of Freetz follows the recommended repository +layout by the subversion maintainers. [1] + +.. code:: wiki + + / + trunk + branches + tags + +The main development is done in the trunk. A branch could be created if +a developer wants to work on a topic without the guaranteed stability of +his checkins all the time. Also a branch is forked when a new stable +release is planned. This branch holds the future major version (e.g. +1.2). + +Mainly bugfixes should be commited to this branch. But security version +bumps are allowed, too. + +Later on the Releases 1.2.1, 1.2.2 and so on should be tagged from this +branch. + +Tagged versions should never be modified afterwards even if they seem +nothing else like a branch from the repository view. + +.. _Checklists: + +Checklists +---------- + +In the following sections you can find the TODOs before branching and +tagging. + +.. _Creatinganewstablebranch: + +Creating a new stable branch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Before creating a new stable branch: + + - Update CHANGELOG file + - Merge changes from last stable-branch (if not done already) + - Rename devel-section to new stable version + +- Copy branch +- After creating the new branch: + + - Update version in .version file + - Update Config.in (set VERBOSITY_LEVEL=0 and SUBVERSION_STRING=n) + - Remove labor firmwares (Config.in and FIRMWARES file) + - Add new devel-section to CHANGELOG file in trunk + +.. _Tagginganewrelease: + +Tagging a new release +~~~~~~~~~~~~~~~~~~~~~ + +TODO + +.. _GIT: + +GIT +--- + +As the popularity of GIT is growing rapidly, we provide a GIT mirror on +`​github <https://github.com/>`__. At the moment only the trunk is +mirrored to github because of the different repository layout it's +difficult to sync all branches and tags. The mirror can be found +`​here <https://github.com/Freetz/freetz>`__. [2] + +.. _Downloads: + +Downloads +--------- + +TODO + +.. _References: + +References +---------- + +| `[1] </changeset/1>`__ `​Subversion Best + Practices <http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html>`__ +| `[2] </changeset/2>`__ `​Freetz Github + Mirror <https://github.com/Freetz/freetz>`__ + +- Tags +- `development </tags/development>`__ +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/development/repack_fw.rst b/wiki/help/howtos/development/repack_fw.rst new file mode 100644 index 0000000..d5f00a8 --- /dev/null +++ b/wiki/help/howtos/development/repack_fw.rst @@ -0,0 +1,214 @@ +help/howtos/development/repack_fw +================================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ +#. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ +#. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +.. _EntpackenundPackenvonFirmware-Images: + +Entpacken und Packen von Firmware-Images +======================================== + +Wenn man ein Firmware-Image entpacken, ändern und wieder packen möchte, +geht das wie folgt (nach Anleitung von `​Alexander +Kriegisch <http://www.ip-phone-forum.de/member.php?u=117253>`__ - in +`​diesem +Forums-Thread <http://www.ip-phone-forum.de/showthread.php?t=175974>`__: + +.. _ToolsundSyntax: + +Tools und Syntax +---------------- + +Am einfachsten ist es, Freetz als Infrastruktur zu benutzen, und zwar +das Skript ``fwmod`` aus dem Freetz-Hauptverzeichnis. Wenn man es ohne +Parameter aufruft, verrät es wie es benutzt werden möchte: + +.. code:: wiki + + $ ./fwmod + + Usage: fwmod [-u|-m|-p|-a] [-i <cfg>] [-d <dir>] <orig_fw> [<tk_fw> [<aux_fw>]] + actions + -u unpack firmware image + -m modify previously unpacked image + -p pack firmware image + -a all: unpack, modify and pack firmware image (-u -m -p, default) + special actions + -n firmware-nocompile: do not install kernel and busybox + -f force pack even if image is too big for flash (AVM SDK) + -z zip file system into archive for USB/NFS root + -c <dir> copy file system to target directory for NFS/USB root (implies -z) + input/output + -i <cfg> input file for configuration data (default: .config) + -d <dir> build directory (default: <orig_firmware>.mod) + <orig_fw> original firmware name + <tk_fw> 2nd firmware name (e.g. for merging in web UI) + <aux_fw> 3rd firmware name (e.g. to borrow missing files) + +Man braucht also einmal den Aufruf mit ``-u`` zum Entpacken, dann nach +der Modifikation den mit ``-p`` zum erneuten Packen. + +.. _Vorgehensweise: + +Vorgehensweise +-------------- + +Im Folgenden wird davon ausgegangen, dass sich der Benutzer im +Hauptverzeichnis des frisch ausgepackten oder ausgecheckten Freetz +befindet und das zu modifizierende Firmware-Image bereits in dieses +Verzeichnis heruntergeladen hat. Dann sind folgende Schritte +auszuführen: + +#. Zunächst muss man eine passende Konfigurationsdatei *.config* + erzeugen, damit beim Packen später das Skript *fwmod* die + erforderlichen Informationen findet. Dazu ruft man einmal *make + menuconfig* auf, wählt die richtige Hardware (z.B. 7170) aus und + verlässt die Konfiguration, wobei man die Frage nach dem Abspeichern + bejaht. +#. Bevor man *fwmod* erstmals aufrufen kann, müssen einige Werkzeuge + gebaut werden, die später indirekt aufgerufen werden, um die Firmware + zu entpacken und später wieder zusammenzubauen: *make tools*. Das + kann ein Weilchen (einige Minuten) dauern. Internet-Downloads via + *wget* müssen dazu funktionieren. +#. Jetzt entpackt man das von AVM heruntergeladene Firmware-Image in ein + Verzeichnis, das hier beispielhaft *unpacked_firmware* genannt wird: + + .. code:: wiki + + ./fwmod -u -d unpacked_firmware FRITZ.Box_Fon_WLAN_7170.29.04.59.image + +#. Unter *unpacked_firmware/original/filesystem* modifiziert man dann + das Dateisystem der Firmware. +#. | Zum guten Schluss packt man dann wieder das Firmware-Image: + + .. code:: wiki + + ./fwmod -p -d unpacked_firmware FRITZ.Box_Fon_WLAN_7170.29.04.59.image + +Das ist also der gleiche Aufruf wie vorher, nur mit ``-p`` statt ``-u``. +Den Namen des Original-Images muss man leider mit angeben, obwohl das +Image zum Packen nicht benötigt wird. Das ist eine kleine Schwäche des +Skripts ``fwmod``. + +6. Nach einer Weile steht am Ende der Skript-Ausgabe so etwas wie + + .. code:: wiki + + creating filesystem image + merging kernel image + kernel image size: 6969088 (max: 7798784, free: 829696) + packing 7170_.de_20080923-200251.image + done. + + FINISHED + +**Anmerkungen zu den Freetz-Versionen bis einschließlich 1.1:** + +- Bei diesen Versionen muss den beiden ``fwmod``-Aufrufen folgender + fakeroot-Teil vorangestellt werden ``tools/build/bin/fakeroot --`` + (fwmod hat es erwartet in fakeroot-Umgebung aufgerufen zu werden und + hat sich selbst um diese noch nicht gekümmert) +- Bei Fehlermeldung + :literal:`fakeroot: preload library `libfakeroot.so' not found, aborting.` + hilft ein vorangestelltes LD_PATH_PRELOAD: + + .. code:: wiki + + LD_PATH_PRELOAD=tools/build/lib/libfakeroot.so tools/build/bin/fakeroot -- ./fwmod ... + +.. _Verwendungvonfwmodimnofreetz-Modus: + +Verwendung von fwmod im "no freetz"-Modus +----------------------------------------- + +Seit trunk-\ `r13796 </changeset/13796>`__ ist es möglich fwmod im quasi +"no freetz"-Modus zu verwenden. Vom Ablauf her entspricht dieser Modus +dem Bauen einer freetz-modifizierten Firmware. In diesem Modus wird +jedoch keine einzige freetz-Änderung vorgenommen. Stattdessen wird ein +Hook aufgerufen, in dem man eigene Modifikationen der Firmware +implementieren und automatisiert ausführen lassen kann. Konkret gehe man +wie folgt vor: + +#. Man rufe ``make menuconfig`` auf, schalte den Experten-Modus ein + ("Level of User Competence" = Expert), wähle die richtige Hardware + (z.B. 7390) aus und aktiviere anschließend unter "Firmware packaging + (fwmod) options" die Option "Skip modifying unpacked firmware, adding + Freetz stuff". Der letzte Schritt entspricht dem Aktivieren des "no + freetz"-Modus. Seit Fritz!OS-6.5x empfiehlt es sich weiterhin die + Option "Sign image" (ebenfalls unter "Firmware packaging (fwmod) + options" zu finden) zu aktivieren (s. dazu den `​Signieren von + Firmware <http://trac.freetz.org/wiki/help/howtos/development/sign_image>`__-Artikel). +#. Die eigenen Mods der Firmware sind in dem Script + `​fwmod_custom <http://trac.freetz.org/browser/trunk/fwmod_custom>`__ + in der Funktion + `​all_no_freetz <http://trac.freetz.org/browser/trunk/fwmod_custom?rev=13796#L14>`__ + zu implementieren. Das entpackte Root-Dateisystem steht dabei unter + ``./filesystem`` zur Verfügung. fwmod_custom enthält bereits einige + auskommentierte Beispiele: `​restore telnet + support <http://trac.freetz.org/browser/trunk/fwmod_custom?rev=13796#L17>`__, + `​restore debug.cfg + support <http://trac.freetz.org/browser/trunk/fwmod_custom?rev=13796#L25>`__. +#. Anschließend rufe man ``make`` auf. Das entpackte, + fwmod_custom-modifizierte, wieder zusammengepackte und ggf. signierte + Image ist unter ``images/`` zu finden. + + .. code:: wiki + + STEP 1: UNPACK + unpacking firmware image + removing NMI vector from SquashFS + NMI vector v1 found at offset 0xBE0000, removing it ... done. + splitting kernel image + unpacking filesystem image + Reading a different endian SQUASHFS filesystem on build/original/kernel/kernelsquashfs.raw + Filesystem on build/original/kernel/kernelsquashfs.raw is lzma compressed (3:76) + Parallel unsquashfs: Using 1 processor + 6112 inodes (6522 blocks) to write + created 5328 files + created 373 directories + created 697 symlinks + created 87 devices + created 0 fifos + unpacking AVM plugins + tam image + webcm_interpreter image + wlan image + unpacking var.tar + done. + + detected firmware 7390_de 84.06.80 rev43122 (07.02.2017 12:23:41) + + STEP 3: PACK/SIGN + WARNING: Modifications (STEP 2) and this step should never + ever be run with different configurations! + This can result in invalid images!!! + WARNING: firmware does not seem to be modified by the script + invoking custom script + restoring support for /var/flash/debug.cfg + patching ./filesystem/etc/init.d/rc.tail.sh + checking for left over Subversion directories + packing var.tar + Image signing files found, checking their consistency + Copying /home/gene/.freetz.image_signing.asc to /etc/avm_firmware_public_key9 + creating filesystem image + SquashFS block size: 64 kB (65536 bytes) + merging kernel image + kernel image size: 14.6 MB, max 14.9 MB, free 0.3 MB (269568 bytes) + WARNING: Not enough free flash space for answering machine! + adding checksum to kernel.image + packing images/7390_06.80.de_20170220-222457.image + image file size: 16.8 MB + signing images/7390_06.80.de_20170220-222457.image + signed image file size: 16.8 MB + done. + + FINISHED + +- Tags +- `firmware </tags/firmware>`__ +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/development/save_mtd_1.rst b/wiki/help/howtos/development/save_mtd_1.rst new file mode 100644 index 0000000..1f882b4 --- /dev/null +++ b/wiki/help/howtos/development/save_mtd_1.rst @@ -0,0 +1,812 @@ +help/howtos/development/save_mtd_1 +================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _Flash-PartitionenimlaufendenBetriebsichern: + +Flash-Partitionen im laufenden Betrieb sichern +============================================== + +Dieser Artikel baut auf dem Artikel +`Flash-Partitionierung <flash.html>`__ auf. Ihn vorher zu lesen, schadet +also nicht. + +Die überarbeitete Version des Artikels füllt einige Lücken bzgl. der +Frage nach der Numerierung von Devices. Dafür gebührt unser Dank +`​Oliver +(olistudent) <http://www.ip-phone-forum.de/member.php?u=58639>`__. + +Wie man Partitionen direkt über den Urlader/Bootloader sichert, findet +sich weiter unten. + +.. _Motivation: + +Motivation +---------- + +Ich habe noch nie mit dem `ADAM2 <adam2.html>`__-Bootloader via FTP +gearbeitet und werde das auch vermutlich erst dann tun, wenn es +notwendig ist oder höchstens mal, um vorher zu üben. Um aber für den +Notfall gerüstet zu sein, wollte ich in der Lage sein, nicht nur Backups +von Kernel und Dateisystem zu ziehen, sondern auch eine Sicherungskopie +vom Bootloader selbst machen können - alles idealerweise, ohne ADAM2 +selbst zu benutzen, also einfach im laufenden Betrieb über +Shell-Skripten. Dieser Artikel beschreibt, wie das geht. + +.. _Voraussetzungen: + +Voraussetzungen +--------------- + +Ich habe eine FritzBox Fon WLAN 7170, darf mich also zu den gut +ausgestatteten AVM-Kunden zählen, weil die 7170 momentan das Modell mit +dem größten Flash-Speicher und den umfangreichsten +Anschlussmöglichkeiten ist. Ich schreibe das nicht, um Werbung zu +machen, sondern um klar zu machen, dass das Folgende nicht 1:1 für alle +anderen Boxen gelten muss und dies vermutlich auch nicht tut. +Insbesondere Zahlenwerte sind auf die Verhältnisse der anderen Boxen +anzupassen. + +Die Box hat folgende Merkmale: + +:: + + { + echo Kernel: $(uname -a) + echo Firmware: $CONFIG_VERSION_MAJOR.$CONFIG_VERSION $CONFIG_SUBVERSION + echo Flash-Partitionierung: + cat /proc/sys/urlader/environment | grep mtd + } + + # Kernel: Linux fritz.box 2.6.13.1-ohio #1 Sat Jan 27 12:00:36 CET 2007 mips unknown + # Firmware: 29.04.29 ds-0.2.9 --> _26-13 + # Flash-Partitionierung: + # mtd0 0x90000000,0x90000000 --> Hidden Root, 0 KB + # mtd1 0x90010000,0x90780000 --> Kernel + Filesystem, 7.616 KB + # mtd2 0x90000000,0x90010000 --> ADAM2 Bootloader, 64 KB + # mtd3 0x90780000,0x907C0000 --> TFFS für Konfig-Daten, 256 KB + # mtd4 0x907C0000,0x90800000 --> Kopie TFFS (Double Buffering), 256 KB + +Die Anmerkungen hinter den Pfeilen wurden manuell eingefügt. + +.. _Lösungsweg: + +Lösungsweg +---------- + +Wenn wir uns das Pseudo-Dateisystem ``/dev/`` anschauen, erkennen wir +schnell, dass es folgende Geräte (Devices) gibt, die offenbar mit +unserer Aufgabe im Zusammenhang stehen: + +- ``/dev/mtd0/`` bis ``/dev/mtd10`` +- ``/dev/mtdblock0`` bis ``/dev/mtdblock10`` + +Worin besteht nun der Unterschied zwischen diesen Geräten? Es scheint, +als seien sie alle doppelt vorhanden unter verschiedenen Namen. In +gewissem Sinne stimmt das auch, und weshalb das so ist, sehen wir hier: + +:: + + ls -l /dev/mtd* + + # crw-r----- 1 root root 90, 0 Jan 1 2000 /dev/mtd0 + # crw-r----- 1 root root 90, 1 Jan 1 2000 /dev/mtd1 + # ... + # brw-r----- 1 root root 31, 0 Jan 1 2000 /dev/mtdblock0 + # brw-r----- 1 root root 31, 1 Jan 1 2000 /dev/mtdblock1 + # ... + +Die jeweils ersten Buchstaben des File Mode bringen es an den Tag: Die +``mtd*`` sind zeichenorientierte Geräte (Character Devices, Kürzel "c"), +``mtdblock*`` sind blockorientierte Geräte (Block Devices, Kürzel "b"). +Man könnte also sagen, es gibt zwei unterschiedliche Sichten auf den +Flash-Speicher: Zum einen kann man ihn als kontinuierlichen Zeichenstrom +sehen, zum anderen als Gerät mit blockweisem Direktzugriff (wie eine +Festplatte). Genaueres gibt es in der +`​Wikipedia <http://de.wikipedia.org/wiki/Ger%C3%A4tedatei>`__. + +Für den Zweck unserer Sicherheitskopie ist es im Grunde herzlich egal, +wie diese zustande kommt (Zeichen für Zeichen oder blockweise), solange +sich am Ende nur eine komplette Datei pro Flash-Partition auf unserer +Festplatte befindet. Ich habe beide Varianten ausprobiert und bin bei +beiden auf noch ungeklärte Phänomene gestoßen, aber mit den Block +Devices funktionieren die Datensicherungen besser, wie wir sehen werden. + +Für die weiteren Erklärungen gehe ich davon aus, daß ein Mount Point +``/var/fritz`` existiert, der einen größeren Datenspeicher darstellt. +Bei mir ist das eine über *smbmount* angebundene Windows-Freigabe, es +könnten aber auch USB-Sticks oder -Festplatten in Frage kommen. Genügend +freien RAM-Speicher auf der Box vorausgesetzt, kann man die Kopien auch +irgendwo unterhalb von ``/var`` zwischenspeichern und via FTP oder SCP +abtransportieren. + +.. _KopienvonBlockDevicesmtdblock: + +Kopien von Block Devices (mtdblock*) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ich hatte erwartet, mit folgendem Befehl den ADAM2-Bootloader, welcher +sich nach Konfiguration laut Urlader (s.o.) ja in Partition ``mtd2`` +befinden soll, sichern zu können: + +:: + + cat /dev/mtdblock2 > /var/fritz/adam2 + +Doch weit gefehlt, was finde ich auf meiner Festplatte? Eine Datei der +Größe 7.798.784 Bytes, das sind genau 7.616 KB und somit exakt die Größe +der eigentlich unter ``mtd1`` beheimateten Kombination aus Kernel und +direkt daran anschließendem Dateisystem. Das Ganze scheint mit der +Zählweise zusammenzuhängen, denn es ergibt sich folgendes Bild: + ++-----------------+-----------------+-----------------+-----------------+ +| Blockgerät | Partition | Größe | Beschreibung | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock0 | —- | —- | *Endlosschleife | +| | | | beim Auslesen* | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock1 | mtd0 | 6.966 KB | SquashFS-Filesy | +| | | | stem | +| | | | ohne Kernel | +| | | | (hinterer Teil | +| | | | von mtd1) | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock2 | mtd1 | 7.616 KB | Kernel + | +| | | | SquashFS-Filesy | +| | | | stem | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock3 | mtd2 | 64 KB | ADAM2 | +| | | | Bootloader | +| | | | ("Urlader") | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock4 | mtd3 | 256 KB | TFFS für | +| | | | Konfig-Daten | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock5 | mtd4 | 256 KB | Kopie TFFS | +| | | | (Double | +| | | | Buffering) | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock6 | (mtd5) | 1.664 KB | (Vorbereitet | +| | | | für) JFFS2 | ++-----------------+-----------------+-----------------+-----------------+ +| mtdblock7 | (mtd6) | 5.952 KB | (Vorbereitet | +| | | | für) Kernel | +| | | | ohne JFFS2 | ++-----------------+-----------------+-----------------+-----------------+ + +Die weiteren drei ``mtdblock``-Geräte ergeben Ausgaben der Länge null. + +Zusammenfassend kann man sagen: Will man eine Kopie der **Partition +``mtd[n]``** haben, muß man offenbar das **Blockgerät +``mtdblock[n+1]``** benutzen. + +Anmerkung von +`​maceis <http://www.ip-phone-forum.de/member.php?u=95502>`__ +(29.12.2011): + + *Diese Verschiebung kann ich bei meiner neuen 7270_v3 nicht + feststellen. ``cat /dev/mtdblock1`` ergibt bei mir eine Datei, die + aufs kB genau so groß ist, wie der Kernel. ``cat /dev/mtdblock2`` ist + 128 kB groß. Das deckt sich mit den Ausgaben von ``cat /proc/mtd`` + und ``cat /proc/partitions``. Der Platz für den Urlader ist also + offensichtlich größer geworden. (Warum?)* + +Antwort von `​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ +(06.01.2012): + + *Ich sehe die Verschiebung aktuell auch nicht mehr auf meinen beiden + Boxen. Das hängt wohl mit Firmware- bzw. Urladerversionen zusammen, + kann also nicht pauschal für alle Geräte gesagt werden. Der Artikel + ist ja auch schon ziemlich alt, und damals war es eben so. Zur Größe + des Urladers: Tja, auch hier ändern sich offenbar die Zeiten. Während + z.B. die 7170 und die 7270_v1 sowie alle älteren Modelle 64 kB + Urladergröße hatten, sind es bei der*\ `​7270_v2/3 128 + kB <http://www.wehavemorefun.de/fritzbox/index.php/7270#Environment>`__\ *. + Bei ganz neuen Boxen schließe ich auch 256 kB nicht aus, da müßte ich + mal nachforschen, ich habe nur die älteren Geräte.* + +.. _KopienvonCharacterDevicesmtd: + +Kopien von Character Devices (mtd*) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Jetzt wird es richtig verwirrend, denn bei den Zeichengeräten taucht +jede Partition zweimal hintereinander auf, allerdings nicht bis ganz zu +Ende, da es ja bei der laufenden Nummer 10 aufhört: + ++-----------------+-----------------+-----------------+-----------------+ +| Zeichengerät | Partition | Größe | Beschreibung | ++-----------------+-----------------+-----------------+-----------------+ +| mtd0/1 | —- | —- | *Endlosschleife | +| | | | beim Auslesen* | ++-----------------+-----------------+-----------------+-----------------+ +| mtd2/3 | mtd0 | 6.966 KB | SquashFS-Filesy | +| | | | stem | +| | | | ohne Kernel | +| | | | (hinterer Teil | +| | | | von mtd1) | ++-----------------+-----------------+-----------------+-----------------+ +| mtd4/5 | mtd1 | 7.616 KB | Kernel + | +| | | | SquashFS-Filesy | +| | | | stem | ++-----------------+-----------------+-----------------+-----------------+ +| mtd6/7 | mtd2 | 64 KB | ADAM2 | +| | | | Bootloader | +| | | | ("Urlader") | ++-----------------+-----------------+-----------------+-----------------+ +| mtd8/9 | mtd3 | 256 KB | TFFS für | +| | | | Konfig-Daten | ++-----------------+-----------------+-----------------+-----------------+ +| mtd10(/11) | mtd4 | 256 KB | Kopie TFFS | +| | | | (Double | +| | | | Buffering) | ++-----------------+-----------------+-----------------+-----------------+ +| (mtd12/13) | (mtd5) | 1.664 KB | (Vorbereitet | +| | | | für) JFFS2 | ++-----------------+-----------------+-----------------+-----------------+ +| (mtd14/15) | (mtd6) | 5.952 KB | (Vorbereitet | +| | | | für) Kernel | +| | | | ohne JFFS2 | ++-----------------+-----------------+-----------------+-----------------+ + +Die eingeklammerten Zeichengeräte in der ersten Spalte würde es geben, +wenn ``/sbin/makedevs`` sie beim Hochfahren anlegen würde. In +``/etc/device.table`` müßte dazu Folgendes geändert werden, um die +Devices bis ``mtd15`` zu erhalten: + +.. code:: wiki + + # Aktuelle Einstellung bei AVM und in Freetz + /dev/mtd c 640 0 0 90 0 0 1 11 + + # Geänderte Einstellung (siehe letzte Spalte) + /dev/mtd c 640 0 0 90 0 0 1 16 + +.. + + *Zitat*\ `​Oliver + (olistudent) <http://www.ip-phone-forum.de/member.php?u=58639>`__\ *: + "In der original Firmware hört das auch bei 10 auf. Da hab ich das + halt so übernommen."* + +Verständlich, würde ich sagen. Es kann ja jeder für sich ändern, falls +er glaubt, die Geräte zu brauchen. + +Der Grund für die Doppelung ist übrigens, daß die Geräte mit den geraden +Nummern Lese-Schreib-Zugriff bieten, die mit den ungeraden +Nur-Lese-Zugriff. + +Hier lautet die Formel: Will man eine Kopie der **Partition ``mtd(n)``** +haben, benutzt man das **Zeichengerät ``mtd(2n+2)``** - oder wahlweise +``mtd(2n+3)``. + +.. _EingefährlicherTipohneGewähr: + +Ein (gefährlicher?) Tip, ohne Gewähr +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Im +`​OpenWRT-Forum <http://forum.openwrt.org/viewtopic.php?pid=18281#p18281>`__ +ist nachzulesen, daß man auf diese Weise den Bootloader im laufenden +Betrieb überschreiben könne *(Konjunktiv beachten, ich kenne keinen hier +im Forum, der es getestet hat):* + +:: + + # Annahme 1: neuer Bootloader liegt schon unter /var/adam2_new + # Annahme 2: /dev/mtdblock3 entspricht Bootloader-Partition mtd2 + + # So nicht: cp /var/adam2_new /dev/mtdblock3/ + cat /var/adam2_new > /dev/mtdblock3 + + reboot + +**Update (``cat`` statt ``cp``, s.o.):** Wie unter `ADAM2 +überschreiben <adam2.html>`__ nachzulesen, klappt das, wie mehrfach +bestätigt wurde und wie AVM auch vormacht in FW-Updates. + +Wer will es versuchen? Falls es schief geht und man den Bootloader +löscht statt überschreibt oder das neue Image Mist ist, darf man das +Paket an AVM schon fertig machen :-/, sofern man nicht glücklicher +Besitzer eines +`​JTAG-Kabels <http://feadispace.fe.funpic.de/FBF7050/>`__ (siehe auch +`​OpenWrt.org <http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable>`__) +mit passender Software ist. Falls man versehentlich "nur" eine andere +Partition überschreibt, sollte ein Recover reichen. + +.. _WegesichschnelleinenÜberblickzuverschaffen: + +Wege, sich schnell einen Überblick zu verschaffen +------------------------------------------------- + +Was ich schon lange beschreiben wollte, da ich es zum Zeitpunkt der +Urfassung dieses Artikels noch nicht wusste, aber später durch +voneinander unabhängige Hinweise von `​Sedat +(dileks) <http://www.ip-phone-forum.de/member.php?u=95274>`__ und +`​Enrik (enrik) <http://www.ip-phone-forum.de/member.php?u=58906>`__ +gelernt habe, ist, daß es sehr viel einfacher gewesen wäre, obige +Tabellen bzgl. Partitionen und Block Devices zu erstellen, hätte ich +folgende Befehle gekannt, die jeder auf seinem Boxtyp ausführen sollte, +um sich einen Überblick zu verschaffen, denn die Partitionen sind nicht +überall gleich groß und haben nicht überall die gleiche Nummerierung. +Beispielsweise ist der Urlader unter Kernel 2.4 unter +``/dev/mtdblock/2`` zu finden und befindet sich unter Kernel 2.6 unter +``/dev/mtdblock3`` (andere Nummer, eine Verzeichnisebene höher). Das ist +wichtig zu wissen, wenn man z.B. ein Downgrade auf eine ältere +Firmwareversion vorhat, die auch auf einen älteren Kernel und Bootloader +aufsetzt. Es bringt ja nichts, Letzteren in die falsche Partition zu +schreiben. + +/proc/partitions +~~~~~~~~~~~~~~~~ + +:: + + $ cat /proc/partitions + + major minor #blocks name + + 31 0 8192 mtdblock0 + 31 1 6966 mtdblock1 + 31 2 7616 mtdblock2 + 31 3 64 mtdblock3 + 31 4 256 mtdblock4 + 31 5 256 mtdblock5 + 31 6 1600 mtdblock6 + 31 7 6016 mtdblock7 + 8 0 64000 sda + 8 1 63984 sda1 + +Hier sieht man sehr schön die Größen der einzelnen Partitionen samt +Device Major/Minor (wer's braucht) und passenden Block-Device-Namen. + +Auf einer 7270 sieht das etwas anders aus: + +.. code:: wiki + + $ cat /proc/partitions + + major minor #blocks name + + 31 0 6732 mtdblock0 + 31 1 883 mtdblock1 + 31 2 64 mtdblock2 + 31 3 256 mtdblock3 + 31 4 256 mtdblock4 + 31 5 8192 mtdblock5 + +Hier scheint mtdblock2 wirklich der Bootloader zu sein. + +/proc/mtd +~~~~~~~~~ + +.. code:: wiki + + $ cat /proc/mtd + + dev: size erasesize name + mtd0: 00800000 00010000 "phys_mapped_flash" + mtd1: 006cdb00 00010000 "filesystem" + mtd2: 00770000 00010000 "kernel" + mtd3: 00010000 00010000 "bootloader" + mtd4: 00040000 00010000 "tffs (1)" + mtd5: 00040000 00010000 "tffs (2)" + mtd6: 00190000 00010000 "jffs2" + mtd7: 005e0000 00010000 "Kernel without jffs2" + +In dieser alternativen Darstellung mit in Hexadezimal-Schreibweise +angegebener Partitionsgröße sieht man noch als Kommentar eine +Beschreibung, die Auskunft darüber gibt, wofür die einzelnen Partitionen +tatsächlich vorgesehen sind. Sehr einfach, sehr praktisch. + +Und auch hier wieder die 7270: + +.. code:: wiki + + $ cat /proc/mtd + + dev: size erasesize name + mtd0: 00693200 00010000 "rootfs" + mtd1: 000dce00 00010000 "kernel" + mtd2: 00010000 00010000 "urlader" + mtd3: 00040000 00010000 "tffs (1)" + mtd4: 00040000 00010000 "tffs (2)" + mtd5: 00800000 00010000 "reserved" + +.. _BackupvonUrladerKernelundDateisystem: + +Backup von Urlader, Kernel und Dateisystem +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Wie man bei einer Kernel-2.6-Firmware konkret und effizient +``urlader.image`` und ``kernel.image`` übers Netzwerk wegsichert, +beschreibe ich im +`​Forum <http://www.ip-phone-forum.de/showthread.php?p=954170#post954170>`__. + +.. _Anmerkungenzur7270v3mit2.6erKernelmitVersion74.04.88getestet: + +Anmerkungen zur 7270v3 mit 2.6er Kernel (mit Version 74.04.88 getestet) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Das in den letzten Absätzen angegebene Layout für die 7270 mit obiger +Firmware kann ich noch um folgende Informationen zur letzten „Partition“ +ergänzen. Die in „/proc/mtd“ als "reserved" angegebene „mtd5“ enthält +den gesamten Bereich von „mtd0“ bis „mtd4” hintereinander. Darauf +gebracht hat mich die Größe von 16 MiB (0x800000). Hat man in Freetz das +Programm „dd“ mit den Funktionen „if“ und „of“ (beides ist auszuwählen +im Menuconfig; getestet mit Freetz 1.2) integriert, läßt sich auf +einfache Weise eine vollständige Sicherheitskopie ziehen und +zurückspielen: + +.. code:: wiki + + $ dd if=/dev/mtdblock5 of=/var/media/ftp/uStor00/mtd5.bak + +Wiederherstellen geht dann umgekehrt: + +.. code:: wiki + + $ dd of=/dev/mtdblock5 if=/var/media/ftp/uStor00/mtd5.bak + +Das Programm „cat“ ist zum Sichern ebenso geeignet, hier muß dann die +Ausgabe in die Zieldatei umgeleitet werden. Der erste eingesteckte +USB-Speicher ist für gewöhnlich als „/var/media/ftp/uStor00“ eingehängt, +das kann natürlich im Einzelfall anders heißen. Mit „bzip2“ kann man es +bei Bedarf noch geringfügig komprimieren. Für die Kopien habe ich ein +Skript auf dem USB-Speicher liegen, daß regelmäßig eine solche Kopie per +Cron anfertigt. + +Getestet habe ich das auch: als der Router in einer Reboot-Schleife +hing, habe ich durch das Zurückspielen einer solchen Kopie erfolgreich +einen früheren Zustand wiederhergestellt. + +Beachte, daß AVM das Layout in künftigen Versionen ohne weiteres wieder +ändern kann, tippe also niemals ohne eigene Prüfung einfach die +Befehlszeilen oben ab. `​Christoph +Franzen <http://www.ip-phone-forum.de/member.php?u=121255>`__ + +.. _Zusammenfassung: + +Zusammenfassung +--------------- + +Wer Kopien seiner Flash-Partitionen haben möchte, macht das im laufenden +Betrieb am besten, indem er das passende Block Device auswählt (Vorsicht +bei der verschobenen Numerierung!) und mittels ``cat`` die Daten auf ein +externes Medium wegsichert. *ADAM2* benötigt man hierfür jedenfalls +nicht zwingend, es geht auch so. Am besten kontrolliert man anhand der +sich ergebenden Dateigrößen, ob man die richtigen Partitionen erwischt +hat. Der Bootloader hat immer 64 KB, das TFFS 256 KB, der Rest hängt von +der Box und der Firmware-Version ab. + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ diff --git a/wiki/help/howtos/development/save_mtd_2.rst b/wiki/help/howtos/development/save_mtd_2.rst new file mode 100644 index 0000000..e9a7c22 --- /dev/null +++ b/wiki/help/howtos/development/save_mtd_2.rst @@ -0,0 +1,594 @@ +help/howtos/development/save_mtd_2 +================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _Flash-PartitionenvonaußenmitFTPsichern: + +Flash-Partitionen von außen mit FTP sichern +=========================================== + +Dieser Artikel baut auf dem Artikel +`Flash-Partitionierung <flash.html>`__ auf. Ihn vorher zu lesen, schadet +also nicht. Mein herzlicher Dank für einige der Informationen zu diesem +Artikel gebührt Enrik Berkhan, der sich hier immer vornehm zurückhält, +aber sooo viel weiß. |:-)| + +.. _Motivation: + +Motivation +---------- + +Im verwandten Artikel `Flash-Partitionen im laufenden Betrieb +sichern <save_mtd_1.html>`__ habe ich erklärt, wie man direkt von der +Konsole (SSH, Telnet, Rudi-Shell) auf der FritzBox aus über +entsprechende Linux-Block- bzw. -Character-Devices Datensicherungen +vornehmen kann. Das gleiche geht auch "von außen", also ohne +Shell-Zugriff von der Box, indem man per FTP den Urlader - neudeutsch +Bootloader - kontaktiert. Früher hieß der Urlader +`ADAM2 <adam2.html>`__, heute EVA bei den aktuellen Kernel-2.6-Firmwares +(obwohl die Login-Daten immer noch wie früher sind, wie wir gleich sehen +werden). + +Diese Methode ist auch dann anwendbar, wenn die Box nicht mehr sauber +hochfährt oder man kein Telnet auf der Box mit Original-Firmware hat +bzw. man es nicht schafft, es zu aktivieren. + +.. _Voraussetzungen: + +Voraussetzungen +--------------- + +Wir brauchen eine FritzBox mit Kernel 2.6 und EVA-Urlader, denn seit +älteren Versionen könnten die FTP-Befehle sich mehr oder weniger stark +verändert haben. Das weiß ich aber nicht genau. Es geht auch ein +entsprechendes OEM-Gerät, also z.B. Speedport W501V, W701V, W900V. + +Außerdem benötigen wir ein **Linux**-System (auch eine virtuelle +Maschine, z.B. VMware, geht) mit installiertem +Standard-Kommandozeilen-Client *ftp* (bei mir das Debian-Paket *ftp +0.17-16*) oder aber mit `​NcFTP <http://en.wikipedia.org/wiki/Ncftp>`__ +3.2.0 (bei mir Debian-Paket *ncftp 2:3.2.0-1*). + +Alternativ funktioniert die beschriebene Prozedur mit NcFTP 3.2.0 auch +unter **Windows mit Cygwin**. Dort klappt es aber nicht mit dem +Standard-FTP-Client, mit dem Windows-FTP schon gar nicht. + +Des weiteren sollte die Boot-IP der Box bekannt sein. Kennt man sie +nicht und kommt man nicht über eine Konsole (SSH, Telnet, Rudi-Shell, +Nano-Shell) an Informationen aus der Box, so kann man sie mittels +``ping`` herausfinden, indem man verschiedene IP-Adressen "anpingt" +direkt nach dem Aus- und Einschalten/-stecken der Box. Folgende IPs +werden häufig verwendet: + +- 192.168.178.1 (allermeistens) +- 169.254.1.1 +- 192.168.2.1 +- 192.168.2.254 + +Die normale und einfache Methode, die Boot-IP herauszufinden, ist diese: + +.. code:: wiki + + cat /proc/sys/urlader/environment | grep my_ipaddress + +Man sollte dafür sorgen, dass Personal Firewalls ausgeschaltet sind, +evtl. auch andere Sicherheitspakete, die den Netzwerkverkehr behindern +könnten. Spätestens, wenn es mit aktiven Programmen nicht geht, sollte +man sie ausschalten, auch wenn man sich einbildet, alles sei richtig +eingestellt und daran könne es nicht liegen. Ganz ausschalten, nicht nur +inaktiv setzen! + +Außerdem ist es hilfreich, dass der Rechner, von dem aus man die +Ping-Versuche unternimmt und die Verbindung per FTP initiieren möchte, +im gleichen Subnetz (z.B. 192.168.178.0/24 bzw. Netzmaske 255.255.255.0) +ist wie die Box, und zwar bzgl. der Adresse, die man gerade testet. Dass +übrigens der Ping von Windows aus funktioniert, bedeutet noch lange +nicht, dass man dann aus VMware heraus auch Verbindung aufnehmen kann. +Wirklich von dort probieren, wo man später arbeiten möchte. + +Verbindungsversuche benötigen evtl. mehrere Anläufe, also wenn ein Ping +oder ein FTP-Connect nach drei, vier Sekunden nach Anschalten der Box +noch nicht geklappt hat, am besten aus- und wieder einschalten, bis der +Ping oder FTP-Connect funktioniert. Unter Windows sollte man ggf. auch +noch das Media Sensing ausschalten, indem man folgendes als Textdatei +``mediasensing-aus.reg`` speichert und doppelklickt, um es danach in die +Windows-Registry eintragen zu lassen: + +.. code:: wiki + + Windows Registry Editor Version 5.00 + + [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters] + + "DisableDHCPMediaSense"=dword:00000001 + +Evtl. sollte man nach dem Ausschalten einen Windows-Neustart machen. +AVMs Recover-Werkzeug macht das jedenfalls, aber vielleicht geht es auch +ohne. Man kann das Mediasensing dauerhaft ausgeschaltet lassen, sofern +man den betreffenden Rechner nicht ständig an verschiedenen Netzwerken +ein- und ausstöpselt und das Mediasensing für unterschiedliche +DHCP-Server benötigt (z.B. Notebook abwechselnd im Büro und zu Hause). +Sollte man es doch wieder einschalten wollen, geht das so: + +.. code:: wiki + + Windows Registry Editor Version 5.00 + + [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters] + + "DisableDHCPMediaSense"=dword:00000000 + +.. _AllgemeineInformationenzurDatensicherung: + +Allgemeine Informationen zur Datensicherung +------------------------------------------- + +Das im Folgenden gezeigte Vorgehen ist immer das gleiche, auch wenn +unterschiedliche Kommandozeilen-Clients verwendet werden. Man kann das +Ganze auch manuell im Dialog im FTP-Client durchführen, und außer den +genannten Clients funktionieren vermutlich noch einige andere. Passiven +Datentransfer sollten sie aber beherrschen, und Garantien gebe ich +sowieso nicht. |;-)| Die von mir getesteten Programme sollten ein +Gelingen aber wesentlich wahrscheinlicher machen. + +Eine Seltsamkeit gibt es, auf die ich gleich hinweisen möchte: Immer +nach dem `Download <../../../Download.html>`__ einer ``mtd``-Partition +muß man manuell einmal Strg-C (engl. Ctrl-C) an der Kommandozeile des +FTP-Clients eingeben, damit der Client weiter läuft bzw. terminiert. Aus +irgendeinem Grund wird das Ende eines GET-Downloads nicht erkannt, was +wohl dem Urlader zuzuschreiben ist. Am besten kontrolliert man in einer +zweiten Konsole am Client, ob die Größe der +`Download <../../../Download.html>`__-Datei noch wächst. Nach ein paar +Sekunden sollte das nicht mehr der Fall sein. Die Urlader- und +TFFS-Partitionen sind sowieso fast augenblicklich heruntergeladen, nur +bei ``mtd1``, der Partition für Kernel + Dateisystem der Box, dauert es +ein bißchen länger, geht aber auch sehr schnell. Dabei gelten folgende +Dateigrößen: + +- Dateisystem + Kernel (``mtd1``): + + - 7.616 KB = 7.798.784 Bytes bei 8-MB-Boxen + - 3.520 KB = 3.604.480 Bytes bei 4-MB-Boxen + - 1.472 KB = 1.507.328 Bytes bei 2-MB-Boxen (theoretisch, diese + Boxen haben momentan noch alte Urlader) + +- Urlader/Bootloader/EVA (mtd2): immer 64 KB = 65.536 Bytes +- TFFS1 (mtd3): immer 256 KB = 262.144 Bytes +- TFFS2 (mtd4): immer 256 KB = 262.144 Bytes + +``mtd1-4`` summiert ergeben immer genau 8 bzw. 4 bzw. 2 MB, also die +Speichergröße der jeweiligen Box. + +.. _SicherungmitLinux-Standard-FTPftp: + +Sicherung mit Linux-Standard-FTP (ftp) +-------------------------------------- + +Folgenden Code am besten in eine Skript-Datei eintragen und von dort +ausführen wegen der Mehrzeiligkeit. Dabei die passende IP-Adresse +eintragen und nach dem vollständigen +`Download <../../../Download.html>`__ jeder Partition jeweils einmal +Strg-C drücken, damit die folgende heruntergeladen wird bzw. am Ende die +FTP-Sitzung beendet wird. + +:: + + ( + cat <<EOT + open 192.168.178.1 + user adam2 adam2 + debug + bin + quote MEDIA FLSH + get mtd1 + get mtd2 + get mtd3 + get mtd4 + quit + EOT + ) | ftp -n -p + +Im Anschluß sollten sich im aktuellen Verzeichnis vier Dateien von +``mtd1`` bis ``mtd4`` befinden. + +.. _SicherungmitLinux-NcFTPncftpget: + +Sicherung mit Linux-NcFTP (ncftpget) +------------------------------------ + +Auch hier wieder die IP-Adresse ersetzen. Das Skript jeweils einmal für +jede der vier Partitionen von ``mtd1`` bis ``mtd4`` aufrufen, alles auf +einmal geht hier nicht. Aber Strg-C am Ende des +`Downloads <../../../Download.html>`__ ist auch hier zum Beenden +erforderlich. + +.. code:: wiki + + ncftpget \ + -d stdout \ + -o doNotGetStartCWD=1,useFEAT=0,useHELP_SITE=0,useCLNT=0,useSIZE=0,useMDTM=0 \ + -W "quote MEDIA FLSH" \ + -u adam2 \ + -p adam2 \ + ftp://192.168.178.1/mtd1 + +.. _SicherungmitCygwin-NcFTPncftpget: + +Sicherung mit Cygwin-NcFTP (ncftpget) +------------------------------------- + +Das funktioniert genauso wie unter Linux mit der gleichnamigen +Anwendung, siehe oben. + +.. _UploadsviaFTP: + +Uploads via FTP +--------------- + +Analog hierzu kann man auch mit ``ftp`` bzw. ``ncftpput`` Uploads +machen, allerdings sollte man das im Normalfall nur für ``mtd1`` (Kernel ++ Dateisystem) machen, und dafür gibt es in ds26-15.2 bereits ein +bequemes Skript Namens ``tools/push_firmware.sh`` (ab 15.3 entfällt die +Endung ``.sh``), welches unter Linux und Windows + Cygwin läuft und +genaus das tut. + +Das doppelt gepufferte TFFS - dort werden die Einstellungen der +Firmware, sowohl vom Hersteller als auch von Freetz, gespeichert - +sollte man nur im Notfall und immer nur auf genau die Box zurück +spielen, von der es stammt, denn es enthält einen Teil der Identität der +Box. Das hat sich seit dem Übergang von ADAM2 auf EVA zwar relativiert, +weil der wichtigste Teil der Angaben direkt in den Bootloader gewandert +ist - siehe `​Artikel von Enrik zu +EVA <http://wehavemorefun.de/fritzbox/index.php/EVA>`__ - aber man +sollte trotzdem damit aufpassen. + +Was viel brisanter geworden ist, ist ein Überschreiben des Urladers, +denn er enthält seit dem Übergang auf EVA wirklich wichtige +box-individuelle Daten. Außerdem lässt er sich sowieso nicht via FTP +überschreiben, weil er während der FTP-Sitzung ja gerade aktiv ist. Im +Artikel `ADAM-Bootloader <adam2.html>`__ wird beschrieben, wie man den +Urlader direkt im laufenden Betrieb von der Konsole auf der Box aus +überschreiben kann, aber dort steht nicht, wie man die box-individuellen +Daten dort ins Image bekommt. Sie sollten also tunlichst bereits drin +sein oder man sollte sich die Update-Prozedur aus den Original-Firmwares +(z.B. 06.04.33, darin steckt ein Bootloader samt Update-Programm) +anschauen und sich o.g. Artikel von Enrik durchlesen. + +|/!\\| **Ich kann nur dringendst davon abraten, den Urlader zu +überschreiben, das sollte auch nie notwendig sein!!!** |/!\\| + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ + +.. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png +.. |;-)| image:: ../../../../chrome/wikiextras-icons-16/smiley-wink.png +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/development/sign_image.rst b/wiki/help/howtos/development/sign_image.rst new file mode 100644 index 0000000..a31865f --- /dev/null +++ b/wiki/help/howtos/development/sign_image.rst @@ -0,0 +1,147 @@ +help/howtos/development/sign_image +================================== +.. _SignierenvonFirmware: + +Signieren von Firmware +---------------------- + +Beim Signieren von Firmware handelt es sich um einen Vorgang, bei dem +die Firmware mit einer `​digitalen +Signatur <https://de.wikipedia.org/wiki/Digitale_Signatur>`__ versehen +wird. Der Einsatzzweck dieser Signatur beschränkt sich aktuell auf die +Überprüfung, ob die Firmware bzw. nachladbare Teile davon (=AVM-Plugins) +aus einer vertrauenswürdigen Quelle stammen und damit geflasht bzw. +nachgeladen und eingebunden werden dürfen. In Bezug auf die Firmware ist +dieser Mechanismus erst seit Fritz!OS-6.5x von AVM scharf geschaltet. +Seit dieser Version kann über das Standard-Web-Interface von AVM nur +noch eine aus einer vertrauenswürdigen und zum Flash-Zeitpunkt der auf +der Box laufenden Firmware bekannten Quelle geflasht werden. + +Um zu verstehen, was der letzte Satz konkret bedeutet, sei kurz auf die +Grundprinzipien des digitalen Signierens eingegangen (für tiefgehende +Informationen sei auf zahlreiche Artikeln im Internet verwiesen, z.B. +auf `​diesen <https://de.wikipedia.org/wiki/Digitale_Signatur>`__ +Wikipedia-Artikel). + +Im Rahmen des digitalen Signierens sind im wesentlichen folgende +Schritte/Sachverhalte von Bedeutung: + +- Die Erzeugung eines aus einem privaten und aus einem öffentlichen + Schlüssel bestehenden Schlüsselpaars. Der private Schlüssel wird + dabei mit einem Passwort versehen, sodass der Schlüssel nur von der + Person verwendet werden kann, die im Besitz des Schlüssels ist und + das Passwort dazu kennt. +- Der private Schlüssel aus dem Schlüsselpaar wird vom Absender einer + digitalen Nachricht verwendet und dient dem Zweck, diese digitale + Nachricht mit einer digitalen Signatur zu versehen. +- Die digitale Signatur ermöglicht es dem Empfänger der Nachricht mit + Hilfe des öffentlichen Schlüssels (auch Verifikationsschlüssel + genannt) die nicht-abstreitbare Urheberschaft und Integrität der + Nachricht zu prüfen. + +Für unseren Anwendungsfall bedeutet es nun folgendes: + +- Die digitale Nachricht ist das Firmware-Image. +- Der Absender der Nachricht ist die Quelle, aus der das Firmware-Image + stammt. Die Quelle muss im Besitz des gesamten Schlüsselpaars sein + (also beider Schlüssel) und das Passwort kennen, mit dem der private + Schlüssel geschützt ist. +- Der Empfänger der Nachricht ist die zum Zeitpunkt des Flash-Vorgangs + auf der Box laufende Firmware-Version. Diese muss im Besitz des + öffentlichen Schlüssels (des Verifikationsschlüssels) sein. + +Ein (digital signiertes) Firmware-Image wird also dann als "aus einer +vertrauenswürdigen Quelle stammend" eingestuft, wenn der öffentliche +Schlüssel dieser Quelle der auf der Box laufenden Firmware bekannt ist +und der Signatur-Prüfungsvorgang bestanden wird. + +Der private, der geheime Schlüssel, mit dem AVM die Original-Images +signiert, liegt uns aus verständlichen Gründen nicht vor (und wenn dies +auch anders wäre, müssten wir auch noch das Passwort dazu kennen). Damit +bleibt uns nichts anderes übrig, als es zu versuchen, ein +selbstsigniertes Image zu erzeugen und die auf der Box laufende Firmware +dazu zu zwingen dieses zu akzeptieren. Dabei sind folgende Hürden zu +überwinden: + +- Der aus mathematischer/technischer Sicht schwierigste Teil besteht + darin, es zu verstehen, worin genau nun ein Signiervorgang bzw. ein + Signatur-Prüfungsvorgang in der AVM-Firmware besteht? + Glücklicherweise hat der (im IPPF-Forum sehr gut bekannte) Entwickler + `​PeterPawn <https://github.com/PeterPawn>`__ diesbezüglich eine + super Arbeit geleistet und im Rahmen seines + `​YourFritz-Projektes <https://github.com/PeterPawn/YourFritz>`__ + alles + `​dokumentiert <http://www.ip-phone-forum.de/showthread.php?t=286213>`__ + und den entsprechenden + `​Quellcode <https://github.com/PeterPawn/YourFritz/tree/master/signimage>`__ + zu Verfügung gestellt, der inzwischen auch in Freetz eingebaut ist. +- Wie oben schon mehrfach erwähnt, damit ein signiertes Image den + Prüfungsvorgang besteht, muss die auf der Box laufende Firmware den + öffentlichen Schlüssel der Quelle kennen. Dies ist für unser + selbstsigniertes Image natürlich nicht der Fall. D.h. wir müssen es + irgendwie schaffen, unseren öffentlichen Schlüssel auf die Box + einzuschleusen. Haben wir dies einmal geschafft, so kann jedes + weitere selbstsignierte Image über das reguläre AVM-Web-Interface + geflasht werden, vorausgesetzt man verwendet genau dasselbe + Schlüsselpaar zum Signieren und vergisst es nicht, den öffentlichen + Schlüssel in jedes neue Image mitaufzunehmen. + +Diese zweite Aufgabe ist streng genommen nicht ganz trivial. Es ist +geplant, einen eigenen Artikel zu diesem Thema zu verfassen. An dieser +Stelle seien stichwortartig mögliche Lösungen angedeutet: + +- Ein Downgrade (mittels Recovery) auf eine ältere Firmware-Version, + die noch unsignierte Images akzeptiert hat. Aus dieser älteren + Firmware-Version heraus muss dann eine jüngere Firmware-Version + geflasht werden, die unseren öffentlichen Schlüssel enthält. +- Hat man zufälligerweise einen Telnet-Zugang auf die Box, so kann + mittels der "drüber mounten"-Methode (``mount -o bind ... ...``) + eines der AVM-Schlüssel temporär durch den eigenen ersetzt werden. +- Bei NOR-Boxen kann ein den öffentlichen Schlüssel enthaltendes Image + mittels + `​push_firmware <http://trac.freetz.org/browser/trunk/tools/push_firmware>`__ + auf die Box gebracht werden. +- Bei NAND-Boxen kann ein den öffentlichen Schlüssel enthaltendes Image + mittels der + `​eva-to-memory-Methode <https://github.com/PeterPawn/YourFritz/blob/master/eva_tools/eva_to_memory>`__ + auf die Box gebracht werden. + +.. _KonkreteAnwendunginFreetz: + +Konkrete Anwendung in Freetz +---------------------------- + +- Man aktiviere die Experten-Ansicht in Freetz ("Level of User + Competence" = Expert). +- Unter "Firmware packaging (fwmod) options" aktiviere man die Option + "Sign image" und gebe das Passwort für den privaten Schlüssel direkt + dadrunter ein (das Passwort wird aus der ins Image kopierten Version + der .config entfernt). +- Anschließend baue man ganz normal eine Freetz-Firmware. + +Durch das Aktivieren dieser Optionen wird folgendes bewirkt: + +- Handelt es um den allerersten Durchlauf, bei dem ein selbstsigniertes + Image erzeugt werden soll, so werden die zum Signieren benötigten + Dateien erzeugt und im Homeverzeichnis des Users unter den Namen mit + folgendem Präfix abgelegt: ``.freetz.image_signing``. Diese Dateien + sind vom User zu sichern und von dem Zeitpunkt an beim + Bauen/Signieren aller weiteren Images zu verwenden. Oder andersrum + ausgedrückt - es macht keinen Sinn, sich diese Dateien immer wieder + aufs Neue erzeugen zu lassen, da man dann jedes Mal aufs Neue das + Problem lösen muss "wie bringt man den neu erzeugten öffentlichen + Schlüssel auf die Box". Dies ist auch der Grund, warum die Dateien im + Homeverzeichnis des Users abgelegt werden und nicht in dem + Freetz-Build-Verzeichnis selbst (hat man mehrere Build-Verzeichnisse + für verschiedene Boxen wird dadurch für jede Box dasselbe + Schlüsselpaar verwendet). Es sei nochmal darauf hingewiesen, dass + diese Dateien vom User zu sichern sind und z.B. bei einem + Build-System-Wechsel manuell auf das neue System zu kopieren sind. +- Liegen die Dateien dagegen vor, so werden sie einfach verwendet. Der + öffentliche Schlüssel wird dabei in einem speziellen Format mit ins + Image unter dem Namen ``/etc/avm_firmware_public_key9`` aufgenommen + (bzgl. des Formats s. die detaillierte Beschreibung von PeterPawn). +- Hat man es geschafft und der eigene öffentliche Schlüssel befindet + sich auf der Box, so kann jedes weitere mit genau demselben + Schlüsselpaar signierte Image über das AVM-Web-Interface geflasht + werden. diff --git a/wiki/help/howtos/development/urlader_flags.rst b/wiki/help/howtos/development/urlader_flags.rst new file mode 100644 index 0000000..29db8a7 --- /dev/null +++ b/wiki/help/howtos/development/urlader_flags.rst @@ -0,0 +1,611 @@ +help/howtos/development/urlader_flags +===================================== +Howtos: Entwicklung +^^^^^^^^^^^^^^^^^^^ + +#. `Entpacken und Packen von + Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ + + #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ + #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ + #. `Verwendung von fwmod im "no + freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ + +#. `Patches in Freetz + einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ +#. `Example 3: + NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ + + #. `Build + manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 2: + par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ + + #. `Build + manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ + #. `Create new image with added + package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ + #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. `Example 1: + Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ + + #. `Build + manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ + #. `Add package to + Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ + #. `Call Procedures "make menuconfig" and + "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ + #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ + #. `Preparing New Package for Public Integration to Freetz + Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ + +#. + + #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ + #. `Konkrete Anwendung in + Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ + +#. `Ablauf eines + Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ +#. `Eigene Programme + kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ +#. `Dynamische Bandbreitenanzeige per + SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ + + #. `Anleitung zur + Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ + +#. `Platz sparen im Dateisystem der + FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ + + #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ + #. `Bestandsaufnahme: Wo stecken die + Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ + #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ + #. `Schlußwort <make_room.html#Schlußwort>`__ + +#. `Flash-Partitionen im laufenden Betrieb + sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ + + #. `Motivation <save_mtd_1.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ + #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ + #. `Wege, sich schnell einen Überblick zu + verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ + #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ + +#. `Release Management <release_management.html#ReleaseManagement>`__ + + #. `Subversion + Repository <release_management.html#SubversionRepository>`__ + #. `Checklists <release_management.html#Checklists>`__ + #. `GIT <release_management.html#GIT>`__ + #. `Downloads <release_management.html#Downloads>`__ + #. `References <release_management.html#References>`__ + +#. `First steps - How to start your first freetz + package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ + + #. `Info <developer_information/package_development_start.html#Info>`__ + #. `Build + Environment <developer_information/package_development_start.html#BuildEnvironment>`__ + #. `File + Structure <developer_information/package_development_start.html#FileStructure>`__ + #. `Examples Binary + Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ + #. `Configuration + Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ + #. `Examples + Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ + #. `Trouble + shooting <developer_information/package_development_start.html#Troubleshooting>`__ + +#. `Kernel konfigurieren und + kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ +#. `Menükonfiguration + pflegen <menuconfig.html#Menükonfigurationpflegen>`__ + + #. `Einstieg <menuconfig.html#Einstieg>`__ + #. `Beispiel-Konfiguration für ein neues + Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ + #. `Menuconfig-Warnungen + beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ + #. `Erklärung und Anwendung der erweiterten + MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ + #. `Syntax-Fehler in MK-Dateien + finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ + #. `Syntax-Hervorhebung für + MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ + +#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ + + #. `Bootloader-Backup + anlegen <adam2.html#Bootloader-Backupanlegen>`__ + #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ + #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ + #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ + #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ + #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ + +#. `Einstellungen speichern im + Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ + + #. `Vorwort und + Motivation <urlader_flags.html#VorwortundMotivation>`__ + #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ + #. `Bootloader + Environment <urlader_flags.html#BootloaderEnvironment>`__ + #. `Variable + "kernel_args" <urlader_flags.html#Variablekernel_args>`__ + #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ + #. `Mögliche + Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ + +#. `Busybox konfigurieren und + kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ +#. `Wie baue ich ein eigenes Paket für + Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ +#. `Firmware-Image-Namen analysieren und + interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ + + #. `Einleitung <analyse_image_names.html#Einleitung>`__ + #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ + #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ + #. `Ausgabe grundlegender + Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ + #. `Ausgabe erweiterter + Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ + +#. + + #. `Web-interface + HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ + +#. `Developer + Information <developer_information.html#DeveloperInformation>`__ +#. `Addon Paket + installieren <install_addon.html#AddonPaketinstallieren>`__ +#. `Paketverwaltung für + Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ + + #. `Erweiterung des + Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ + #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ + #. `Links <developer_information/package_development_dynamic.html#Links>`__ + #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ + +#. `Wie die FritzBox Manipulationen + erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ + + #. `Ursachen <manipulation_detection.html#Ursachen>`__ + #. `Diagnose <manipulation_detection.html#Diagnose>`__ + #. `Lösungen <manipulation_detection.html#Lösungen>`__ + #. `Schlußwort und + Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ + +#. `Shell Coding + Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ + + #. `Shell + Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ + #. `Basic + Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ + #. `If, For, and + While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ + #. `Test + Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ + #. `Single-line conditional + statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ + #. `Infinite + Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ + #. `Exit Status and If/While + Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ + #. `Variable + References <developer_information/shell_coding_conventions.html#VariableReferences>`__ + #. `Variable + Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ + #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ + #. `Variable + Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ + #. `Testing for (Non-)Empty + Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ + #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ + #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ + #. `Interpreter + Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ + +#. `Package + Development <developer_information/package_development.html#PackageDevelopment>`__ + + #. `Persistent Package + Settings <developer_information/package_development.html#PersistentPackageSettings>`__ + +#. `Erstellen einer GUI für Pakete in + Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ + + #. `Motivation <create_gui.html#Motivation>`__ + #. `Grundlagen <create_gui.html#Grundlagen>`__ + #. `Wie funktioniert das mit der + GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ + +#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ + + #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ + #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ + #. `Hidden Root <flash.html#HiddenRoot>`__ + #. `NAND Root <flash.html#NANDRoot>`__ + #. `Dateisystem <flash.html#Dateisystem>`__ + #. `Kernel <flash.html#Kernel>`__ + #. `Weblinks <flash.html#Weblinks>`__ + +#. `Trac + Hooks <developer_information/post_commit_hook.html#TracHooks>`__ + + #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ + #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ + +#. `Package Developing - Advanced + Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ + + #. `Adding conditional + patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ + #. `Adding multi-binary + packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ + +#. `Eigene Dateien in die Firmware + integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ + + #. `Feste Integration über das Freetz + Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ + #. `Erzeugen der Dateien aus der + debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ + #. `Nachladen vom + Webserver <integrate_own_files.html#NachladenvomWebserver>`__ + #. `Nachladen vom + USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ + #. `WebDAV Share + mounten <integrate_own_files.html#WebDAVSharemounten>`__ + #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ + +#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ + + #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ + #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ + +#. `Flash-Partitionen von außen mit FTP + sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ + + #. `Motivation <save_mtd_2.html#Motivation>`__ + #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ + #. `Allgemeine Informationen zur + Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ + #. `Sicherung mit Linux-Standard-FTP + (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ + #. `Sicherung mit Linux-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ + #. `Sicherung mit Cygwin-NcFTP + (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ + #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ + +#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ + + #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ + #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ + #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ + #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ + #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ + #. `html <developer_information/webif/libmodcgi.html#html>`__ + #. `check, + select <developer_information/webif/libmodcgi.html#checkselect>`__ + #. `href <developer_information/webif/libmodcgi.html#href>`__ + #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ + #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ + #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ + #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ + #. `cgi_error, + print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ + #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ + #. `valid <developer_information/webif/libmodcgi.html#valid>`__ + +#. `Cross-Compiler / Toolchain + erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ +#. `Eigene Download-Toolchain + erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ +#. `Target/Native-Compiler-Toolchain + erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ + + #. `Using the dev-tools package to install compiler and + tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ + +.. _EinstellungenspeichernimUrlader-Environment: + +Einstellungen speichern im Urlader-Environment +============================================== + +.. _VorwortundMotivation: + +Vorwort und Motivation +---------------------- + +Es kann von Vorteil sein, während des Boot-Prozesses oder evtl. auch +danach noch gewisse Schalter (engl. flags) abfragen zu können, ohne +deswegen gleich auf ``/var/flash/debug.cfg`` zugreifen zu müssen. Dafür +gibt es folgende Gründe: + +- Die Character Devices unter ``/var/flash`` sind erst nach Ablauf von + ``/etc/init.d/rc.S`` verfügbar, weil sie in diesem Skript erst + mittels ``mknod`` erzeugt werden - speziell ``debug.cfg`` übrigens + erst separat am Ende des Skripts. +- Gewisse Funktionalitäten würden wir gerne aufrufen, **bevor** + *``rc.S``* läuft. Bestes Beispiel sind Root-Mounts, z.B. das + Freetz-Paket `mini_fo <../../../packages/mini_fo.html>`__, dessen + Init-Skript sich in ``/etc/inittab`` vor ``rc.S`` einträgt. Würden + wir jetzt gerne einen Schalter haben, der das Laden von ``mini_fo`` + verhindern kann, hätten wir ein Problem. + +.. _Lösungsmöglichkeiten: + +Lösungsmöglichkeiten +-------------------- + +Kein Problem ohne Lösung. Wir könnten innerhalb von ``rc.mini_fo`` +selbst ``mknod`` verwenden, um ``debug.cfg`` temporär zugreifbar zu +machen und nach Abfragen der gewünschten Information wieder aufräumen +mit ``rm``, damit später ``rc.S`` nicht irritiert wird beim erneuten +Erzeugen des Nodes. Es gibt tatsächlich ein Paket +(`NFS-Root <../../../packages/nfs.html>`__), welches diese Technik +verwendet, um auf AVM-Konfigurationsdaten aus dem TFFS zuzugreifen, +zusätzlich aber auch noch Informationen von woanders einholt, und zwar +aus dem sog. Bootloader Environment (Urlader-Umgebungsvariablen). Schon +seit 15.0 greifen auch zwei (noch) undokumentierte Logging-Werkzeuge des +DS-Mod, `Inotify-Tools <../../../packages/inotify-tools.html>`__ und +*Dmesg-Recording*, auf diese Umgebungsvariablen zu, die beiden Letzteren +sogar über ein kleines, funktional auf bestimmte Anwendungsfälle +eingegrenztes Shell-API, das ich mir habe einfallen lassen. Dazu später +mehr. + +.. _BootloaderEnvironment: + +Bootloader Environment +---------------------- + +Der Urlader (engl. bootloader), je nach Version auch bekannt unter +`ADAM2 <adam2.html>`__ oder EVA, besitzt ein sog. Environment, also +einen kleinen Speicherbereich für globale Einstellungen, welche absolut +erforderlich sind, damit die Box überhaupt funktioniert. Das ist ja +bekannt, aber zur Auffrischung nochmals die (mit "#" anonymisierte) +Ausgabe, generiert auf meiner 7170 mit Kernel 2.6: + +.. code:: wiki + + $ cat /proc/sys/urlader/environment + HWRevision 94.1.1.0 + ProductID Fritz_Box_7170 + SerialNumber 0000000000000000 + annex B + autoload yes + bootloaderVersion 1.153 + bootserport tty0 + bluetooth ##:##:##:##:##:## + cpufrequency 211968000 + firstfreeaddress 0x946AE530 + firmware_version 1und1 + firmware_info 29.04.29 + flashsize 0x00800000 + maca ##:##:##:##:##:## + macb ##:##:##:##:##:## + macwlan ##:##:##:##:##:## + macdsl ##:##:##:##:##:## + memsize 0x02000000 + modetty0 38400,n,8,1,hw + modetty1 38400,n,8,1,hw + mtd0 0x90000000,0x90000000 + mtd1 0x90010000,0x90780000 + mtd2 0x90000000,0x90010000 + mtd3 0x90780000,0x907C0000 + mtd4 0x907C0000,0x90800000 + my_ipaddress 192.168.178.1 + prompt AVM_Ar7 + ptest + reserved ##:##:##:##:##:## + req_fullrate_freq 125000000 + sysfrequency 125000000 + urlader-version 1153 + usb_board_mac ##:##:##:##:##:## + usb_rndis_mac ##:##:##:##:##:## + usb_device_id 0x3D00 + usb_revision_id 0x0200 + usb_device_name USB DSL Device + usb_manufacturer_name AVM + wlan_key ################ + wlan_cal ####,####,####,####,####,####,####,####,#### + +Das Schöne an diesem Environment ist, dass es nicht nur lesbar, sondern +auch (teilweise) beschreibbar ist. Das wird gern verwendet, um +Anpassungen am Annex oder am Branding vorzunehmen, insbesondere bei +OEM-Boxen, deren Besitzer gern eine vollwertige FritzBox daraus machen +möchten, um die entsprechenden Original-Firmware oder Freetz darauf zu +installieren, bzw. auch, um eine deutsche Box im Ausland lauffähig zu +machen oder umgekehrt. + +Es ist bei den allermeisten Werten im Environment absolut nicht ratsam, +sie für andere Zwecke zu missbrauchen, aber es gibt eine oben gar nicht +sichtbare Variable, die dafür geschaffen wurde, dem Linux-Kernel +Parameter für den Boot-Vorgang mitzugeben. Diese Parameter werden später +weitergereicht an die Startskripte, aber auch gleichzeitig persistent +gespeichert und sind somit ideal geeignet, um Werte von dort abzufragen. + +.. _Variablekernel_args: + +Variable "kernel_args" +---------------------- + +Die Variable, von der hier die Rede ist, heißt ``kernel_args``, fasst +maximal 64 Zeichen an Informationen und sollte daher mit Bedacht +verwendet werden. Man kann folgendermaßen etwas hinein schreiben: + +:: + + echo "kernel_args tea=Darjeeling quality=FTGFOP1" > /proc/sys/urlader/environment + +Damit würden wir ein eigens dafür entworfenes (leider fiktives) +Startskript der FritzBox anweisen, beim Hochfahren der Box Tee zu +kochen, und zwar Darjeeling der Qualitätsstufe FTGFOP1 (Finest Tippy +Golden Flowery Orange Pekoe 1). + +Wenn man sich jetzt das Environment nochmals anzeigen lässt, findet man +plötzlich dort die Variable ``kernel_args`` vor: + +:: + + $ cat /proc/sys/urlader/environment | grep kernel_args + kernel_args tea=Darjeeling quality=FTGFOP1 + +Mit ein bisschen Zeichenketten-Manipulation können wir den Wert von +``kernel_args`` isolieren und dann weiter zerlegen in unsere beiden +Schlüssel-Werte-Paare. Darauf will ich an dieser Stelle nicht weiter +eingehen, das sind Grundlagen der Shell-Programmierung. + +Jedoch wichtig zu wissen ist, wie man während des Boot-Vorgangs an diese +Variable heran kommt. Die Antwort hängt davon ab, zu welchem Zeitpunkt +man den Zugriff benötigt. Sofern das virtuelle Dateisystem unter +``/proc`` bereits zugreifbar, das sog. *procfs* also bereits ins +Root-Dateisystem per ``mount`` eingehängt wurde, können wir so vorgehen +wie oben gezeigt. Andernfalls müssen wir zunächst mittels + +:: + + [ -e /proc/mounts ] || mount proc + +*procfs* selbst einhängen, falls es noch nicht da ist. Nach Benutzung +loswerden können wir es entsprechend über ``umount proc`` + +.. _Kernel_Args-API: + +Kernel_Args-API +--------------- + +Für einfache, auf Debugging oder Logging ausgerichtete Anwendungsfälle, +die innerhalb von ``kernel_args`` auskommen mit den Werten + +- aktiv/ja, +- inaktiv/nein, +- Countdown-Zähler > 0, + +gibt es das Shell-Skript ``kernel_args``, welches man mit +``. /usr/bin/kernel_args`` in ein laufendes Skript inkludieren und +daraufhin auf verschiedene vorgefertigte Funktionen zur Manipulation von +innerhalb der Bootloader-Variablen ``kernel_args`` gespeicherten +Schlüssel-Werte-Paaren zugreifen kann. Das Skript ist in den enthaltenen +Kommentarzeilen gut dokumentiert, daher hier nur eine kurze Auflistung +der aktuell (ds26-15.2) verfügbaren Funktionen: + +- **ka_mountProc:** ``/proc`` mounten, falls notwendig +- **ka_getArgs:** ``kernel_args`` komplett auslesen +- **ka_getKeyValuePair:** Schlüssel-Wert-Paar zu geg. Schlüssel + ermitteln +- **ka_isValidName:** Schlüsselnamen auf Validität prüfen +- **ka_isValidValue:** Wert auf Validität (y, n, Zahl > 0) prüfen +- **ka_getValue:** Wert zu einem Schlüssel ermitteln +- **ka_setValue:** Wer zu einem Schlüssel setzen +- **ka_removeVariable:** Schlüssel-Wert-Paar löschen +- **ka_removeVariableNoUpdate:** wie oben, aber nur neuen Wert von + ``kernel_args`` nach angenommener Entfernung eines Paares anzeigen, + nicht direkt ins Environment schreiben +- **ka_isPositiveInteger:** Hilfsfunktion zum Prüfen numerischer Werte +- **ka_isActiveVariable:** Prüfen, ob Wert > 0 oder "y" (aktiv) +- **ka_decreaseValue:** Positiven Ganzzahlwert um 1 vermindern. Falls + er 0 werden würde, Wert durch "n" (inaktiv) ersetzen + +.. _Countdown-Trick: + +Countdown-Trick +~~~~~~~~~~~~~~~ + +Gerade die letzten beiden Aufrufe ermöglichen ein hilfreiches Konstrukt +beim Entwickeln von Startskripten: Man kann eine Variable z.B. auf 5 +setzen und bei jedem Startvorgang um 1 vermindern, bis sie nach fünf +Durchläufen auf "n" (inaktiv) gesetzt wird. Abhängig davon könnte man +den weiteren Verlauf eines Skripts beeinflussen, es also fortsetzen oder +vorzeitig beenden. Sollte im weiteren Verlauf des Skripts also ein +Fehler auftauchen, der den Startvorgang der Box torpediert, so daß man +nicht mehr an sie heran kommt ohne Recover, wäre dieser Countdown eine +praktische Hilfe, denn spätestens beim sechsten Anlauf würde ja die +fehlerhafte Funktion nicht mehr aktiviert sein und die Box normal weiter +gestartet werden. Wir retten uns hiermit also vor uns selbst und ziehen +uns an den eigenen Haaren aus dem Sumpf! |;-)| + +.. _Grenzendeskernel_args-API: + +Grenzen des kernel_args-API +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sobald wir andere Arten von Werten in ``kernel_args`` speichern wollen, +z.B. etwas wie ``my_path=/usr/bin/my_script``, versagt das API in der +momentanen Version seinen Dienst, weil es ja nur die Werte "y", "n", +positive Ganzzahl zulässt. Aber oben steht ja, wie man auch damit +umgehen kann durch Direktzugriff. Eines Tages erweitere ich vielleicht +auch das API. + +.. _MöglicheAnwendungsfälle: + +Mögliche Anwendungsfälle +------------------------ + +**Root-Mounts:** Dienste wie ``mini_fo`` zur virtuellen Überlagerung des +Root-Dateisystems durch eine RAM-Disk oder einen externen Speicher, um +Schreibzugriffe zu ermöglichen oder *NFS-Root*, also der vollständige +Ersatz des Root-Dateisystems durch einen voll beschreibbaren und +größenmäßig quasi unbegrenzten Netzwerk-Mount könnten von Schaltern im +Bootloader Environment profitieren, weil man sie bei Bedarf ein- und +ausschalten könnte. (Anm.: NFS-Root zum [De-]Aktivieren tatsächlich +einen Eintrag in kernel_args, allerdings ohne API. Zusätzlich wird der +zu mountende NFS-Pfad in einer anderen Bootloader-Variablen Namens +``nfsroot`` abgelegt, die der Linux-Kernel sowieso kennt und die wir +quasi missbrauchen.) + +**Debugging/Logging:** Bei Bedarf zuschaltebare Funktionen, um +Dateizugriffe beim Booten zu protokollieren, um z.B. festzustellen, +welchen Binaries beim Starten *nicht* angerührt werden und die man +deshalb via Downloader-CGI auslagern könnte, um Platz für mehr früher +benötigte DS-Mod-Pakete zu schaffen, oder um das Kernel-Log in eine +Datei zu sichern, bevor der Ringpuffer überläuft und der Anfang verloren +geht, sind Beispiele für weitere sinnvolle Anwendungsbereiche von +``kernel_args``, ob nun mit oder ohne API. Der Entwickler braucht keine +Debug-Version seiner FW zu flashen, um etwas zu probieren, sondern er +baut die notwendigen Dinge fest in seine FW ein, macht den Start aber +abhängig von einem oder mehreren Schaltern (Berücksichtigung in den +Init-Skripten). Sehr bequem! + +Weitere Schweinereien überlasse ich Eurer geschätzten Phantasie. + +Diskussionen zum Thema bitte unter +`​http://www.ip-phone-forum.de/showthread.php?t=134976 <http://www.ip-phone-forum.de/showthread.php?t=134976>`__, +wo zu Beginn noch die Rede davon ist, die Variable *SerialNumber* zu +verwenden, um Werte dort zu speichern. Allerdings hat sich später +herausgestellt, daß man diese Variable zwar dem Anschein nach ändern +kann, die Änderungen aber einen Neustart der Box nicht überleben. Also +bitte nicht verwirren lassen, "state of the art" ist momentan +``kernel_args``. + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ + +- Tags +- `überarbeiten </tags/%C3%BCberarbeiten>`__ + +.. |;-)| image:: ../../../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/help/howtos/security.rst b/wiki/help/howtos/security.rst new file mode 100644 index 0000000..1444bb6 --- /dev/null +++ b/wiki/help/howtos/security.rst @@ -0,0 +1,84 @@ +help/howtos/security +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration des eingebauten + Switches <security/switch_config.html#KonfigurationdeseingebautenSwitches>`__ + + #. `Vorwort <security/switch_config.html#Vorwort>`__ + #. `Vordefinierte + Switch-Konfigurationen <security/switch_config.html#VordefinierteSwitch-Konfigurationen>`__ + + #. `Modus "special" <security/switch_config.html#Modusspecial>`__ + #. `Patch des + Standard-Modus <security/switch_config.html#PatchdesStandard-Modus>`__ + + #. `Anpassungen in der + ar7.cfg <security/switch_config.html#Anpassungeninderar7.cfg>`__ + #. `Beispiel <security/switch_config.html#Beispiel>`__ + #. `Sicherheits-Warnung <security/switch_config.html#Sicherheits-Warnung>`__ + #. `Kompatibilität <security/switch_config.html#Kompatibilität>`__ + + #. ` <security/switch_config.html#a>`__ + #. `Änderungen 7270v2 vs. + 7270v3 <security/switch_config.html#Änderungen7270v2vs.7270v3>`__ + +#. `Benutzerverwaltung <security/user_management.html#Benutzerverwaltung>`__ + + #. `Benutzer + anlegen <security/user_management.html#Benutzeranlegen>`__ + + #. `Freetz <security/user_management.html#Freetz>`__ + #. `ds-mod <security/user_management.html#ds-mod>`__ + + #. `Benutzer + löschen <security/user_management.html#Benutzerlöschen>`__ + + #. `Freetz <security/user_management.html#Freetz1>`__ + #. `ds-mod <security/user_management.html#ds-mod1>`__ + + #. `Manuelle + Anpassungen <security/user_management.html#ManuelleAnpassungen>`__ + #. `Besonderheiten <security/user_management.html#Besonderheiten>`__ + + #. `Dropbear <security/user_management.html#Dropbear>`__ + +#. `WLAN von LAN trennen mit + iptables <security/split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ + + #. `FRITZBox + Einstellung <security/split_wlan_lan.html#FRITZBoxEinstellung>`__ + #. `iptables <security/split_wlan_lan.html#iptables>`__ + + #. `Netzwerk + sichern <security/split_wlan_lan.html#Netzwerksichern>`__ + #. `Zugriffe + erlauben <security/split_wlan_lan.html#Zugriffeerlauben>`__ + #. `Beispiele <security/split_wlan_lan.html#Beispiele>`__ + +#. `Freetz als interner Router mit + Firewall <security/router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ + + #. `Zielgruppe <security/router_and_firewall.html#Zielgruppe>`__ + #. `Beispielszenario <security/router_and_firewall.html#Beispielszenario>`__ + #. `Die Fritzbox + modden <security/router_and_firewall.html#DieFritzboxmodden>`__ + #. `Die Fritzbox auf getrennte Netze + umstellen <security/router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ + #. `Erstellen der + Routen <security/router_and_firewall.html#ErstellenderRouten>`__ + #. `Die + Rückrouten <security/router_and_firewall.html#DieRückrouten>`__ + #. `Firewall <security/router_and_firewall.html#Firewall>`__ + #. `FIXME kopierter + Post <security/router_and_firewall.html#FIXMEkopierterPost>`__ + +.. _Security: + +Security +======== + +Sicherheitsrelevante Dinge sind in dieser Rubrik beschrieben. Eine +Übersicht über vorhandene Themen soll rechts-stehendes +Inhaltsverzeichnis geben. diff --git a/wiki/help/howtos/security/router_and_firewall.rst b/wiki/help/howtos/security/router_and_firewall.rst new file mode 100644 index 0000000..5166ce7 --- /dev/null +++ b/wiki/help/howtos/security/router_and_firewall.rst @@ -0,0 +1,265 @@ +help/howtos/security/router_and_firewall +======================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration des eingebauten + Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ + + #. `Vorwort <switch_config.html#Vorwort>`__ + #. `Vordefinierte + Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ + #. `Anpassungen in der + ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ + #. `Beispiel <switch_config.html#Beispiel>`__ + #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ + #. `Kompatibilität <switch_config.html#Kompatibilität>`__ + +#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ + + #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ + #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ + #. `Manuelle + Anpassungen <user_management.html#ManuelleAnpassungen>`__ + #. `Besonderheiten <user_management.html#Besonderheiten>`__ + +#. `WLAN von LAN trennen mit + iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ + + #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ + #. `iptables <split_wlan_lan.html#iptables>`__ + +#. `Freetz als interner Router mit + Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ + + #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ + #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ + #. `Die Fritzbox + modden <router_and_firewall.html#DieFritzboxmodden>`__ + #. `Die Fritzbox auf getrennte Netze + umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ + #. `Erstellen der + Routen <router_and_firewall.html#ErstellenderRouten>`__ + #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ + #. `Firewall <router_and_firewall.html#Firewall>`__ + #. `FIXME kopierter + Post <router_and_firewall.html#FIXMEkopierterPost>`__ + +.. _FreetzalsinternerRoutermitFirewall: + +Freetz als interner Router mit Firewall +======================================= + +| Diese Anleitung enthält alles was man braucht, um eine FritzBox 7050 + mit freetz in einen internen Router mit Firewall und echter DMZ zu + verwandeln. +| Andere Router funktionieren auch, so lange sie mit Linux laufen, + iptables und 2 getrennt ansprechbare Netzwerkschnittstellen haben. + Geräte mit einen Switch, der nur komplett als **ein Interface** + angesprochen werden kann, können keine LAN DMZ + (**D**\ e\ **M**\ ilitarized **Z**\ one) errstellen. Das WLAN läßt + sich aber bei allen Routern, abtrennen. + +.. _Zielgruppe: + +Zielgruppe +---------- + +Ambitionierte Heimanwender und kleinere bis mittlere Betriebe die ein +extra gesichertes WLAN und/oder Zweitnetzwerk benötigen. + +.. _Beispielszenario: + +Beispielszenario +---------------- + +- Internes Netz1: 192.168.178.0/255.255.255.0 (Anwendernetz) +- Internes Netz2: 192.168.181.0/255.255.255.0 (Servernetz, echte DMZ) +- WLAN: 192.168.181.0/255.255.255.0 +- Internetrouter: 192.168.178.1 z.B. weitere Fritzbox, die sich im + internen Netz befindet und gleichzeitig als DNS Server fungiert. + +Wir wollen allen Benutzern des internen Netzes 1 Zugriff auf das +gesammte Netz2 ermöglichen, die WLAN Benutzer sollen aber nur auf das +Internet und bestimmte Dienste in der DMZ zugreifen können. Als Beispiel +nehmen wir einen Webserver, einen Mailserver und einen FTP-Server mit +folgenden Daten: + +- Webserver: IP 192.168.181.5, Ports 80,443 +- Mailserver: IP 192.168.181.6, Ports 25,143,110,993,995 +- FTP-Server: IP 192.168.181.7, Port 21,(20) FTP braucht noch einen + zusätzlichen Port für den Rückkanal, je nach Modus (aktiv/passiv) + +.. _DieFritzboxmodden: + +Die Fritzbox modden +------------------- + +FIXME + +.. _DieFritzboxaufgetrennteNetzeumstellen: + +Die Fritzbox auf getrennte Netze umstellen +------------------------------------------ + +Unter *Einstellungen → System → Netzwerkeinstullungen → »IP-Adressen«* +deaktivieren wir nun *Alle Computer befinden sich im selben +IP-Netzwerk*. Damit hat jetzt jedes Interface LAN-A,LAN-B,WLAN,USB sein +eigenes Netz: + +.. figure:: /screenshots/48.jpg + :alt: Einstellungen für separate Netzwerke (Fritz!Box 7050) + + Einstellungen für separate Netzwerke (Fritz!Box 7050) + +.. _ErstellenderRouten: + +Erstellen der Routen +-------------------- + +FIXME + +.. _DieRückrouten: + +Die Rückrouten +-------------- + +Im Moment können wir zwar Pakete aus unseren DMZ/WLAN ins Internet +verschicken und Pakete von der DMZ ins interne Netz (wird später durch +die Firewall eingeschränkt). Aber unser Internetrouter, der auch Default +Router für alle Rechner ist, kennt unsere neuen Netze noch nicht und +verwirft damit alle Antwortpakete. + +Auf Arbeitsrechner marvin (192.168.178.2): + +:: + + jr@marvin$ ping -c 4 192.168.181.1 + PING 192.168.181.1 (192.168.181.1) 56(84) bytes of data. + + --- 192.168.181.1 ping statistics --- + 4 packets transmitted, 0 received, 100% packet loss, time 2999ms + +Wir müssen also noch die Rückrouten auf unserem **Internetrouter** +einrichten. + +Beispiel Linux Router: + +:: + + route add -net 192.168.181.0 netmask 255.255.255.0 gw 192.168.178.14 + route add -net 192.168.182.0 netmask 255.255.255.0 gw 192.168.178.14 + route add -net 192.168.179.0 netmask 255.255.255.0 gw 192.168.178.14 + +Beispiel Fritzbox: + +Unter *Einstellungen → System → Netzwerkeinstellungen → »IP-Routen«* +wählen wir *»Neue Route«*: + +.. figure:: /screenshots/49.jpg + :alt: Fritzbox: Route hinzufügen + + Fritzbox: Route hinzufügen + +.. code:: wiki + + Aktiv Netzwerk Subnetzmaske Gateway + X 192.168.181.0 255.255.255.0 192.168.178.14 #LANB + X 192.168.182.0 255.255.255.0 192.168.178.14 #WLAN + X 192.168.179.0 255.255.255.0 192.168.178.14 #USB + +Jetzt kommen die Pakete auch wieder zurück. Interessant ist hier die +Redirect-Meldung des Standardgateways, das jetzt den Rechner an unserer +internes Fritzbox verweist. + +:: + + jr@marvin$ ping 192.168.181.1 + PING 192.168.181.1 (192.168.181.1) 56(84) bytes of data. + From 192.168.178.1: icmp_seq=1 Redirect Host(New nexthop: 192.168.178.14) + 64 bytes from 192.168.181.1: icmp_seq=1 ttl=64 time=2.43 ms + From 192.168.178.1: icmp_seq=2 Redirect Host(New nexthop: 192.168.178.14) + 64 bytes from 192.168.181.1: icmp_seq=2 ttl=64 time=2.43 ms + 64 bytes from 192.168.181.1: icmp_seq=3 ttl=64 time=0.519 ms + 64 bytes from 192.168.181.1: icmp_seq=4 ttl=64 time=0.521 ms + 64 bytes from 192.168.181.1: icmp_seq=5 ttl=64 time=0.523 ms + +.. _Firewall: + +Firewall +-------- + +FIXME + +.. _FIXMEkopierterPost: + +FIXME kopierter Post +-------------------- + +`​orginalpost <http://www.ip-phone-forum.de/showpost.php?p=1096655&postcount=22>`__ + + Nachdem was ich gelesen habe brauchst du einen Router mit Firewall. + Iptables ist die standard Linuxfirewall seit Kernel 2.4, avm hat sich + aber da was eigenes gestrickt. Als Router kannst du alles nehmen auf + dem a) Linux läuft b) eine echte Firewall läuft und c) du die + Firewallregeln veränderen kannst. Damit kannst du also eine + **fritzbox mit telnet bzw. ssh Zugang benutzen (avm firewall)**, eine + mit freetz gemoddedte fritzbox(iptables) oder einen + Linuxrechner(iptables) verwenden. Edit2: Nachdem ich noch etwas + getestet habe, habe ich jetzt festgestellt, das die avm firewall wohl + nur mit dem DSL Interface funktioniert. Wir brauchen also iptables. + +.. + + Den Linuxrechner halte ich für overkill, da du ja eh eine Fritzbox + fürs WLAN nehmen willst. Damit du dein eigenes Netz nicht unnötig + umbauen mußt würde ich eine der 7050er Fritzboxen nehmen und mit Port + A in dein Netz hängen. + + Ich versuche mal eine Anleitung: (EDIT: irgendwas geht noch nicht + richtig, siehe unten) Alles ab hier wird jetzt nur noch auf der 7050 + für den Nachbar gemacht: + +#. Die Box braucht erstmal eine interne(=dein Netz) IP, damit du drauf + zugreifen kannst. 1.Danach bekommt jeder Anschluß ein eigenes Netz + (siehe Bild1): + Webinterface→Einstellungen→System→Netzwerkeinstellungen: Alle + Computer befinden sich im selben IP-Netzwerk abschalten. Jetzt hat + jeder Anschluß ein eigenes Netz. + Wichtig hierbei ist, dass der DHCP Server für das interne Netz aus + ist, sonst hast 2 DHCP Server, die sich gegenseitig stören. +#. Die Internetverbindung wird jetzt auf Port A gestellt (siehe Bild2) + Der Witz bei der Sache ist, das man DSL Verbindung anwählt und nicht + Port A, denn dann hat man nicht mehr die verschiedenen Netze. +#. route hinzufügen: + + .. code:: wiki + + Aktiv Netzwerk Subnetzmaske Gateway + X 0.0.0.0 0.0.0.0 192.168.178.1 + + 4a) routen **auf der Internet Fritzbox** hinzufügen + + .. code:: wiki + + Aktiv Netzwerk Subnetzmaske Gateway + X 192.168.181.0 255.255.255.0 192.168.178.14 #LANB + X 192.168.182.0 255.255.255.0 192.168.178.14 #WLAN + X 192.168.179.0 255.255.255.0 192.168.178.14 #USB + +#. Telnet aktivieren + Gibt es genug Anleitungen im Forum. Bei den neueren Firmwares sollte + ein telnet pseudo-Image funktionieren +#. firewall + Im Moment Edit: *So weit hab ich das jetzt mal bei mir getestet und + ich kann die Box erreichen, DNS geht, auch aus den anderen Netzen. + [color=blue]Das einzige, was jetzt hier noch Probleme macht ist das + Routing zwischen den Netzen und damit auch ins Internet. Irgendwas + blockiert das Routing, mit den Einstellungen funktioniert es auf + einem Linux Rechner (forward ist an)! Vieleicht weiß jemand anderes + weiter.\ *\ `color </color>`__ Ich hatte einfach die Rückroute auf + der 2. Fritzbox fürs Internet vergessen(siehe 4a)! + +- Tags +- `firewall </tags/firewall>`__ +- `howtos </tags/howtos>`__ diff --git a/wiki/help/howtos/security/split_wlan_lan.rst b/wiki/help/howtos/security/split_wlan_lan.rst new file mode 100644 index 0000000..c77c6ba --- /dev/null +++ b/wiki/help/howtos/security/split_wlan_lan.rst @@ -0,0 +1,140 @@ +help/howtos/security/split_wlan_lan +=================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration des eingebauten + Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ + + #. `Vorwort <switch_config.html#Vorwort>`__ + #. `Vordefinierte + Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ + #. `Anpassungen in der + ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ + #. `Beispiel <switch_config.html#Beispiel>`__ + #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ + #. `Kompatibilität <switch_config.html#Kompatibilität>`__ + +#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ + + #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ + #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ + #. `Manuelle + Anpassungen <user_management.html#ManuelleAnpassungen>`__ + #. `Besonderheiten <user_management.html#Besonderheiten>`__ + +#. `WLAN von LAN trennen mit + iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ + + #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ + #. `iptables <split_wlan_lan.html#iptables>`__ + +#. `Freetz als interner Router mit + Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ + + #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ + #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ + #. `Die Fritzbox + modden <router_and_firewall.html#DieFritzboxmodden>`__ + #. `Die Fritzbox auf getrennte Netze + umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ + #. `Erstellen der + Routen <router_and_firewall.html#ErstellenderRouten>`__ + #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ + #. `Firewall <router_and_firewall.html#Firewall>`__ + #. `FIXME kopierter + Post <router_and_firewall.html#FIXMEkopierterPost>`__ + +.. _WLANvonLANtrennenmitiptables: + +WLAN von LAN trennen mit iptables +================================= + +Diese Anleitung erklärt, wie man den Zugriff vom WLAN der FRZITZBox +beschränken kann, um z. B. das WLAN für jeden zugänglich zu machen, ohne +das interne LAN oder die FRITZBox selbst zu gefährden. + +.. _FRITZBoxEinstellung: + +FRITZBox Einstellung +-------------------- + +Zuerst muss im FRITZBox-Webinterface unter *System → +Netzwerkeinstellungen → IP-Adressen* die Option *"Alle Computer befinden +sich im selben IP-Netzwerk"* deaktiviert sein (siehe auch +`Screenshot </screenshots/48>`__). Dabei werden nicht nur die Netze +getrennt, es entsteht auch ein neues Interface *wlan*. + +iptables +-------- + +Jetzt können die Regeln für iptables gesetzt werden. Dies sind einfache +Befehle, die auf der Kommandozeile per *telnet* oder *ssh* ausgeführt +werden. Sollen sie dauerhaft bestehen bleiben, kann man sie z.B. einfach +in die ``/var/flash/debug.cfg`` schreiben. + +.. _Netzwerksichern: + +Netzwerk sichern +~~~~~~~~~~~~~~~~ + +:: + + iptables -A FORWARD -i wlan -o dsl -j ACCEPT + iptables -A FORWARD -i wlan -j DROP + +Damit wird das interne Netz geschützt, die Box selbst jedoch nicht. + +:: + + iptables -A INPUT -i wlan -p tcp -j DROP + iptables -A INPUT -i wlan -p udp -j DROP + +Jetzt ist auch der Zugriff per TCP/UDP auf die Box blockiert, sie +antwortet dennoch auf Pings. + +.. _Zugriffeerlauben: + +Zugriffe erlauben +~~~~~~~~~~~~~~~~~ + +Allerdings ist jetzt auch der DNS-Server nicht mehr erreichbar und die +Computer im WLAN können keine Domainnamen (z. B. *www.wikipedia.org* +anstatt 145.97.39.155) mehr aufrufen. + +Die Regeln werden von iptables der Reihe nach abgearbeitet. Die Option +**-A** in den vorigen Befehlen steht für *append*, d. h. die Regeln +wurden am *Ende der Liste* eingefügt. + +Mit **-I** (für *insert*) kann man nun Regeln an den *Beginn der Liste* +setzen, um Ausnahmen für bestimmte Dienste einzurichten, z. B. für den +DNS-Server via TCP und UDP. + +:: + + iptables -I INPUT -i wlan -p tcp --dport 53 -j ACCEPT + iptables -I INPUT -i wlan -p udp --dport 53 -j ACCEPT + +Danach können Computer im WLAN wie gewohnt die Internetverbindung +benutzen ohne Zugriff auf das Webinterface der Box oder Computer im LAN +zu haben. + +Der Zugriff auf die Box lässt sich beliebig nach dem Schema + +:: + + iptables -I INPUT -i wlan -p <Protokoll> --dport <Port> -j ACCEPT + +erweitern. + +.. _Beispiele: + +Beispiele +~~~~~~~~~ + +:: + + # ssh + iptables -I INPUT -i wlan -p tcp --dport 22 -j ACCEPT + # OpenVPN + iptables -I INPUT -i wlan -p udp --dport 1194 -j ACCEPT diff --git a/wiki/help/howtos/security/switch_config.rst b/wiki/help/howtos/security/switch_config.rst new file mode 100644 index 0000000..87cf7af --- /dev/null +++ b/wiki/help/howtos/security/switch_config.rst @@ -0,0 +1,461 @@ +help/howtos/security/switch_config +================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration des eingebauten + Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ + + #. `Vorwort <switch_config.html#Vorwort>`__ + #. `Vordefinierte + Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ + #. `Anpassungen in der + ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ + #. `Beispiel <switch_config.html#Beispiel>`__ + #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ + #. `Kompatibilität <switch_config.html#Kompatibilität>`__ + +#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ + + #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ + #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ + #. `Manuelle + Anpassungen <user_management.html#ManuelleAnpassungen>`__ + #. `Besonderheiten <user_management.html#Besonderheiten>`__ + +#. `WLAN von LAN trennen mit + iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ + + #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ + #. `iptables <split_wlan_lan.html#iptables>`__ + +#. `Freetz als interner Router mit + Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ + + #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ + #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ + #. `Die Fritzbox + modden <router_and_firewall.html#DieFritzboxmodden>`__ + #. `Die Fritzbox auf getrennte Netze + umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ + #. `Erstellen der + Routen <router_and_firewall.html#ErstellenderRouten>`__ + #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ + #. `Firewall <router_and_firewall.html#Firewall>`__ + #. `FIXME kopierter + Post <router_and_firewall.html#FIXMEkopierterPost>`__ + +.. _KonfigurationdeseingebautenSwitches: + +Konfiguration des eingebauten Switches +====================================== + +(für unterstützte Modelle siehe +`unten <switch_config.html#Kompatibilität>`__) + +| For 7390 read this + `​post <http://www.ip-phone-forum.de/showthread.php?t=287518&p=2185822&viewfull=1#post2185822>`__. +| For 7490 it should be possible by altering ar7.cfg. See the following + threads: + `​1 <http://www.ip-phone-forum.de/showthread.php?t=273927>`__, + `​2 <http://www.ip-phone-forum.de/showthread.php?t=272055>`__ and + `​3 <http://www.ip-phone-forum.de/showthread.php?t=275391>`__, and + possible others. + +.. _Vorwort: + +Vorwort +------- + +Einige Modelle aus der FritzBox-Familie besitzen nicht nur einen +LAN-Port, sondern gleich vier, z.B. die 7170. Da ich selber nur die 7170 +"persönlich" kenne, möge man die nachfolgenden Worte in erster Linie als +Anleitung/Beschreibung für dieses Modell verstehen, andere Boxen bitte +ergänzen. + +Im Normalbetrieb der 7170 arbeiten die vier Ports wie ein normaler +`​Switch <http://de.wikipedia.org/wiki/Switch_(Computertechnik)>`__, +d.h. alle angeschlossenen Geräte befinden sich im gleichen Subnetz und +können direkt miteinander kommunizieren. Mit Hilfe der Originalfirmware +von AVM ist es aber auch möglich, den LAN 1-Port als WAN-Port zu nutzen +(im Webinterface *"Internetzugang via LAN 1"* auswählen), z.B. wenn man +die Box an einem Kabelmodem o.ä. betreiben will. Dazu wird der Port von +den verbleibenden drei Ports getrennt und wird als separates +WAN-Netzwerkgerät von der Firmware entsprechend konfiguriert. + +Das ist möglich, da in der FritzBox ein konfigurierbarer 5-Port-Switch +eingebaut ist: vier der Ports sind als LAN 1 bis 4 nach außen geführt, +am fünften hängt die eigentliche FritzBox, sprich die CPU. Leider bietet +AVM im Webinterface keine Möglichkeit, die Ports weitergehend +individuell zu konfigurieren. Da dies in bestimmten Fällen aber sehr +hilfreich wäre, entstand das kleine Tool +`​cpmaccfg <http://www.heimpold.de/dsmod/>`__. Es kann via +Telnet/SSH-Zugang auf der FritzBox ausgeführt - oder aber mit +`Freetz <../../../freetz.html>`__ direkt in das Firmware-Image +eingebunden werden. + +AVM hat die Schnittstelle für die Switchkonfiguration in den +Linux-Netzwerkkartentreiber (*avm_cpmac*) eingebunden, offenbar gibt es +da eine "alte" und eine "neue" Version dieser Schnittstelle. Während die +alte noch sehr weitgehenden Zugriff auf den Switch erlaubt und es +ermöglicht, das volle Potential des Switches auszuschöpfen, ist die neue +etwas "abstrakter" gehalten, was dazu führt, dass man nur noch zwischen +verschiedenen vordefinierten Konfigurationen auswählen kann. Wer vollen +Zugriff braucht, kann aber die alte Schnittstelle durch Hinzufügen von 2 +Zeilen Kernelquellcode wieder aktivieren. In Freetz passiert dies beim +Einbinden von ``cpmaccfg`` automatisch, wenn in +`menuconfig <../common/install/menuconfig.html>`__ ``replace kernel`` +ausgewählt wird. + +Das Tool cpmaccfg funktioniert auch beim Speedport W900V. + +.. _VordefinierteSwitch-Konfigurationen: + +Vordefinierte Switch-Konfigurationen +------------------------------------ + +AVM selbst hat im Kernelmodul schon verschiedene vordefinierte +Konfigurationen hinterlegt, eine ist davon ist die bereits erwähnte +Variante "Internetzugang via LAN 1", intern als ATA-Modus bezeichnet. +Hier ein Überblick über alle vordefinierten Modi: + +- **normal**: alle vier Ports arbeiten wie ein normaler Switch, der + Kernel verwendet eth0 als Netzwerkinterface (jenachdem, ob "Alle + Computer befinden sich im selben Subnetz" angekreuzt ist, wird *eth0* + noch mit den WLAN-Interfaces zu einem "lan"-Interface + zusammengebridged) +- **ata**: LAN 1 kommt im Kernel als "wan" an, die drei anderen Ports + als "eth0" (eventuelle Einbindung von *eth0* in Bridge wie im + Normalmodus) +- **split**: jedem Port wird ein einzelnes Interface zugeordnet, also + "eth0", "eth1"… +- **split_ata**: wie split, jedoch bekommt LAN 1 die Bezeichnung "wan" +- **all_ports**: im Grunde wie normal, genauer Sinn & Zweck noch + unbekannt (eventuell für Boxen mit mehr als 4 Ports gedacht?) +- **special**: siehe unten + +| Richtig Sinn ergibt das Wechseln des Modus natürlich nur, wenn man das + Häkchen bei *"Alle Computer befinden sich im selben Subnetz"* nicht + setzt, weil sonst alle verfügbaren Devices in eine Bridge gesteckt + werden. +| **UPDATE:** Es funktioniert ebenfalls sauber im + "ethmode=ethmode_bridge" da dann die Devices aus der "Bridge"-Sektion + genommen werden (und eben **nicht** aus der "eth"-Sektion). +| Im "Eth-Bridge"-Modus werden diese "einzelnen" "realen" ethX dann + jeweils in die angegebene Bridge intergiert. Ist ganz praktisch wenn + man das USB Device ("usbrndis") mal zu einem der 4 Ports zuordnen + möchte. +| Der Trick dabei ist das konfigurierte ethx-IF in der "eth"-Sektion + auch in der Bridge-Sektion aufgeführt sind. +| Beispiel: +| Man möchte LAN1 und LAN4 als eth2 und LAN2 und LAN3 als eth0 + konfigurieren. +| Dann hat man in der "eth-Sektion" eth0 und eth2 und in der + Bridge-Sektion z.B. die Bridge lan (mit if eth0) und Bridge xnet (mit + if eth2) +| Hat man beides in der ar7.cfg sauber stehen kann man problemlos + zwichen "ethmode=ethmode_bridge" und "ethmode=ethmode_router" + ("AVM-deutsch: "alle Computer befinden sich im selben Netzwerk") + umschalten (Haken setzen oder auch nicht). Und eben jetzt kann man im + "ethmode=ethmode_bridge" z.B. der Bridge "xnet" die Interfaces eth2 + und usbrndis zuordnen. Wie genau die ar7.cfg konfiguriert wird steht + weiter unten in diesem Artikel. + +Den aktuellen Modus kann man mit Hilfe von ``cpmaccfg gsm`` abfragen, +setzen ist mit ``cpmaccfg ssm <zielmodus>`` möglich. + +.. _Modusspecial: + +Modus "special" +~~~~~~~~~~~~~~~ + +Mit einem gepatchtem Kernel ist auch möglich, eigene individuelle +Port-Konfigurationen zu erstellen. Dazu dient der Modus "special", der +quasi als Platzhalter für eine Konfiguration im Kernel vorhanden ist. +Dieser Platzhalter muss zunächst mittels ``cpmaccfg ssms ...`` gefüllt +werden, anschließend kann mit ``cpmaccfg ssm special`` auf diese +Konfiguration umgeschaltet werden. + +.. _PatchdesStandard-Modus: + +Patch des Standard-Modus +~~~~~~~~~~~~~~~~~~~~~~~~ + +Die Nutzung des Special-Modus hat den Nachteil, dass die Modus erst +während des Startvorganges der Box aktiviert werden muss. Bei einer +Änderung des standardmäßig in der Box verwendeten Modus, wie z.B. +``NORMAL`` oder ``ATA``, wird der Switch automatisch beim Starten der +Box passend aufgeteilt. + +Für diese Änderung ist es notwendig, den gewünschten Modus in der Datei +``linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c`` zu patchen. Das +folgende Beispiel beschreibt die Aufteilung des Switch in die beiden +Interface eth0 mit LAN1 und LAN2 sowie eth1 mit LAN3 und LAN4. Der +folgende Patch wurde für eine 7270 mit Firmware 76 erstellt. + +.. code:: wiki + + --- linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c_orig 2009-06-08 13:59:52.000000000 +0200 + +++ linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c 2009-08-20 10:57:14.000000000 +0200 + @@ -137,9 +137,10 @@ + { {"", 0x0} + } + }, + - /* CPMAC_MODE_NORMAL */ { 1, 0xff, + - { {"eth0", 0x2f} + - } + + /* CPMAC_MODE_NORMAL */ { 2, 0xff, + + { {"eth0", 0x23}, + + {"eth1", 0x2c} + + } + }, + /* CPMAC_MODE_ATA */ { 2, 0, + { {"wan", 0x21}, + +Den Patch in das Verzeichnis ``/make/linux/patches/2.6.19.2`` oder ggf. +Unterordner wie z.B. ``7270_04.76`` kopieren. + +.. code:: wiki + + make menuconfig + +Box konfigurieren und die Option "Replace Kernel" auswählen + +Bestehenden Kernel löschen: + +.. code:: wiki + + make kernel-dirclean + +Kernel-Sourcen bereitstellen und Patchen + +.. code:: wiki + + make kernel-source + +Hier kann noch kontrolliert werden, ob der Patch korrekt durchgeführt +wird. z.B.: + +.. code:: wiki + + applying patch file make/linux/patches/2.6.19.2/7270_04.76/990-cpmac.patch + patching file linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c + +Dann noch das Image erstellen: + +.. code:: wiki + + make + +.. _Anpassungeninderar7.cfg: + +Anpassungen in der ar7.cfg +-------------------------- + +Die Anpassungen der ar7.cfg stellen sicher, dass die Änderungen auch bei +verschiedenen Konfiguationsänderungen, wie z.B. Aus- und Einschalten des +Wlan bestehen und und automatisch konfiguriert werden und bleiben. + +Kopie der ar7.cfg erstellen und diese bearbeiten: + +.. code:: wiki + + cd /var/tmp + cat /var/flash/ar7.cfg > ar7.cfg + vi ar7.cfg + +Box muss sich im Modus "Router" befinden, dies wird mit der Option +``ethmode`` in der ar7.cfg eingestellt. + +.. code:: wiki + + ethmode = ethmode_router; + +Dann muss noch der Bereich ``ethinterfaces`` verändert werden. + +Bei der Konfiguration ist folgendes zu beachten. Nur den dort +vorhandenen wird eine IP-Adresse zugewiesen. Alle anderen Interfaces +existieren zwar und können über ifconfig abgefragt oder ggf. manuell +konfiguriert werden. + +Bei den Devices kann über die Option "interfaces" Bridges automatisch +gebildet werden. Das folgende Beispiel beschreibt die Konfiguration +zweier Devices intern und extern. + +| Das Device ``extern`` wird aus dem Interface "eth1" mit der Adresse + 192.168.1.1 gebildet, das Device ``intern`` aus eth0 und den + verschiedenen WLan-Interfaces mit der Adresse 192.168.0.1. +| **UPDATE**: Wie ihr seht funktioniert das "bridgen" bereits auch + sauber in der eth-Sektion! (und AVM hat es ja auch selber mit dem + wlan-IF so gemacht) + +.. code:: wiki + + ethinterfaces { + name = "extern"; + dhcp = no; + ipaddr = 192.168.1.1; + netmask = 255.255.255.0; + dstipaddr = 0.0.0.0; + interfaces = "eth1"; + dhcpenabled = no; + dhcpstart = 0.0.0.0; + dhcpend = 0.0.0.0; + } { + name = "eth0:0"; + dhcp = no; + ipaddr = 169.254.1.1; + netmask = 255.255.0.0; + dstipaddr = 0.0.0.0; + dhcpenabled = yes; + dhcpstart = 0.0.0.0; + dhcpend = 0.0.0.0; + } { + name = "intern"; + dhcp = no; + ipaddr = 192.168.0.1; + netmask = 255.255.255.0; + dstipaddr = 0.0.0.0; + interfaces = "eth0", "ath0", "wdsup1", "wdsdw1", "wdsdw2", + "wdsdw3", "wdsdw4"; + dhcpenabled = no; + dhcpstart = 192.168.0.20; + dhcpend = 192.168.0.200; + } + +Dann die bestehende ``ar7.cfg`` durch die veränderte Datei +überschreiben: + +.. code:: wiki + + cat /var/tmp/ar7.cfg > /var/flash/ar7.cfg + +Dann die Änderungen mit einen Reboot oder ``ar7cfgchanged`` aktivieren. + +| Ergänzung: +| Auch der special Modus kann über die ar7.cfg konfiguriert werden. +| Als Beispiel ein Ausschnitt aus einer Alice Konfiguration) + +.. code:: wiki + + cpmacspecial { + enabled = yes; + normalcfg = "eth0,1,2,3", "eth3,4"; + atacfg = "wan,1", "eth0,2,3", "eth3,4"; + } + +| und ein Anderes mit "split" Interfaces + +.. code:: wiki + + cpmacspecial { + enabled = yes; + normalcfg = "eth0,1", "eth1,2", "eth2,3", "eth3,4"; + atacfg = "wan,1", "eth1,2", "eth2,3", "eth3,4"; + } + +| Der Syntax: +| modus = portmapping[, …] +| modus =: normalcfg|atacfg +| portmapping =: "netdevname,portnum[,…]" +| netdevname =: wan|eth\ `[0-3] </log/?revs=0-3>`__ (aber vielleicht + auch eigener Namen) +| portnum =: `[1-4] </log/?revs=1-4>`__ (so vielen wie es auf das Gerät + gibt) + +.. _Beispiel: + +Beispiel +-------- + +Die vier Ports sollen in zwei Gruppen aufgeteilt werden: LAN 1 und LAN 2 +sollen für das interne Netz zur Verfügung stehen (als eth0), LAN 3 und +LAN 4 werden zwei `​Freifunk <http://www.freifunk.net/>`__-Router +angeschlossen, die zusammen in einem separaten Subnetz stecken (als +*eth1*), vom internen LAN also getrennt sein sollen. + +Ruft man ``cpmaccfg`` ohne weitere Parameter auf, erscheint eine knappe +Übersicht über Kommandos und Parameter. Damit ermittelt man, welche +*PORTMASK* für die jeweiligen Interfaces zu verwenden ist. Diese +Portmaske ergibt sich aus der Logischen-Oder-Verknüpfung der jeweiligen +Portkonstanten. Das sind folgende Werte: LAN 1 = 0x01, LAN 2 = 0x02, LAN +3 = 0x04, LAN 4 = 0x08 und der CPU-Port ist 0x20. + +Für das obige Beispiel muss also folgender Befehl aufgerufen werden: + +.. code:: wiki + + cpmaccfg ssms eth0 0x23 eth1 0x2c + +Man beachte, dass in beiden Portmasken der CPU-Port eingeschlossen +wurde. Macht man dies nicht, entsteht zwar das Interface, es "sieht" +aber keinen Traffic (noch nicht probiert, zu überprüfen). + +Anschließen kann mit ``cpmaccfg ssm special`` diese Konfiguration +aktiviert werden. + +.. _Sicherheits-Warnung: + +Sicherheits-Warnung +------------------- + +Beim Booten startet die Box immer im Modus **normal**, d.h.: wie und wo +man auch immer die Umschaltung in den gewünschten Modus realisiert (z.B. +per ``debug.cfg`` oder in einem Freetz Startup-Skript), es existiert +immer eine gewisse Zeitspanne, in der sich alle vier Ports im gleichen +"Layer 2-Subnetz" befinden. Erst nachdem die Umschaltung erfolgt ist, +befinden sich die Ports in getrennten "Layer 2-Netzen". Erst dann muss +eine Kommunikation über Layer 3 (IP-Ebene) erfolgen, wo eventuelle +iptables-Regeln greifen (oder halt die interne AVM-Firewall). + +Schon bevor der Kernel bootet, wird der Switch vom Bootloader als +normaler Switch konfiguriert. Die Konfiguration im Kernel umzustellen +verkürzt die Zeitspanne etwas, beseitigt aber nicht das grundsätzliche +Problem. + +Da für den Bootloader keine Quelltexte frei verfügbar sind, wäre ein +Anpassung schwierig. + +.. _Kompatibilität: + +Kompatibilität +-------------- + +- **FB 7170, Speedports W900V, W701V** Diese Boxen haben einen + eingebauten Switch (ADM6996), ``cpmaccfg`` funktioniert. +- **7270/3270** Tantos-Switches: cpmaccfg funktioniert + (`​Beweis <http://www.ip-phone-forum.de/showpost.php?p=1599909&postcount=23>`__) +- **Alice IAD 5130, Alice IAD WLAN 3331, FB 5140/3170/2170** + funktionieren ebenfalls problemlos (jeweilige akt. Firmware) + (cpmaccfg ebenso). +- **5124** sollte ebenfalls sauber funktionieren +- **7050** Kein Switch-Baustein vorhanden, es handelt sich um richtige + Netzwerkinterfaces. +- **7320** wie 7050/5050 Boxen. Es sind reale Netz-IF (eth0 & eth1) + welche auch getrennt koniguriert werden können (und das sogar + permanent in der ar7.cfg im Bridgemode). + +.. _a: + +.. _Änderungen7270v2vs.7270v3: + +Änderungen 7270v2 vs. 7270v3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Bei der 7270v3/3270v3 hat sich der CPU Port von Bit5 auf Bit0 verschoben +und die Interface Ports sind um eins nach links gerückt. Für das obige +Beispiel muss also folgender Befehl auf der 7270v3 aufgerufen werden: + +.. code:: wiki + + cpmaccfg ssms eth0 0x07 eth1 0x19 + + # eth0: Maske 0000 0111 + # eth1: Maske 0001 1001 + + # 7270v3: 0001 1111 7270v2: 0010 1111 + # x---- CPU Port -----------x + # x----- Port 1 -----------------x + # x------ Port 2 ----------------x + # x------- Port 3 ---------------x + # x--------- Port 4 --------------x diff --git a/wiki/help/howtos/security/user_management.rst b/wiki/help/howtos/security/user_management.rst new file mode 100644 index 0000000..c5325dc --- /dev/null +++ b/wiki/help/howtos/security/user_management.rst @@ -0,0 +1,162 @@ +help/howtos/security/user_management +==================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration des eingebauten + Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ + + #. `Vorwort <switch_config.html#Vorwort>`__ + #. `Vordefinierte + Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ + #. `Anpassungen in der + ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ + #. `Beispiel <switch_config.html#Beispiel>`__ + #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ + #. `Kompatibilität <switch_config.html#Kompatibilität>`__ + +#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ + + #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ + #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ + #. `Manuelle + Anpassungen <user_management.html#ManuelleAnpassungen>`__ + #. `Besonderheiten <user_management.html#Besonderheiten>`__ + +#. `WLAN von LAN trennen mit + iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ + + #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ + #. `iptables <split_wlan_lan.html#iptables>`__ + +#. `Freetz als interner Router mit + Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ + + #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ + #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ + #. `Die Fritzbox + modden <router_and_firewall.html#DieFritzboxmodden>`__ + #. `Die Fritzbox auf getrennte Netze + umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ + #. `Erstellen der + Routen <router_and_firewall.html#ErstellenderRouten>`__ + #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ + #. `Firewall <router_and_firewall.html#Firewall>`__ + #. `FIXME kopierter + Post <router_and_firewall.html#FIXMEkopierterPost>`__ + +.. _Benutzerverwaltung: + +Benutzerverwaltung +================== + +.. _Benutzeranlegen: + +Benutzer anlegen +---------------- + +Nehmen wir an, der neue Benutzer soll *picard* heißen. Benutzer *root* +macht dann Folgendes: + +.. _Freetz: + +Freetz +~~~~~~ + +:: + + # Benutzer hinzufügen + adduser picard + # in buffer speichern ??? + # Persistent speichern + modsave flash + +ds-mod +~~~~~~ + +:: + + # Benutzer hinzufügen + echo "picard:*" >> /tmp/flash/shadow.save + # Persistent speichern + modsave flash + # Alle Benutzer neu laden, fehlende Heimverzeichnisse erzeugen + modpasswd load + # Paßwort vergeben (wird automatisch persistent gespeichert) + modpasswd picard + # Test + login picard + +.. _Benutzerlöschen: + +Benutzer löschen +---------------- + +Jetzt der umgekehrte Weg - Benutzer *picard* soll wieder weg. Benutzer +*root* macht dann Folgendes: + +.. _Freetz1: + +Freetz +~~~~~~ + +:: + + # Benutzer löschen + deluser picard + # Persistent speichern + modsave flash + +.. _ds-mod1: + +ds-mod +~~~~~~ + +:: + + # Heimverzeichnis löschen + rm -rf /mod/home/picard + # Temporäre Datei mit gelöschtem Benutzer erzeugen + grep -v '^picard:' /tmp/flash/shadow.save > /tmp/deleted-user + # Benutzerdatei überschreiben + mv /tmp/deleted-user /tmp/flash/shadow.save + # Persistent speichern + modsave flash + # Alle Benutzer neu laden (jetzt einen weniger) + modpasswd load + # Test (schlägt mit "Login incorrect" bei PW-Eingabe fehl) + login picard + +.. _ManuelleAnpassungen: + +Manuelle Anpassungen +-------------------- + +Um z.B. die UID anzupassen geht man nach dem erfolgreichen Anlegen wie +oben beschrieben, wie folgt vor: + +- Datei /tmp/passwd bearbeiten +- modsave flash +- modsave + +.. _Besonderheiten: + +Besonderheiten +-------------- + +.. _Dropbear: + +Dropbear +~~~~~~~~ + +In Freetz akzeptiert Dropbear standardmäßig nur Logins des Benutzers +``root``. Wer auch Anmeldungen anderer Benutzer ermöglichen will, muss +auf der Freetz-Weboberfläche die Option "Login nur für root erlauben" +deaktivieren. Das Entfernen des Patches +``make/dropbear/patches/100-root-login-only.patch`` ist - anders als in +früheren Versionen - nicht mehr nötig. + +- Tags +- `howtos </tags/howtos>`__ +- `security </tags/security>`__ +- `user </tags/user>`__ diff --git a/wiki/help/howtos/troubleshoot.rst b/wiki/help/howtos/troubleshoot.rst new file mode 100644 index 0000000..6e54189 --- /dev/null +++ b/wiki/help/howtos/troubleshoot.rst @@ -0,0 +1,36 @@ +help/howtos/troubleshoot +======================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Kaputtes Telefonbuch + reparieren <troubleshoot/repair_phonebook.html#KaputtesTelefonbuchreparieren>`__ + + #. `Symptom <troubleshoot/repair_phonebook.html#Symptom>`__ + #. `Ursache <troubleshoot/repair_phonebook.html#Ursache>`__ + #. `Lösung <troubleshoot/repair_phonebook.html#Lösung>`__ + +#. `Häufige selbständige + Reboots <troubleshoot/reboots.html#HäufigeselbständigeReboots>`__ + + #. `Weiterführende + Links <troubleshoot/reboots.html#WeiterführendeLinks>`__ + +#. `Original Firmware + wiederherstellen <troubleshoot/recover_firmware.html#OriginalFirmwarewiederherstellen>`__ + +.. _Troubleshooting: + +Troubleshooting +=============== + +Probleme hat niemand gerne - und wer sie dann doch hat, ist sie ganz +gern wieder los. Die Dokumente in dieser Rubrik sollen dabei helfen. +Eine Übersicht bereits vorhandener Themen findet sich rechts im +Inhaltsverzeichnis. + +Natürlich ist jeder, der gerade ein Problem erfolgreich lösen konnte, +dazu eingeladen, selbiges inklusive der Lösung als Artikel hier +hinzuzufügen! Wer so etwas noch nie gemacht hat, findet in den +`WikiTips <../wikiedit.html>`__ Informationen, wie das zu +bewerkstelligen ist. diff --git a/wiki/help/howtos/troubleshoot/reboots.rst b/wiki/help/howtos/troubleshoot/reboots.rst new file mode 100644 index 0000000..f329426 --- /dev/null +++ b/wiki/help/howtos/troubleshoot/reboots.rst @@ -0,0 +1,34 @@ +help/howtos/troubleshoot/reboots +================================ +.. _HäufigeselbständigeReboots: + +Häufige selbständige Reboots +============================ + +Wenn die Box mehrmals wöchentlich (oder gar täglich) ohne erkennbaren +Grund neu durchstartet, kann das durchaus daran liegen, dass es ihr zu +heiß geworden ist. Wozu oft mehrere Dinge beitragen, sodass es sich +nicht unbedingt als Grund aufdrängt: Werden die Reboots z.B. nach der +De-Installation eines Paketes seltener, kann der Grund sein, dass die +CPU weniger beansprucht wird (ja, es gibt einige Pakete, die recht viel +tun - `Tor <../../../packages/tor.html>`__ ist ein Beispiel dafür, siehe +`​IPPF +Thread <http://www.ip-phone-forum.de/showpost.php?p=1171014&postcount=2>`__) +- und der "Peak" von daher erst später auftritt. + +Es schadet also keinesfalls, die Umgebung um die Box einer kleinen +Prüfung zu unterziehen: Steht sie vielleicht direkt auf einem anderen, +heißen Gerät (Router, oder was auch immer)? Eine Positionsänderung kann +hier Wunder wirken. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​IPPF + Thread <http://www.ip-phone-forum.de/showpost.php?p=1171014&postcount=2>`__ + zum Thema "Tor heizt ein" (hohe CPU-Last, Reboots) +- `​noch ein IPPF + Thread <http://www.ip-phone-forum.de/showthread.php?t=172138>`__ zum + Thema "selbständige Reboots" mit "Hardware-Lösung" (Kühlkörper) diff --git a/wiki/help/howtos/troubleshoot/recover_firmware.rst b/wiki/help/howtos/troubleshoot/recover_firmware.rst new file mode 100644 index 0000000..e69412c --- /dev/null +++ b/wiki/help/howtos/troubleshoot/recover_firmware.rst @@ -0,0 +1,33 @@ +help/howtos/troubleshoot/recover_firmware +========================================= +.. _OriginalFirmwarewiederherstellen: + +Original Firmware wiederherstellen +================================== + +Wenn die Box nicht mehr ansprechbar ist, die Power LED leuchtet und die +übrigen LEDs in regelmäßigen Abständen aufblinken, dann kann folgende +Vorgehensweise die Box wieder zum Leben erwecken. In diesen Fällen ist +mtd1 (Kernel + Filesystem) betroffen, nicht mtd3 / mtd4 (|/!\\| mtd2 auf +**KEINEN** Fall anrühren). + +#. Der Computer muss sich im gleichen Subnetz (und auch + Broadcast-Domäne) wie die Box befinden: 192.168.178.0/24 (|/!\\| + Achtung: Die Boot-IP der Box muss nicht gleich der IP im normalen + Betrieb sein!) +#. ``make recover`` +#. Den Anweisungen folgen (zur Zeit leider nicht bei allen + Fritzbox-Typen möglich) + +Am bequemsten funktioniert es, wenn nach einem ``make`` Freetz noch +nicht mit ``make clean``, ``make dirclean`` oder ``make distclean`` +bereinigt wurde, und noch eine für die Box passende Konfiguartion des +Mods vorhanden ist. In diesem Fall lädt ``make recover`` die +unmodifizierte original Firmware auf die Box. + +- Tags +- `firmware </tags/firmware>`__ +- `howtos </tags/howtos>`__ + +.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/howtos/troubleshoot/repair_phonebook.rst b/wiki/help/howtos/troubleshoot/repair_phonebook.rst new file mode 100644 index 0000000..71ac8c2 --- /dev/null +++ b/wiki/help/howtos/troubleshoot/repair_phonebook.rst @@ -0,0 +1,71 @@ +help/howtos/troubleshoot/repair_phonebook +========================================= +.. _KaputtesTelefonbuchreparieren: + +Kaputtes Telefonbuch reparieren +=============================== + +.. _Symptom: + +Symptom +------- + +Es können keine neuen Einträge hinzugefügt werden. Beim Versuch dessen +kommt die Fehlermeldung: + + FEHLER: Telefonbucheintrag fehlerhaft + +.. _Ursache: + +Ursache +------- + +Die Datei ``/var/flash/phonebook`` hat es "zerlegt" - wie und warum auch +immer. + +.. _Lösung: + +Lösung +------ + +Wie der Pfad unter *Überschrift* schon andeutet, ist eine Datei im Flash +kaputt - die also "nur" durch eine heile ersetzt werden muss. Wohl dem, +der noch ein Freetz Backup hat - für alle anderen hilft es nur, das +Telefonbuch komplett zu leeren: + +:: + + touch /tmp/leeredatei + cat /tmp/leeredatei > /var/flash/phonebook + rm /tmp/leeredatei + +Anschließend die Box neu starten (am besten, indem man sie kurz vom Netz +trennt - bei einem normalen "Reboot" könnte sie sonst auf den Gedanken +kommen, vor dem Herunterfahren wieder die kaputte Version aus dem RAM in +den Flash zu speichern. + +Wer nun noch ein Freetz Backup von einem Zeitpunkt hat, wo das +Telefonbuch noch in Ordnung war, kann aus dieser Archivdatei einfach das +Telefonbuch entpacken, auf den USB-Stick bzw. ins RAM der Box kopieren, +und selbige anstatt der leeren Datei zum Überschreiben des Telefonbuches +im Flash benutzen: + +:: + + # Auf dem PC + tar czf freetz-backup.tar.gz flash/phonebook + scp flash/phonebook root@fritz.box:/tmp/newphonebook + rm flash/phonebook + rmdir flash + # Auf der Box + cat /tmp/newphonebook > /var/flash/phonebook + rm /tmp/newphonebook + +Und dann wieder den Stromstecker ziehen, wie oben beschrieben. + + *Quelle:*\ `​IPPF + Thread <http://www.ip-phone-forum.de/showthread.php?t=176144>`__ + +- Tags +- `help <../../../help.html>`__ +- `howtos </tags/howtos>`__ diff --git a/wiki/help/irc.en.rst b/wiki/help/irc.en.rst new file mode 100644 index 0000000..5e63e8f --- /dev/null +++ b/wiki/help/irc.en.rst @@ -0,0 +1,17 @@ +help/irc.en +=========== +If you need instant help you can try the fritzbox IRC channel. Some of +the developers are known to sometimes hang out on there: ##fritzbox on +Freenode. + +.. code:: wiki + + Server="chat.freenode.net" + Port="6667" + Channel="##fritzbox" + +If you have any trouble while connecting (Unauthorized connection), +please use an alternative server. Maybe you need one from your country. +You could find an overview about the Freenod-servers here: + + `​http://freenode.net/irc_servers.shtml <http://freenode.net/irc_servers.shtml>`__ diff --git a/wiki/help/irc.rst b/wiki/help/irc.rst new file mode 100644 index 0000000..e96b176 --- /dev/null +++ b/wiki/help/irc.rst @@ -0,0 +1,92 @@ +help/irc +======== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Intro <irc.html#Intro>`__ +#. `IRC Netiquette <irc.html#IRCNetiquette>`__ +#. `Troubleshooting IRC <irc.html#TroubleshootingIRC>`__ +#. `Konfiguration Chatzilla-Plugin in + Firefox <irc.html#KonfigurationChatzilla-PlugininFirefox>`__ + +.. _Intro: + +Intro +----- + +| Wer den direkten Kontakt zur Freetz-Community sucht, kann das gerne + über IRC tun. Dazu benötigt man lediglich einen + `​Web-Browser <http://webchat.freenode.net/>`__ oder IRC-Client. +| Der IRC-Kanal ("Chatraum") nennt sich **##fritzbox** und befindet sich + im Freenode (IRC-Server). +| Auf ##fritzbox werden Themen rund um Freetz und allgemein zu FritzBox + diskutiert. + +**Zugangsdaten:** + +.. code:: wiki + + Server="chat.freenode.net" + Port="6667" + Channel="##fritzbox" + +|/!\\| Grundsätzlich: Bitte einfach Eure Fragen stellen, Antworten +können manchmal dauern (siehe "IRC Netiquette"). + +.. _IRCNetiquette: + +IRC Netiquette +-------------- + +Auch im IRC gibt es "Benimmregeln" und die Einhaltung sollten helfen +dieses Kommunikationsmedium (effektiv) zu nutzen. Schliesslich hat man +Fragen, die man gerne beantwortet haben möchte. Die +`​Benimmregeln <http://channel.debian.de/netiquette/ch-rules.html>`__ +aus dem "Netiquette & HOWTO für #debian.de" sind nicht verpflichtend, +geben aber einige Hinweise, wie man "Fettnäpfchen" vermeiden kann. + +.. _TroubleshootingIRC: + +Troubleshooting IRC +------------------- + +Unauthorized connection + + | Falls es Probleme beim Verbinden gibt (z.B. Fehlermeldung: + "Unauthorized connection"), so kann man versuchen einen + alternativen IRC-Server zu verwenden. + | Tipp: Einen IRC-Server aus dem eigenen Land verwenden! Eine + Übersicht aller Server im Freenode gibt es + `​hier <http://freenode.net/irc_servers.shtml>`__. + +.. _KonfigurationChatzilla-PlugininFirefox: + +Konfiguration Chatzilla-Plugin in Firefox +----------------------------------------- + +.. figure:: /screenshots/25.jpg + :alt: IRC Chatzilla Window + + IRC Chatzilla Window + +| +| Ebenfalls kann das Chatzilla-Plugin für den Firefox genutzt werden + (`​Download <https://addons.mozilla.org/de/firefox/addon/16>`__). +| Einstellen des Chatzilla-Plugins: +| 1.) Chatzilla installieren +| 2.) Unter **Chatzilla** ⇒ **Einstellungen** ⇒ **Globale + Einstellungen** ⇒ **Allgemein** einen **Benutzernamen** und einen + **Nick** vergeben. +| 3.) Chatzilla wieder beenden +| 4.) Nun diesen Link anklicken: + `​irc://chat.freenode.net/##fritzbox <irc://chat.freenode.net/##fritzbox>`__ +| 5.) Chatzilla sollte sich nun im Fritzbox-Chat mit Eurem neu + vergebenen Nick einloggen (siehe Bild oben) +| 6.) Dann unter **IRC** den Haken bei **Chanel beim starten** + aktivieren + +Ab sofort verbindet man sich automatisch mit jedem Start von Chatzilla +zu ##fritzbox. + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/trouble_shooting.rst b/wiki/help/trouble_shooting.rst new file mode 100644 index 0000000..8a229d4 --- /dev/null +++ b/wiki/help/trouble_shooting.rst @@ -0,0 +1,63 @@ +help/trouble_shooting +===================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Troubleshooting <trouble_shooting.html#Troubleshooting>`__ + + #. `Troubleshooting + .config <trouble_shooting.html#Troubleshooting.config>`__ + #. `Troubleshooting + Build-Abbruch <trouble_shooting.html#TroubleshootingBuild-Abbruch>`__ + +.. _Troubleshooting: + +Troubleshooting +--------------- + +.. _Troubleshooting.config: + +Troubleshooting .config +~~~~~~~~~~~~~~~~~~~~~~~ + +| Je nach Änderungen am Buildsystem und Config-Variablen kann eine + existierende (alte) ``.config`` Datei eingeschränkt oder garnicht mehr + verwendet werden. +| Mögliche Abhilfe: + +.. code:: wiki + + $ yes "" || make oldconfig <--- Alte .config Datei auffrischen + oder + $ make menuconfig <--- Ggf. .config Datei neu erstellen + +.. _TroubleshootingBuild-Abbruch: + +Troubleshooting Build-Abbruch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +|/!\\| Sollte während des Build-Prozesses ein Abbruch auftreten, so kann +man versuchen diese Strategien anzuwenden: + +Einzelnes Paketes erneut erstellen: + +.. code:: wiki + + $ make iptables-dirclean <--- Sourceverzeichnis eines problematischen Package löschen (hier: iptables) + weiter mit + $ make iptables-precompiled <--- Versuchen problematisches Package von Anfang neu zu bauen + +Von Anfang neu bauen: + +.. code:: wiki + + $ make dirclean <--- Source-Verzeichnisse aller bisher erstellter Software löschen + weiter mit + $ make <--- Versuchen problematische Software von Anfang neu zu bauen + +Bei Nichterfolg können `Wiki, Forum und +IRC <../index.html#WikiForumundIRC>`__ genutzt werden, um das Problem +weiter zu behandeln. + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/help/wikiedit.rst b/wiki/help/wikiedit.rst new file mode 100644 index 0000000..67c3370 --- /dev/null +++ b/wiki/help/wikiedit.rst @@ -0,0 +1,141 @@ +help/wikiedit +============= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <wikiedit/goodies.html#WikiGoodies>`__ + + #. `Smileys <wikiedit/goodies.html#Smileys>`__ + #. `Symbols <wikiedit/goodies.html#Symbols>`__ + #. `Entities <wikiedit/goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <wikiedit/formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <wikiedit/formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <wikiedit/formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <wikiedit/formatting_guide.html#Überschriften>`__ + #. `Artikeltext <wikiedit/formatting_guide.html#Artikeltext>`__ + #. `Screenshots <wikiedit/formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <wikiedit/formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <wikiedit/formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <wikiedit/formatting_guide.html#Tags>`__ + +#. `Tabellen <wikiedit/tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <wikiedit/tables.html#ÜberblickderverschiedenenFormate>`__ + #. `Anwendung: Wie erstelle ich eine + Tabelle? <wikiedit/tables.html#Anwendung:WieerstelleicheineTabelle>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <wikiedit/toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten + einbeziehen <wikiedit/toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe + einschränken <wikiedit/toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <wikiedit/toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <wikiedit/toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <wikiedit/tagging.html#Tagging>`__ + + #. `Was und wozu sind + Tags? <wikiedit/tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man + Tags? <wikiedit/tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <wikiedit/tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu + beachten? <wikiedit/tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <wikiedit/screenshots.html#Screenshots>`__ + + #. `Screenhots + hochladen <wikiedit/screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <wikiedit/screenshots.html#Screenhotsfinden>`__ + #. `Screenshots + referenzieren <wikiedit/screenshots.html#Screenshotsreferenzieren>`__ + +.. _WikiBearbeitung-TippsundTricks: + +Wiki Bearbeitung - Tipps und Tricks +=================================== + +"Erste Hilfe" zu Formatierungsfragen findet sich zwar bereits in den +zugehörigen `Hilfe-Seiten <../WikiFormatting.html>`__ der genutzten +Software. Doch dort kann freilich nicht auf alles eingegangen werden: +Zum Einen hinken Hilfe-Seiten bekanntlich der Software-Entwicklung +hinterher - und zum Anderen können die Entwickler ja nicht wissen, +welche Addons/Plugins letztendlich noch zusätzlich installiert werden. + +Also bitte einfach alle Links auf dieser Seite ausprobieren, bis das +passende gefunden wurde |:))| + +.. _ErsteSchritte: + +Erste Schritte +-------------- + +Bei Freetz verwenden wir ein *hierarchisches Wiki*. Bevor man einen +neuen Artikel anlegt, sollte man sich daher Gedanken machen, wo er +hingehört. Ein paar Beispiele sollen dies veranschaulichen: + +- Dokumentation zu einem Paket gehören nach ``packages/<paketname>`` +- Dokumentation zu einem Patch entsprechend nach + ``patches/<patchname>`` +- Howtos sind unter ``help/howtos/`` angesiedelt, und dort auch + nochmals in Themengebiete untergliedert: + + - ``help/howtos/security`` ist der Startpunkt für + sicherheitsrelevante Dinge + - ``help/howtos/development`` für Entwickler-Informationen (und + alles, was damit zusammenhängt) + - ``help/howtos/troubleshoot`` für alle möglichen Probleme mit den + zugehörigen Lösungen + - ``help/howto/common`` für allgemeine Howtos + +Der komplette Artikelpfad ist in :sub:`Kleinbuchstaben` zu halten, die +einzelnen Elemente möglichst in Englischer Sprache. + +Am besten einfach ein paar Artikel anschauen, die ähnliche Kriterien wie +der zu erstellende Artikel aufweisen - und schauen, wo diese abgelegt +sind. + +Eine gute Idee ist es auch, den Artikel mit passenden *Tags* zu versehen +(dafür gibt es unter der "Textarea" ein Feld *Tag under*). Verfügbare +Tags lassen sich über den Link "`view all tags </tags>`__" direkt über +diesem Feld anzeigen. Ausführlichere Hilfe hierzu findet sich +`hier <wikiedit/tagging.html>`__. + +Auf diese Weise helft Ihr gleich mit, Ordnung zu halten. Aber keine +Panik: Sollte einmal ein Artikel an falscher Stelle eingeordnet worden +sein, lässt er sich im Nachhinein immer noch an die richtige Stelle +schieben. Besser den Artikel falsch platziert, als gar nicht +geschrieben! + +.. _WeitereLektüre: + +Weitere Lektüre +--------------- + +Damit die Artikel immer besser werden, seien die hier verlinkten +Hinweise jedem ans Herz gelegt. Nicht unbedingt in der Reihenfolge, wie +sie im Inhaltsverzeichnis auf der rechten Seite aufgelistet sind - aber +die `Formatierungs Guidelines <wikiedit/formatting_guide.html>`__ sind +ein guter nächster Schritt. Alle anderen Punkte ergeben sich dann je +nach Bedarf. + +- Tags +- `help <../help.html>`__ +- `wikiedit </tags/wikiedit>`__ + +.. |:))| image:: ../../chrome/wikiextras-icons-16/smiley-grin.png + diff --git a/wiki/help/wikiedit/formatting_guide.rst b/wiki/help/wikiedit/formatting_guide.rst new file mode 100644 index 0000000..b5b3dc2 --- /dev/null +++ b/wiki/help/wikiedit/formatting_guide.rst @@ -0,0 +1,239 @@ +help/wikiedit/formatting_guide +============================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _Formatierungs-Guidelines: + +Formatierungs-Guidelines +======================== + +Damit ein Wiki "wie aus einem Guss" wirken kann, sind einheitliche +Formatierungen vonnöten. Daher soll an dieser Stelle einmal kurz +aufgezeigt werden, nach welchen "Richtlinien" bislang vorgegangen wurde +- was natürlich als Anhaltspunkt bei der Erstellung neuer sowie der +Bearbeitung existierender Artikel gut geeignet sein sollte. + +.. _Beispiel-Artikel: + +Beispiel-Artikel +---------------- + +Die Zusammenfassung einmal vorab: So könnte der Artikel für ein fiktives +Paket namens *dummy* aussehen: + +.. code:: wiki + + [[TOC(heading=Inhaltsverzeichnis)]] + + = dummy = + + '''dummy''' ist ein Paket, das es nicht wirklich gibt. + Wirklich geben tut es hingegen Pakete wie [wiki:packages/callmonitor CallMonitor] + und [wiki:packages/dtmfbox DTMFBox]. + + == Installation == + Die Installation erfolgt wie bei den meisten Paketen direkt bei der + [wiki:help/howtos/common/installation Erstellung des Freetz-Images], indem das Paket + einfach in der + [wiki:help/howtos/common/installation/menuconfig menuconfig] mit ausgewählt wird. + + == Einrichtung == + ''dummy'' verfügt über eine Konfigurations-Oberfläche, in der sich alle notwendigen + Einstellungen tätigen lassen: + [[Screenshot(123)]] + * '''Starttyp''': "Automatisch", wenn ''dummy'' nach jedem Reboot automatisch + gestartet werden soll. + * '''Punkt1''': Hier trägt man was ein + * '''Punkt2''': blabla... + + == Besonderheiten == + ''dummy'' kann auch zu Debugging-Zwecken mit {{{dummy -D}}} direkt von der Kommandozeile + gestartet werden. Ein Skript für Trallalla könnte so aussehen: + {{{ + #!sh + # Irgendwas machen + echo "Trallala!" + # Tschüß sagen + echo "Warnurspaß!" + exit 0 + }}} + + == Weiterführende Links == + * [http://de.wikipedia.org/wiki/Lillibullero Wikipedia Artikel zu Trallala] + * [http://www.wehavemorefun.de/ More fun to come] (Englisch) + +.. _Inhaltsverzeichnis: + +Inhaltsverzeichnis +------------------ + +| ``[[TOC(heading=Inhaltsverzeichnis)]]`` +| Die erste Zeile unseres Beispiel-Artikels enthält den Aufruf eines + `Makros <../../TracWikiMacros.html>`__, das ein automatisches + Inhaltsverzeichnis erstellt. Das macht natürlich nur dann Sinn, wenn + der Artikel auch mehrere (mindestens 3) Überschriften enthält. In + userem Beispiel haben wir dem Makro genau einen Parameter mitgegeben: + Die Überschrift (engl.: heading) des Inhaltverzeichnisses soll + natürlich bei einem deutschsprachigen Artikel auch Deutsch sein. + Default wäre hier Englisch, und zwar "Table of Contents". + +Ausführlichere Hilfe zum Inhaltsverzeichnis gibt es `hier <toc.html>`__. + +.. _Überschriften: + +Überschriften +------------- + +| ``= dummy =`` +| Wir beginnen unseren Artikel mit einer Überschrift "Ebene 1" - nennen + wir sie der Einfachheit halber "Hauptüberschrift". In der Regel ist + dies die einzige Hauptüberschrift eines Artikels. Nach "unten" stufen + wir schrittweise ab - Sprünge machen wenig Sinn. + +.. _Artikeltext: + +Artikeltext +----------- + +| ``'''dummy''' ist ein Paket...`` +| Es ist meist sinnvoll, die erste Erwähnung des Paketnamens mit + Fettdruck zu versehen - insbesondere, wenn man eine davon abweichende + Hauptüberschrift gewählt hat. Hat das Projekt eine Homepage, so macht + es auch Sinn, diese hier zu verlinken. In diesem Falle sähe der Anfang + dann etwa so aus: + +``'''[http://www.dummy.dom/ dummy]''' ist ein Paket...`` + +Anschließend geht es nach gesundem Menschenverstand mit dem passenden +Fließtext weiter, es folgen Aufzählungen, oder was auch sonst in diesem +Zusammenhang benötigt wird. + +.. _Screenshots: + +Screenshots +----------- + +| ``[[Screenshot(123)]]`` +| Screenshots und andere Bilder verwalten wir hier mit dem + ScreenshotsPlugin. Näheres zum Umgang damit findet sich `an dieser + Stelle <screenshots.html>`__ ausführlich beschrieben. + +.. _BesondereFormatierungen: + +Besondere Formatierungen +------------------------ + +Gesondert hervorgehoben werden sollten: + +- Dateinamen, Pfade, Kommandozeilen-Befehle: eingeschlossen in + dreifache geschweifte Klammern (``{{{Befehl``}}}) +- Bezüge (wie in unserem Beispiel die Beschreibung der einzelnen + Konfigurationspunkte) in **Fettdruck** +- weitere Erwähnungen des Paketnamens (oder auch andere Eigennamen) + *kursiv* +- mehrzeilige Skript-Fragmente (oder auch vollständige Skripte) in + Code-Blöcken (siehe Beispiel). Für das Syntax-Highlighting gibt es + verschiedene `WikiProcessors <../../WikiProcessors.html>`__ - das + Beispiel benutzt den für Shell-Skript zuständigen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +Eine gute Sache ist es auch, interessante Links zum Artikel am Ende +(nochmals) zusammenfassend aufzuzählen - auch wenn sie bereits im +Artikeltext selbst benutzt (verlinkt) wurden. Dann muss man nicht ewig +nach ihnen suchen |:)| + +.. _Tags: + +Tags +---- + +**Nach dem Speichern** des Artikels klicken wir nun nochmals auf den +*Edit* Button, um den Artikel mit den passenden `Tags <tagging.html>`__ +zu versehen. Gleichzeitig klappt das leider nicht (Bug im TagsPlugin: Es +werden dann zwar die Tags aktualisiert, aber der ganze Artikeltext, bzw. +die gemachten Änderungen, gehen verloren). Wozu Tags nun wiederum +wichtig sind, und wie man sie verwendet, findet sich im gerade dazu +verlinkten Artikel. + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ + +.. |:)| image:: ../../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/help/wikiedit/goodies.rst b/wiki/help/wikiedit/goodies.rst new file mode 100644 index 0000000..b079bc9 --- /dev/null +++ b/wiki/help/wikiedit/goodies.rst @@ -0,0 +1,285 @@ +help/wikiedit/goodies +===================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _WikiGoodies: + +Wiki Goodies +============ + +Die "Goodies" sind eines der "Addons", die hier im Freetz Wiki +installiert sind. Sie bieten eine Reihe von Verschönerungen und +Formatierhilfen: + +.. _Smileys: + +Smileys +------- + ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(!)|  | (!) /!\\ | | |(OK)|  | (OK) (Y) | | |:))|  | :)) :-)) | | |:-o|  | :-o :o | | |{*}|  | {*} | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(*)|  | (*) | | |(X)|  | (X) | | |:-?|  | :-? :? | | |:-\||  | :-\| :\| | | |{o}|  | {o} | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(./)|  | (./) | | |8-)|  | 8-) | | |:-D|  | :-D :D | | |;)|  | ;) ;-) | |   | | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(?)|  | (?) | | |8-O|  | 8-O B-O | | |:-O|  | :-O :O | | |<!>|  | | |   | | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(I)|  | (I) | | |:(|  | :( :-( | | |:-P|  | :-P :P | | |>:>|  | >:> | |   | | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ +| |(N)|  | (N) (NOK) | | |:)|  | :) :-) =) | | |:-X|  | :-X :X | | |B-)|  | B-) | |   | | ++---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ + +.. _Symbols: + +Symbols +------- + ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ +| ©  | (C) | | —  | -- | | ¼  | 1/4 | | ⇔  | <=> | | ∨  | \\/ | ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ +| ®  | (R) | | →  | -> | | ¾  | 3/4 | | ≠  | <> | |   | | ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ +| ™  | (TM) | | …  | ... | | ←  | <- | | ≤  | =< | |   | | ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ +| ©  | (c) | | ∧  | /\\ | | ↔  | <-> | | ⇒  | => | |   | | ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ +| ±  | +/- | | ½  | 1/2 | | ⇐  | <= | | ≥  | >= | |   | | ++----+------+--+----+-----+--+----+-----+--+----+-----+--+----+-----+ + +.. _Entities: + +Entities +-------- + ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Æ  | Æ | | à  | à | | ℑ  | ℑ | | ′  | ′ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Á  | Á | | ℵ  | ℵ | | ∞  | ∞ | | ∏  | ∏ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +|   |  | | α  | α | | ∫  | ∫ | | ∝  | ∝ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| À  | À | | &  | & | | ι  | ι | | ψ  | ψ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Α  | Α | | ∧  | ∧ | | ¿  | ¿ | | "  | " | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Å  | Å | | ∠  | ∠ | | ∈  | ∈ | | ⇒  | ⇒ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| à | à | | å  | å | | ï  | ï | | √  | √ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ä  | Ä | | ≈  | ≈ | | κ  | κ | | 〉  | ⟩ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Β  | Β | | ã  | ã | | ⇐  | ⇐ | | »  | » | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ç  | Ç | | ä  | ä | | λ  | λ | | →  | → | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Χ  | Χ | | „  | „ | | 〈  | ⟨ | | ⌉  | ⌉ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| ‡  | ‡ | | β  | β | | «  | « | | ”  | ” | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Δ  | Δ | | ¦  | ¦ | | ←  | ← | | ℜ  | ℜ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Р | Ð | | •  | • | | ⌈  | ⌈ | | ®  | ® | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| É  | É | | ∩  | ∩ | | “  | “ | | ⌋  | ⌋ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ê  | Ê | | ç  | ç | | ≤  | ≤ | | ρ  | ρ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| È  | È | | ¸  | ¸ | | ⌊  | ⌊ | | ‏  | ‏ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ε  | Ε | | ¢  | ¢ | | ∗  | ∗ | | ›  | › | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Η  | Η | | χ  | χ | | ◊  | ◊ | | ’  | ’ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ë  | Ë | | ˆ  | ˆ | | ‎  | ‎ | | ‚  | ‚ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Γ  | Γ | | ♣  | ♣ | | ‹  | ‹ | | š  | š | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Í  | Í | | ≅  | ≅ | | ‘  | ‘ | | ⋅  | ⋅ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Π | Î | | ©  | © | | <  | < | | §  | § | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ì  | Ì | | ↵  | ↵ | | ¯  | ¯ | | ­  | ­ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ι  | Ι | | ∪  | ∪ | | —  | — | | σ  | σ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ï  | Ï | | ¤  | ¤ | | µ  | µ | | ς  | ς | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Κ  | Κ | | ⇓  | ⇓ | | ·  | · | | ∼  | ∼ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Λ  | Λ | | †  | † | | −  | − | | ♠  | ♠ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Μ  | Μ | | ↓  | ↓ | | μ  | μ | | ⊂  | ⊂ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ñ  | Ñ | | °  | ° | | ∇  | ∇ | | ⊆  | ⊆ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ν  | Ν | | δ  | δ | |    |   | | ∑  | ∑ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Œ  | Œ | | ♦  | ♦ | | –  | – | | ¹  | ¹ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ó  | Ó | | ÷  | ÷ | | ≠  | ≠ | | ²  | ² | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ô  | Ô | | é  | é | | ∋  | ∋ | | ³  | ³ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ò  | Ò | | ê  | ê | | ¬  | ¬ | | ⊃  | ⊃ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ω  | Ω | | è  | è | | ∉  | ∉ | | ⊇  | ⊇ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ο  | Ο | | ∅  | ∅ | | ⊄  | ⊄ | | ß  | ß | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ø  | Ø | |    |   | | ñ  | ñ | | τ  | τ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Õ  | Õ | |    |   | | ν  | ν | | ∴  | ∴ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ö  | Ö | | ε  | ε | | ó  | ó | | θ  | θ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Φ  | Φ | | ≡  | ≡ | | ô  | ô | | ϑ  | ϑ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Π  | Π | | η  | η | | œ  | œ | |    |   | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| ″  | ″ | | ð  | ð | | ò  | ò | | þ  | þ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ψ  | Ψ | | ë  | ë | | ‾  | ‾ | | ˜  | ˜ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ρ  | Ρ | | €  | € | | ω  | ω | | ×  | × | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Š  | Š | | ∃  | ∃ | | ο  | ο | | ™  | ™ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Σ  | Σ | | ƒ  | ƒ | | ⊕  | ⊕ | | ⇑  | ⇑ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Þ  | Þ | | ∀  | ∀ | | ∨  | ∨ | | ú  | ú | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Τ  | Τ | | ½  | ½ | | ª  | ª | | ↑  | ↑ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Θ  | Θ | | ¼  | ¼ | | º  | º | | û  | û | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ú  | Ú | | ¾  | ¾ | | ø  | ø | | ù  | ù | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Û  | Û | | ⁄  | ⁄ | | õ  | õ | | ¨  | ¨ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ù  | Ù | | γ  | γ | | ⊗  | ⊗ | | ϒ  | ϒ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Υ  | Υ | | ≥  | ≥ | | ö  | ö | | υ  | υ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ü  | Ü | | >  | > | | ¶  | ¶ | | ü  | ü | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ξ  | Ξ | | ⇔  | ⇔ | | ∂  | ∂ | | ℘  | ℘ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ý  | Ý | | ↔  | ↔ | | ‰  | ‰ | | ξ  | ξ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ÿ  | Ÿ | | ♥  | ♥ | | ⊥  | ⊥ | | ý  | ý | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| Ζ  | Ζ | | …  | … | | φ  | φ | | ¥  | ¥ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| á  | á | | í  | í | | π  | π | | ÿ  | ÿ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| â  | â | | î  | î | | ϖ  | ϖ | | ζ  | ζ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| ´  | ´ | | ¡  | ¡ | | ±  | ± | | ‍  | ‍ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ +| æ  | æ | | ì  | ì | | £  | £ | | ‌  | ‌ | ++----+-----------+--+----+-----------+--+-----+-----------+--+-----+------------+ + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ + +.. |(!)| image:: ../../../chrome/wikiextras-icons-16/exclamation.png +.. |(OK)| image:: ../../../chrome/wikiextras-icons-16/thumb-up.png +.. |:))| image:: ../../../chrome/wikiextras-icons-16/smiley-grin.png +.. |:-o| image:: ../../../chrome/wikiextras-icons-16/smiley-surprise.png +.. |{*}| image:: ../../../chrome/wikiextras-icons-16/stable.png +.. |(*)| image:: ../../../chrome/wikiextras-icons-16/asterisk.png +.. |(X)| image:: ../../../chrome/wikiextras-icons-16/cross-circle.png +.. |:-?| image:: ../../../chrome/wikiextras-icons-16/smiley-confuse.png +.. |:-\|| image:: ../../../chrome/wikiextras-icons-16/smiley-neutral.png +.. |{o}| image:: ../../../chrome/wikiextras-icons-16/testing.png +.. |(./)| image:: ../../../chrome/wikiextras-icons-16/tick.png +.. |8-)| image:: ../../../chrome/wikiextras-icons-16/smiley-nerd.png +.. |:-D| image:: ../../../chrome/wikiextras-icons-16/smiley-lol.png +.. |;)| image:: ../../../chrome/wikiextras-icons-16/smiley-wink.png +.. |(?)| image:: ../../../chrome/wikiextras-icons-16/question.png +.. |8-O| image:: ../../../chrome/wikiextras-icons-16/smiley-eek.png +.. |:-O| image:: ../../../chrome/wikiextras-icons-16/smiley-red.png +.. |<!>| image:: ../../../chrome/wikiextras-icons-16/exclamation-red.png +.. |(I)| image:: ../../../chrome/wikiextras-icons-16/light-bulb.png +.. |:(| image:: ../../../chrome/wikiextras-icons-16/smiley-sad.png +.. |:-P| image:: ../../../chrome/wikiextras-icons-16/smiley-razz.png +.. |>:>| image:: ../../../chrome/wikiextras-icons-16/smiley-evil.png +.. |(N)| image:: ../../../chrome/wikiextras-icons-16/thumb.png +.. |:)| image:: ../../../chrome/wikiextras-icons-16/smiley.png +.. |:-X| image:: ../../../chrome/wikiextras-icons-16/smiley-zipper.png +.. |B-)| image:: ../../../chrome/wikiextras-icons-16/smiley-cool.png + diff --git a/wiki/help/wikiedit/screenshots.rst b/wiki/help/wikiedit/screenshots.rst new file mode 100644 index 0000000..4c99f15 --- /dev/null +++ b/wiki/help/wikiedit/screenshots.rst @@ -0,0 +1,190 @@ +help/wikiedit/screenshots +========================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _Screenshots: + +Screenshots +=========== + +Hier möchte ich ein paar Tipps zum Umgang mit Screenshots geben: + +.. _Screenhotshochladen: + +Screenhots hochladen +-------------------- + +.. figure:: /screenshots/37.png + :alt: Trac: Screenshots hochladen + + Trac: Screenshots hochladen + +Wer die nötigen Berechtigungen dafür hat, kann auch selbst Screenshots +hochladen. Die Möglichkeit dazu findet sich, wenn man in der Navbar oben +auf "Screenshots" klickt (damit gelandt man zunächst zur "Matrix-View"), +und dort den Button "Add" betätigt. Damit gelang man zur nebenstehenden +Maske. + +Für jeden klar ist sicherlich, wie das hochzuladene Bild auszuwählen +ist. Wichtig ist aber auch, dass ein kurzer, aber aussagekräftiger +**Name** (dieser erscheint dann in der "Matrix-View" unterhalb des +Bildes) sowie auch eine prägnante, nicht zu lange **Description** +(Beschreibung - diese wird später unterhalb des Bildes angezeigt, wenn +es `in einem Wiki-Artikel +referenziert <screenshots.html#Screenshotsreferenzieren>`__ wurde) +einzutragen. Das erleichtert später sowohl das Auffinden, als auch das +Einbinden des Screenshots in einen Artikel. + +Ebenfalls hilfreich ist es, wenn jetzt noch die zugehörige(n) +Komponente(n) sowie Version(en) ausgewählt werden. Darüber lässt sich +u.a. in der "`Matrix-View <screenshots.html#ScreenshotMatrix>`__" die +Anzeige eingrenzen, sodass das gewünschte Bild schneller aufgefunden +wird. + +.. _Screenhotsfinden: + +Screenhots finden +----------------- + +Hierfür gibt es (mindestens) zwei Möglichkeiten: + +.. _ScreenshotMatrix: + +Screenshot Matrix +~~~~~~~~~~~~~~~~~ + +In der Navigationsleiste findet sich auch der Punkt "Screenshots". Wer +diesem folgt, kann in der Liste verfügbarer Screenshots blättern. Es +besteht außerdem die Möglichkeit, die Treffermenge anhand von +Komponenten einzuschränken. + +.. _ScreenshotsListe: + +Screenshots Liste +~~~~~~~~~~~~~~~~~ + +Mit dem Makro ``[[ScreenshotsList()]]`` lässt sich eine Liste von +Screenshots anzeigen. Der Aufbau der Liste lässt sich mit dem einzigen +zu übergebenden (optionalen) Argument bestimmen, etwa +``[[ScreenshotsList($name - $description ($widthx$height))]]``. +Verfügbare Eigenschaften sind: + +- ``$id`` - ID des Bildes +- ``$name`` - Name des Bildes +- ``$author`` - Wer hat das Bild hochgeladen? +- ``$time`` - Wann wurde das Bild hochgeladen? +- ``$file`` - Dateiname +- ``$description`` - Detaillierte Beschreibung +- ``$width`` - Originale Breite des Bildes +- ``$height`` - Originale Höhe des Bildes +- ``$tags`` - Komma-separierte Liste zugehöriger Tags +- ``$components`` - Komma-separierte Liste zugehöriger Komponenten +- ``$versions`` - Komma-separierte Liste zugehöriger Versionen + +.. _Screenshotsreferenzieren: + +Screenshots referenzieren +------------------------- + +… kann ein wenig tricky sein. Hier ein paar Hinweise: + +- Gibt man keine Größe an, wird die Bildgröße 1:1 übernommen: + ``[[Screenshot(6)]]``. Wer eine andere Größe will, muss Höhe **und** + Breite angeben, da sonst das Bild verzerrt wird: + ``[[Screenshot(6,width=200,height=145)]]`` +- Gibt man keine Ausrichtung an, wird "mittig" ausgerichtet - es + "passt" also nur eine Zeile neben das Bild. Daher besser angeben, wo + das Bild hin soll: ``[[Screenshot(6,align=left)]]`` + |<!>| Soll das Bild "alleine stehen", *ohne* dass der Text um + selbiges fließt, darf das Keyword ``align`` **nicht** verwendet + werden. +- Das Bild ist immer so verlinkt, das ein Klick darauf zum + `Download <../../Download.html>`__ führt. Um die Anzeige des Bildes + in Originalgröße zu ermöglichen, kann man sich eines Tricks bedienen, + und den passenden Link in die Beschreibung packen: + + .. code:: wiki + + [[Screenshot(6,width=200,height=145,align=right,description=[screenshot:6 $description])]] + +- Weitere Informationen finden sich auf der + `​Projektseite <http://trac-hacks.org/wiki/ScreenshotsPlugin>`__ + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ + +.. |<!>| image:: ../../../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/help/wikiedit/tables.rst b/wiki/help/wikiedit/tables.rst new file mode 100644 index 0000000..7a713de --- /dev/null +++ b/wiki/help/wikiedit/tables.rst @@ -0,0 +1,306 @@ +help/wikiedit/tables +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _Tabellen: + +Tabellen +======== + +Auch hier haben wir dem "schnöden Standard" ein wenig nachgeholfen - und +so gibt es verschiedene Möglichkeiten der Tabellen-Formatierung. Den +einzelnen Details möchte ich eine kurze Übersicht voranstellen: + +.. _ÜberblickderverschiedenenFormate: + +Überblick der verschiedenen Formate +----------------------------------- + +.. _Standard: + +Standard +~~~~~~~~ + +Den Standard haben wir ein klein wenig "aufgebohrt", sodass er im +Allgemeinen ausreichen sollte. Hier stehen innerhalb der einzelnen +Zellen alle Trac-Wiki Formatierungen zur Verfügung - dafür gestaltet es +sich etwas schwieriger, Zeilenumbrüche einzubringen oder Zellen zu +verbinden. Normalerweise ist dieses Format jedoch die erste Wahl. + +.. _RST: + +RST +~~~ + +`​Re-Structured Text <http://de.wikipedia.org/wiki/ReStructuredText>`__ +bietet bei relativ einfacher Syntax zahlreiche zusätzliche +Formatierungsmöglichkeiten (siehe auch +`hier <../../WikiRestructuredText.html#BiggerReSTExample>`__. Dafür sind +innerhalb eines solchen Blocks keinerlei Wiki-Markups möglich - womit +RST für viele Dinge nicht in Frage kommt. + +.. _MediaWiki: + +MediaWiki +~~~~~~~~~ + +Da wir auch das `​MediaWiki +Plugin <http://trac-hacks.org/wiki/MediaWikiPluginMacro>`__ eingebunden +haben, bieten sich damit zahlreiche zusätzliche Möglichkeiten. Aber auch +hier gilt: Trac-Wiki Syntax ist innerhalb eines Media-Wiki Blocks nicht +möglich. + +.. _Anwendung:WieerstelleicheineTabelle: + +Anwendung: Wie erstelle ich eine Tabelle? +----------------------------------------- + +.. _Standard1: + +Standard +~~~~~~~~ + +Mit dem Trac-Wiki Standard (in gepatchter Form |;)|) ist dies am +einfachsten möglich: + +.. code:: wiki + + ||| ||| 1 ||| 2 ||| 3 || + ||| A || X || || X || + ||| B || || X || || + ||| C || X || X || || + +wird zu + ++------+------+------+------+ +| \| | \| 1 | \| 2 | \| 3 | ++------+------+------+------+ +| \| A | X | | X | ++------+------+------+------+ +| \| B | | X | | ++------+------+------+------+ +| \| C | X | X | | ++------+------+------+------+ + +.. _RST1: + +RST +~~~ + +Hier sieht das ein wenig anders aus: + +.. code:: wiki + + {{{ + #!rst + ===== ===== ====== + Inputs Output + ------------ ------ + A B A or B + ===== ===== ====== + False False False + True False True + False True True + True True True + ===== ===== ====== + }}} + +Wird zu + +Inputs + +Output + +A + +B + +A or B + +False + +False + +False + +True + +False + +True + +False + +True + +True + +True + +True + +True + +.. _MediaWiki1: + +MediaWiki +~~~~~~~~~ + +Hier haben wir auch wieder zahlreiche Möglichkeiten - von denen hier nur +zwei aufgezeigt werden sollen: + +.. _EinfachesBeispiel: + +Einfaches Beispiel +^^^^^^^^^^^^^^^^^^ + +Gibt man folgendes ein: + +.. code:: wiki + + {{{ + #!mediawiki + {|class="table" + |- + ! Überschrift 1. Spalte + ! Überschrift 2. Spalte + |- + | Inhalt 1.Zeile 1.Spalte + | Inhalt 1.Zeile 2.Spalte + |} + }}} + +kommt dabei das heraus: + ++-------------------------+-------------------------+ +| Überschrift 1. Spalte | Überschrift 2. Spalte | ++=========================+=========================+ +| Inhalt 1.Zeile 1.Spalte | Inhalt 1.Zeile 2.Spalte | ++-------------------------+-------------------------+ + +.. _komplexeresBeispiel: + +komplexeres Beispiel +^^^^^^^^^^^^^^^^^^^^ + +Zu guter Letzt ein leicht komplexeres Beispiel, bei dem einige +Formatierungen (Hintergrund-Farbe etc.) explizit mit vorgegeben, und +auch ein paar Zellen verbunden werden. Eingegeben wurde also: + +.. code:: wiki + + {{{ + #!mediawiki + {|border="1" cellpadding="2px" style="border-collapse:collapse;border:1px solid #8cacbb;border-width:1px;" + |- + !background-color="#ff0"|'''Überschrift''' + !background-color="#ff0"|'''Zweite Überschrift''' + |- + | Inhalt Zelle 1-1 + | Inhalt Zelle 1-2 + |- + | colspan="2" align="center"|Verbundene Zellen zentriert + |- + | Inhalt Zelle 3-1 + | rowspan="2"|Verbundene Zelle + |- + | Inhalt Zelle 4-1 + |} + }}} + +Und dabei kam folgendes heraus: + +**Überschrift** + +**Zweite Überschrift** + +Inhalt Zelle 1-1 + +Inhalt Zelle 1-2 + +Verbundene Zellen zentriert + +Inhalt Zelle 3-1 + +Verbundene Zelle + +Inhalt Zelle 4-1 + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ + +.. |;)| image:: ../../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/help/wikiedit/tagging.rst b/wiki/help/wikiedit/tagging.rst new file mode 100644 index 0000000..abc12ef --- /dev/null +++ b/wiki/help/wikiedit/tagging.rst @@ -0,0 +1,159 @@ +help/wikiedit/tagging +===================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _Tagging: + +Tagging +======= + +.. _WasundwozusindTags: + +Was und wozu sind Tags? +----------------------- + +*Tags* kann man auf Deutsch am ehesten mit "Markierungen" wiedergeben. +In unserem Kontext sind es "benannte Markierungen", die u.a. bei der +Suche nach bestimmten Informationen hilfreich sind. Am besten erklärt +sich das an einem Beispiel: + +Angenommen jemand möchte wissen, welche Dateisysteme auf einer an die +FritzBox angeschlossenen USB-Festplatte unterstützt werden. In der +Beschreibung der Pakete taucht nun nicht unbedingt das Wort +"Dateisystem" auf. Wurden die passenden Tags vergeben, führt hier eine +Suche nach "`packages filesystem </tags?q=packages+filesystem>`__" zum +gewünschten Ziel. + +Desweiteren werden Tags auch benutzt, um vorhandene `Packages nach +Anwendungsgebieten <../../packages_tagged.html>`__ sortiert aufzulisten. + +Ich denke, allein diese beiden Beispiele zeigen schon, wie sinnvoll und +hilfreich Tags sein können. + +.. _WievergibtmanTags: + +Wie vergibt man Tags? +--------------------- + +Um einem Wiki-Artikel (oder auch einem Ticket) passende Tags zu +vergeben, findet sich auf der Bearbeitungsseite ein Formularfeld namens +"Tag under:". Direkt anbei gibt es auch einen Link "`view all +tags </tags>`__", mit dem sich vorhandene Tags anzeigen lassen. + +.. _WelcheTagssolltemanvergeben: + +Welche Tags sollte man vergeben? +-------------------------------- + +Das hängt sicher vom Einzelfall ab. Dennoch lassen sich ein paar +"Richtlinien" aufzeigen: + +- "viele Köche verderben den Brei": "Nimm viel" hilft hier nicht + unbedingt viel. Die ausgewählten Tags sollten schon zutreffend und + möglichst eingrenzend sein. +- Die Beschreibung eines Paketes sollte immer auch mit dem Tag + "`packages </tags?q=packages>`__" versehen sein. Gleiches gilt für + Patches und das Tag `patches </tags?q=patches>`__. +- Zu allgemeine Tags ("Wiki") sollten möglichst vermieden werden - + genau wie zu spezielle (z.B. der Name des Paketes). +- Der Einheitlichkeit halber schreiben wir alle Tags nur mit + :sub:`Kleinbuchstaben`. + +Für Paketbeschreibungen findet man die passenden Tags am einfachsten, +indem man die `nach Anwendungsgebieten sortierte +Paketliste <../../packages_tagged.html>`__ aufruft, und sich dort die +Tags zu Paketen in der treffenden Anwendungsgruppe anschaut. Es gibt +auch eine `Liste aller Tags </tags>`__ - aus dieser sollte man sich +jedoch in der Regel auf solche Tags konzentrieren, die möglichst groß +dargestellt sind. + +.. _Wasistnochzubeachten: + +Was ist noch zu beachten? +------------------------- + +Wenn man einen Artikel *und* die zugehörigen Tags editieren möchte, +sollte man dies besser in zwei Schritten tun (also z.B. erst die Tags +editieren, speichern, und dann den Artikeltext editieren und speichern). +Versucht man beides gleichzeitig, gehen häufig die Änderungen am +Artikeltext verloren - was wohl ein Bug im Tags-Plugin zu sein scheint. + +Ähnlich verhält es sich beim Umbenennen einer Seite: Laut Dokumentation +des Tags-Plugins sollte man hier zunächst die Tags entfernen, den +Artikel umbenennen, und schließlich die Tags wieder hinzufügen. + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ diff --git a/wiki/help/wikiedit/toc.rst b/wiki/help/wikiedit/toc.rst new file mode 100644 index 0000000..eda6d32 --- /dev/null +++ b/wiki/help/wikiedit/toc.rst @@ -0,0 +1,176 @@ +help/wikiedit/toc +================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wiki Bearbeitung - Tipps und + Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ + + #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ + #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ + +#. `Wiki Goodies <goodies.html#WikiGoodies>`__ + + #. `Smileys <goodies.html#Smileys>`__ + #. `Symbols <goodies.html#Symbols>`__ + #. `Entities <goodies.html#Entities>`__ + +#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ + + #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ + #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ + #. `Überschriften <formatting_guide.html#Überschriften>`__ + #. `Artikeltext <formatting_guide.html#Artikeltext>`__ + #. `Screenshots <formatting_guide.html#Screenshots>`__ + #. `Besondere + Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ + #. `Weiterführende + Links <formatting_guide.html#WeiterführendeLinks>`__ + #. `Tags <formatting_guide.html#Tags>`__ + +#. `Tabellen <tables.html#Tabellen>`__ + + #. `Überblick der verschiedenen + Formate <tables.html#ÜberblickderverschiedenenFormate>`__ + + #. `Standard <tables.html#Standard>`__ + #. `RST <tables.html#RST>`__ + #. `MediaWiki <tables.html#MediaWiki>`__ + + #. `Anwendung: Wie erstelle ich eine + Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ + + #. `Standard <tables.html#Standard1>`__ + #. `RST <tables.html#RST1>`__ + #. `MediaWiki <tables.html#MediaWiki1>`__ + + #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ + #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ + +#. `Inhaltsverzeichnis erstellen + (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ + + #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ + #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ + #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ + #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ + +#. `Tagging <tagging.html#Tagging>`__ + + #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ + #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ + #. `Welche Tags sollte man + vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ + #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ + +#. `Screenshots <screenshots.html#Screenshots>`__ + + #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ + #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ + + #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ + #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ + + #. `Screenshots + referenzieren <screenshots.html#Screenshotsreferenzieren>`__ + +.. _Inhaltsverzeichniserstellenlassen: + +Inhaltsverzeichnis erstellen (lassen) +===================================== + +Am rechten Rand ist ja ein Inhaltsverzeichnis zu sehen, welches sich +sogar über mehrere Artikel erstreckt. Dafür wurde ein +`Makro <../../TracWikiMacros.html#AvailableMacros>`__ verwendet, dessen +genaue Syntax sich auf der soeben angegebenen Seite findet. Damit die +Überschrift hier auch auf Deutsch ist, verwenden wir auf +deutschsprachigen Seiten das Argument ``heading=Inhaltsverzeichnis`` - +als Beispiel für ein einfaches Inhaltsverzeichnis für die aktuell +bearbeitete Seite sähe das dann so aus: + +.. code:: wiki + + [[TOC(heading=Inhaltsverzeichnis)]] + +.. _Unterseiteneinbeziehen: + +Unterseiten einbeziehen +----------------------- + +Es lassen sich auch Unterseiten (oder ganz andere Seiten) mit +einbeziehen, sodass ein Inhaltsverzeichnis entsteht, welches mehrere +Artikel überspannt. Hierzu gibt man die zu indizierenden Seiten explizit +an: + +.. code:: wiki + + [[TOC(help/wikiedit,help/wikiedit/toc,help/wikiedit/goodies,heading=Inhaltsverzeichnis)]] + +etwa würde die angegebenen Seiten in das automatische Inhaltsverzeichnis +einbeziehen. Da man auf diese Art allerdings jedesmal, wenn eine neue +Unterseite angelegt wird, das TOC-Makro auf allen beteiligten Seiten +wieder anpassen müsste, geht das auch einfacher: + +.. code:: wiki + + [[TOC(help/wikiedit,help/wikiedit/*,heading=Inhaltsverzeichnis)]] + +Das ist der Vorteil eines hierarchischen Wikis: Das *WildCard* "*" +greift nicht zu weit um sich, sondern bleibt beim Thema. + +.. _Ebenentiefeeinschränken: + +Ebenentiefe einschränken +------------------------ + +Werden die Unterseiten dann doch zahlreicher, und die mit dem TOC-Makro +zusammengefassten Überschriften sprengen ob der Schachtelungstiefe die +Seiten (etwa, weil eine oder mehrere Seiten ziemlich viele Überschriften +niedrigerer Ebenen, also quasi "2.1.3.5", haben), lässt sich die +maximale Tiefe der vom TOC-Makro anzuzeigenden Überschriften ebenfalls +einschränken, wozu der Parameter ``depth`` herangezogen werden kann. +Soll das TOC-Makro also beispielsweise nur die Überschriften der Ebenen +1 und 2 anzeigen, sähe das so aus: + +.. code:: wiki + + [[TOC(help/wikiedit,help/wikiedit/*,depth=2,heading=Inhaltsverzeichnis)]] + +.. _MehrereTOCBlöcke: + +Mehrere TOC Blöcke +------------------ + +Tja, das klappt leider nicht sauber: Das themenüberspannende, jedoch auf +2 Ebenen eingeschränkte TOC-Makro mit einem seitenspezifischen zu +verbinden, welches alle Ebenen umfasst. Auch ein zusätzliches, zweites +TOC-Makro geht gehörig schief: Es positioniert sich nämlich nicht +unterhalb des ersten, sondern unmittelbar links daneben - damit ist von +der Seitenbreite dann nicht mehr viel übrig; ganz davon abgesehen, dass +es ziemlich dämlich aussieht. + +Was aber nun tun, wenn ein zweiter Block benötigt wird? Sofern es nur +darum geht, die Überschriften aufzulisten - und es nicht unbedingt der +"schöne gelbe Kasten da rechts" sein muss, bietet das Keyword ``inline`` +hier Abhilfe: + +.. code:: wiki + + [[TOC(help/wikiedit,help/wikiedit/*,inline,noheading)]] + +wäre etwa geeignet, den entsprechenden Index mitten im Artikel - also +so, als hätte man die einzelnen Punkte mit ihren Links selbst abgetippt +- darzustellen. + +.. _WeitereMöglichkeiten: + +Weitere Möglichkeiten +--------------------- + +Es gibt noch weitere Parameter, und somit weitere Möglichkeiten, das +TOC-Makro zu manipulieren. Diese werden auf der +`WikiMakros <../../WikiMacros.html>`__ Seite erläutert. + +- Tags +- `help <../../help.html>`__ +- `wikiedit </tags/wikiedit>`__ diff --git a/wiki/index.en.rst b/wiki/index.en.rst new file mode 100644 index 0000000..5118604 --- /dev/null +++ b/wiki/index.en.rst @@ -0,0 +1,135 @@ +WikiStart.en +============ +Table of Contents +^^^^^^^^^^^^^^^^^ + +#. `Download <index.en.html#Download>`__ +#. `First steps <index.en.html#Firststeps>`__ +#. `Website for developers <index.en.html#Websitefordevelopers>`__ +#. `Wiki and Forum <index.en.html#WikiandForum>`__ +#. `Freetz in public press & + web <index.en.html#Freetzinpublicpressweb>`__ +#. `Source code <index.en.html#Sourcecode>`__ +#. `Building and using <index.en.html#Buildingandusing>`__ +#. `Trac links <index.en.html#Traclinks>`__ + +.. _WelcometoFreetz: + +Welcome to Freetz +================= + +**Freetz** (more about the name and history in the +`FAQs <FAQ.en.html>`__) is a firmware-extension (modification) for the +`​AVM Fritz!Box <http://www.avm.de/en/Produkte/FRITZBox/index.html>`__ +and devices with identical hardware. The original firmware from the +manufacturer is extended with new functions and programs which may be +selected by the user. *Freetz* is `​free +software <http://www.germany.fsfeurope.org/documents/freesoftware.en.html>`__ +and is developed by Oliver Metz, Alexander Kriegisch and others. + +**Warning: the installation of a modified firmware invalidates the +manufacturer's warranty!** + +Since most of the development team and users are German, most of this +website is written in the German language. + +.. _Download: + +Download +-------- + +The current stable release of Freetz is version 2.0. Please follow the +description under `Source Code <common/source_code.en.html>`__ to +download it. + +.. _Firststeps: + +First steps +----------- + +If you are not familiar with Freetz and have no plan where to start, +follow the guidelines in this tutorial to build your first basic image. + +- `Freetz for beginners <help/howtos/common/newbie.en.html>`__ + +.. _Websitefordevelopers: + +Website for developers +---------------------- + +This website is intended for developers and experienced users who wish +to be actively involved in the development of *Freetz*. The complete +source-code can be viewed and changes followed. Bugs and feature +requests can be entered using the ticket-system. + +- `Timeline </timeline>`__ — chronology of changes +- `Roadmap </roadmap>`__ — current state and planned work (in progress) +- `Source Browser <https://github.com/Freetz/freetz/commits/master>`__ + — browse the SVN repository +- `Ticket System </report>`__ — problems, bugs and feature requests + **(please**\ `read this <ticket.html>`__\ **and if necessary ask in + the IP-Phone-Forum, before opening a ticket!)** +- `Developer + Information <help/howtos/development/developer_information.html>`__ — + information for developers and howtos + +In order to open tickets you will need to `register </register>`__. + +.. _WikiandForum: + +Wiki and Forum +-------------- + +Information and discussion about *Freetz* is available: + +- `Wiki <freetz.html>`__ - background, + `Installation <help/howtos/common/install.html>`__, + `packages <packages.html>`__, `libraries <libs.html>`__, + `FAQ <FAQ.html>`__, `Howtos <help/howtos.html>`__ +- `​Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ — + Discussion, questions, announcements (German and English language) +- `IRC channel <help/irc.html>`__ about FritzBox and (inofficially) + Freetz + +Further information about Fritz and friends can be found here: + +- `​Fritz!Box Wiki <http://www.wehavemorefun.de/fritzbox>`__ — Tips & + tricks, background info and more (German language) + +See also the `FAQs <FAQ.en.html>`__. + +.. _Freetzinpublicpressweb: + +Freetz in public press & web +---------------------------- + +- `List of public press, web & blog reports about + Freetz <Press.en.html>`__ + +.. _Sourcecode: + +Source code +----------- + +How to `check out and update source code <common/source_code.html>`__ +from the Freetz repository + +.. _Buildingandusing: + +Building and using +------------------ + +*Freetz* can only be built using Linux. See the README file in the root +directory of the checked-out source-code, as well as the `​IPPF +Wiki <http://wiki.ip-phone-forum.de/software:ds-mod:installation#linux>`__ +(in German) for the list of tools/packages required to successfully +build *Freetz*. If you're really in a hurry make sure you've got all the +required tools installed and then do + +.. code:: wiki + + make menuconfig + make + +This gives you first a menu-based configuration and then builds your +custom firmware. Enjoy! diff --git a/wiki/index.rst b/wiki/index.rst new file mode 100644 index 0000000..b5bc269 --- /dev/null +++ b/wiki/index.rst @@ -0,0 +1,144 @@ +Freetz +====== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Download <index.html#Download>`__ +#. `Erste Schritte <index.html#ErsteSchritte>`__ +#. `Installation <index.html#Installation>`__ +#. `Hilfe und Support <index.html#HilfeundSupport>`__ +#. `Presse und Berichte <index.html#PresseundBerichte>`__ +#. `Mach mit! <index.html#Machmit>`__ +#. `Quellcode <index.html#Quellcode>`__ +#. `Trac-Links <index.html#Trac-Links>`__ + +.. _WillkommenbeiFreetz: + +Willkommen bei Freetz +===================== + +| `Freetz <freetz.html>`__ ist eine Firmware-Erweiterung und + Modifikation für `​Fritz!Box <http://www.avm.de>`__ Router und + kompatible Geräte. Die Original-Firmware des Herstellers wird um + zusätzliche Funktionen `erweitert <freetz.html>`__ und mit einer + individuellen Zusammenstellung von Programmen ergänzt. Mehr zum Namen + "Freetz" und zur Historie siehe + `FAQ <FAQ.html#WoherkommtderNameFreetz>`__. +| Freetz ist `​freie + Software <http://www.germany.fsfeurope.org/documents/freesoftware.de.html>`__ + und wird von Oliver Metz, Alexander Kriegisch und Team entwickelt. + +|/!\\| **WARNUNG:** Die Installation einer modifizierten Firmware führt +zum Verlust der Gewährleistung des Herstellers! + +.. _Download: + +Download +-------- + +Das letzte Release ist Version 2.0. Bitte folge den Anweisungen unter +`Quellcode <common/source_code.html>`__, um es zu downloaden. + +Um den Trunk (Entwicklerversion) zu nutzen, einfach die Anleitung zum +`Auschecken und Aktualisieren des +Quellcodes <common/source_code.html>`__ aus dem Freetz-Repository +folgen. + +Diese Versionen unterscheiden sich in der unterstützen AVM-Firmware +(Datei 'FIRMWARES') und den Erweiterungen durch Freetz (Datei +'CHANGELOG'). + +Eine komplette Liste aller Releases befindet sich auf der `Download +Seite <Download.html>`__. + +.. _ErsteSchritte: + +Erste Schritte +-------------- + +Diese Anleitung richtet sich in erster Linie an neue Benutzer, welche +sich erst mit Freetz vertraut machen wollen. Der Benutzer wird +schrittweise begleitet bis zur Erstellung und Flashen eines ersten +Firmware-Images. + +- `Erste Schritte mit Freetz <help/howtos/common/newbie.html>`__ + +.. _Installation: + +Installation +------------ + +Für die Freetz-Installation wird Linux als Betriebssystem empfohlen. Wer +kein Linux dauerhaft auf seinem Rechner installieren will, kann sich mit +einem Linux-Live-System oder einem sog. Image für eine "virtuellen +Maschine" (VM) seiner Wahl behelfen. + +- `Voraussetzungen, notwendige Pakete und sonstige Informationen zur + Freetz-Installation <help/howtos/common/install.html>`__ + +.. _HilfeundSupport: + +Hilfe und Support +----------------- + +- `Wiki <freetz.html>`__: + + - `Installation <help/howtos/common/install.html>`__ + - `Pakete, Addons und CGI-Erweiterungen <packages.html>`__ + - `Patches <patches.html>`__, `Aussehen <style.html>`__ + - `Bibliotheken <libs.html>`__, Module, `FAQ <FAQ.html>`__ + - `Kernel-Sources <kernel.html>`__ + - Hintergrund-Infos + - `Howtos <help/howtos.html>`__, und `Hilfe <help.html>`__ + - `Trouble-Shooting <help/trouble_shooting.html>`__ + +- `​IP-Phone-Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ + +Hier findest du mehr zu `Hilfe und Support <help.html>`__. + +.. _PresseundBerichte: + +Presse und Berichte +------------------- + +- `Liste von Berichten über Freetz <Press.html>`__ +- `Ankündigung Entwicklertreffen Freetz-Conf + 2011 <FreetzConf2011.html>`__ + +.. _Machmit: + +Mach mit! +--------- + +Interessierte Benutzer und potentielle Entwickler, die aktiv an der +Verbesserung von Freetz und deren Entwicklung mitwirken wollen, werden +durch das Trac-Systems hinreichend unterstützt. So können der komplette +Quellcode eingesehen, Änderungen verfolgt und über das Ticket-System +Fehler und Feature-Wünsche gemeldet werden. Ein aktuelles Wiki hilft +allen Beteiligten! + +- `Zeitachse </timeline>`__: Chronologie der Änderungen +- `Roadmap </roadmap>`__: Stand und Planung der Entwicklung (in Arbeit) +- `Quellcode-Browser </browser/>`__: SVN-Repository durchsuchen +- `Ticket-System </report/>`__: Probleme, Fehler und neue + Feature-Wünsche **(bitte**\ `hier <ticket.html>`__\ **nachlesen und + evtl. im IP-Phone-Forum fragen, bevor ein Ticket eröffnet wird!)** +- `Developer + Information <help/howtos/development/developer_information.html>`__: + Informationen für Entwickler und Howtos (englisch) +- Interner Entwicklerbereich: Nur für Entwickler: Interner Bereich zur + Abstimmung. + +Das Bearbeiten des Wikis und Eröffnen von Tickets ist zur Vermeidung von +Spam nur nach vorheriger **Registrierung** möglich. + +.. _Quellcode: + +Quellcode +--------- + +Anleitung zum `Auschecken und Aktualisieren des +Quellcodes <common/source_code.html>`__ aus dem Freetz-Repository + +.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/kernel.rst b/wiki/kernel.rst new file mode 100644 index 0000000..98fc19c --- /dev/null +++ b/wiki/kernel.rst @@ -0,0 +1,1412 @@ +kernel +====== +Kernel Layout + +Box + +Firmware Series + +Kernel Sources available + +Kernel Sources used by Freetz + +Replace Kernel available + +Remarks/Known Problems + +AR9 + +7312 + +05.2X + +no + +7330-05.20 + +yes + +05.5X + +`​7312-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7312/x_misc/opensrc/source-files-FRITZ.Box_7312.05.50.tar.gz>`__ +(same as 7330-05.50) + +7330-05.50 + +yes + +06.0X + +`​7312-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.7312/x_misc/opensrc/source-files-FRITZ.Box_7312.06.01.tar.gz>`__ +(same as 7330-06.01) + +7330-06.01 + +yes + +06.2X + +no + +7320-06.30 + +yes (EXPERIMENTAL) + +06.5X + +no + +7330-06.50 + +yes (EXPERIMENTAL) + +06.8X + +n.a. + +n.a. + +n.a. + +7320 + +05.2X + +`​7320-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7320/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7320.05.20.tar.gz>`__ +(same as 7330-05.20) + +7330-05.20 + +yes + +05.5X + +`​7320-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7320/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7320.05.50.tar.gz>`__ +(same as 7330-05.50) + +7330-05.50 + +yes + +06.0X + +`​7320-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7320/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7320.06.01.tar.gz>`__ +(same as 7330-06.01) + +7330-06.01 + +yes + +06.2X + +`​7320-06.30 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7320/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7320.06.30.tar.gz>`__ + +7320-06.30 + +yes (EXPERIMENTAL) + +06.5X + +n.a. + +n.a. + +n.a. + +06.8X + +n.a. + +n.a. + +n.a. + +7330 + +05.2X + +`​7330-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.7330/x_misc/opensrc/fritzbox7330-source-files-05.20.tar.gz>`__ + +7330-05.20 + +yes + +05.5X + +`​7330-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7330/x_misc/opensrc/fritzbox7330-source-files-05.50.tar.gz>`__ + +7330-05.50 + +yes + +06.0X + +`​7330-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.7330_sl/x_misc/opensrc/source-files-FRITZ.Box_7330_SL.06.01.tar.gz>`__ +(actually 7330sl-06.01) + +7330-06.01 + +yes (EXPERIMENTAL) + +06.2X + +no + +7320-06.30 + +yes (EXPERIMENTAL) + +06.5X + +`​7330-06.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7330/x_misc/opensrc/source-files-FRITZ.Box_7330%20-%2006.50.tar.gz>`__ + +7330-06.50 + +yes (EXPERIMENTAL) + +06.8X + +n.a. + +n.a. + +n.a. + +7330SL + +05.2X + +`​7330sl-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.7330_sl/x_misc/opensrc/source-files-FRITZ.Box_7330_SL.05.20.tar.gz>`__ +(same as 7330-05.20) + +7330-05.20 + +yes + +05.5X + +`​7330sl-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7330_sl/x_misc/opensrc/source-files-FRITZ.Box_7330_SL.05.50.tar.gz>`__ +(same as 7330-05.50) + +7330-05.50 + +yes + +06.0X + +`​7330sl-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.7330_sl/x_misc/opensrc/source-files-FRITZ.Box_7330_SL.06.01.tar.gz>`__ +(aka 7330-06.01) + +7330-06.01 + +yes + +06.2X + +no + +7320-06.30 + +yes (EXPERIMENTAL) + +06.5X + +`​7330SL-06.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7330_sl/x_misc/opensrc/source-files-FRITZ.Box_7330_SL%20-%2006.50.tar.gz>`__ +(same as 7330-06.50) + +7330-06.50 + +yes (EXPERIMENTAL) + +06.8X + +n.a. + +n.a. + +n.a. + +AR934x + +6810 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +n.a. + +n.a. + +n.a. + +06.0X + +n.a. + +n.a. + +n.a. + +06.2X + +`​6810-06.21 <ftp://ftp.avm.de/fritz.box/fritzbox_6810_lte/x_misc/opensrc/fritz_box_6810_source_files.06.21.tar.gz>`__ + +6810-06.21 + +yes (EXPERIMENTAL) + +06.5X + +n.a. + +n.a. + +n.a. + +06.8X + +n.a. + +n.a. + +n.a. + +6842 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +n.a. + +n.a. + +n.a. + +06.0X + +n.a. + +n.a. + +n.a. + +06.2X + +`​6842-06.21 <ftp://ftp.avm.de/fritz.box/fritzbox_6842_lte/x_misc/opensrc/fritz_box_6842_source_files.06.21.tar.gz>`__ +(same as 6810-06.21) + +6810-06.21 + +yes (EXPERIMENTAL) + +06.5X + +n.a. + +n.a. + +n.a. + +06.8X + +n.a. + +n.a. + +n.a. + +AR10 + +3272 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +no + +| 7272-05.59 (assuming all AR10-boxes use the same sources and .config) +| TODO: ask AVM for kernel sources + +yes (EXPERIMENTAL) + +06.0X + +no + +7490-06.01, TODO: ask AVM for kernel sources + +no + +06.2X + +`​3272-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.3272/x_misc/opensrc/source-files-FRITZ.Box_3272-06.20.tar.gz>`__ + +| 7272-06.20 (assuming all AR10-boxes use the same sources and .config) +| TODO: use 3272-06.20 kernel sources if different + +yes (EXPERIMENTAL) + +06.5X + +no + +| n.a. +| TODO: ask AVM for kernel sources + +no + +7272 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +`​7272-05.59 <ftp://ftp.avm.de/fritz.box/fritzbox.7272/x_misc/opensrc/source-files-FRITZ.Box_7272-05.59.tar.gz>`__ + +7272-05.59 + +yes (EXPERIMENTAL) + +The kernel .config provided by AVM is most likely not the right one. +Modules from the original firmware contain references to some +``debugfs_*`` symbols (s. `r11992 </changeset/11992>`__ for details). +These require ``CONFIG_DEBUG_FS`` to be enabled, which is not the case +in AVM's .config. + +06.0X + +no + +7490-06.01, TODO: ask AVM for kernel sources + +no + +06.2X + +`​7272-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.7272/x_misc/opensrc/source-files-FRITZ.Box_7272-06.20.tar.gz>`__ + +7272-06.20 + +yes (EXPERIMENTAL) + +06.5X + +no + +| n.a. +| TODO: ask AVM for kernel sources + +no + +IKS + +7340 + +05.2X + +no + +7390-05.21, TODO: ask AVM for kernel sources + +yes + +05.5X + +no + +7390-05.52, TODO: ask AVM for kernel sources + +yes + +06.0X + +no + +7390-06.01, TODO: ask AVM for kernel sources + +no + +See comment for 7390-international + +7390 + +05.2X + +`​7390-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/fritz_box_fon_wlan_7390_source_files.05.20.tar.gz>`__, +`​7390-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/fritz_box_fon_wlan_7390_source_files.05.21.tar.gz>`__ + +7390-05.21 + +yes + +05.5X + +`​7390-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/fritz_box_fon_wlan_7390_source_files.05.50.tar.gz>`__, +`​7390-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/fritz_box_fon_wlan_7390_source_files.05.51.tar.gz>`__, +`​7390-05.52 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source_files.05.52.tar.gz>`__ + +7390-05.52 + +yes + +06.0X + +`​7390-06.00 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files.06.00.tar.gz>`__, +`​7390-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files.06.01.tar.gz>`__ +`​7390-06.04 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files.06.04.tar.gz>`__ +(same as 7390-06.01) + +7390-06.01 + +yes (for german version) / no (for international one) + +The following threads contain the problems explaining why replace-kernel +is not available for the international version +`​1 <http://www.ip-phone-forum.de/showthread.php?t=269147&p=2001817&viewfull=1#post2001817>`__ +& +`​2 <http://www.ip-phone-forum.de/showthread.php?t=271126&p=2016630&viewfull=1#post2016630>`__ + +06.2X + +`​7390-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files.06.20.tar.gz>`__, +`​7390-06.23 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files-06.23.tar.gz>`__, +`​7390-06.30 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files-06.30.tar.gz>`__ + +7390-06.30 + +yes (EXPERIMENTAL) + +(with revision 14086, kernel 7390-06.20 replace-kernel for international +is working. +`​details <http://www.ip-phone-forum.de/showthread.php?t=292342>`__) + +06.5X + +`​7390-06.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files-06.51.tar.gz>`__ + +7390-06.51 + +yes (EXPERIMENTAL) + +06.8X + +`​7390-06.80 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7390/x_misc/opensrc/FRITZ.Box_Fon_WLAN_7390_source-files-06.80.tar.gz>`__ + +7390-06.80 + +yes (EXPERIMENTAL) + +UR8 + +3270(v2) + +04.XX + +`​3270-04.86 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270/x_misc/opensrc/fritz%20box%20wlan%203270%20source%20files%2004.86.tar.gz>`__ +(same as 7270-04.86) + +n.a. + +n.a. + +05.2X + +`​3270-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270/x_misc/opensrc/fritz%20box%20wlan%203270%20source%20files%2005.21.tar.gz>`__ +(same as 7270-05.21) + +7270-05.21 + +yes + +05.5X + +`​3270-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270/x_misc/opensrc/fritz%20box%20wlan%203270%20source%20files%2005.50.tar.gz>`__ +(same as 7270-05.50) + +7270-05.51 + +yes + +06.0X + +n.a. + +n.a. + +n.a. + +3270v3 + +04.XX + +`​3270v3-04.87 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270_v3/x_misc/opensrc/fritz%20box%20wlan%203270v3%20source%20files%2004.87.tar.gz>`__ +(almost the same as 7270-04.86, better debug output, one #define fix) + +n.a. + +n.a. + +05.2X + +`​3270v3-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270_v3/x_misc/opensrc/fritz%20box%20wlan%203270v3%20source%20files%2005.21.tar.gz>`__ +(same as 7270-05.21) + +7270-05.21 + +yes + +05.5X + +`​3270v3-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3270_v3/x_misc/opensrc/fritz%20box%20wlan%203270v3%20source%20files%2005.50.tar.gz>`__ +(same as 7270-05.50) + +7270-05.51 + +yes + +06.0X + +n.a. + +n.a. + +n.a. + +7240 + +04.XX + +n.a. + +n.a. + +n.a. + +05.2X + +`​7240-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7240/x_misc/opensrc/fritzbox7240-source-files-05.21.tar.gz>`__ +(same as 7270-05.21) + +7270-05.21 + +yes + +05.5X + +`​7240-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7240/x_misc/opensrc/fritzbox7240-source-files-05.50.tar.gz>`__ +(same as 7270-05.50) + +7270-05.51 + +yes + +06.0X + +`​7240-06.05 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7240/x_misc/opensrc/fritzbox7240-source-files-06.05.tar.gz>`__ +(same as 7270-06.05) + +7270-06.05 + +yes + +7270(v1) + +04.XX + +`​7270-04.76 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270/x_misc/opensrc/fritzbox7270-source-files-04.76.tar.gz>`__, +`​7270-04.80 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270/x_misc/opensrc/fritzbox7270-source-files-04.80.tar.gz>`__, +`​7270-04.86 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v1/x_misc/opensrc/fritzbox7270-source-files-04.86.tar.gz>`__ + +7270-04.86 + +yes + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +n.a. + +n.a. + +n.a. + +06.0X + +n.a. + +n.a. + +n.a. + +7270v2 + +04.XX + +n.a. + +n.a. + +n.a. + +05.2X + +`​7270-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.21.tar.gz>`__ + +7270-05.21 + +yes + +05.5X + +`​7270-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.50.tar.gz>`__, +`​7270-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.51.tar.gz>`__ + +7270-05.51 + +yes + +06.0X + +`​7270-06.05 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-06.05.tar.gz>`__ + +7270-06.05 + +yes (EXPERIMENTAL) + +7270v3 + +04.XX + +n.a. + +n.a. + +n.a. + +05.2X + +`​7270v3-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.21.tar.gz>`__ +(same as 7270-05.21) + +7270-05.21 + +yes + +05.5X + +`​7270v3-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.50.tar.gz>`__ +(same as 7270-05.50), +`​7270v3-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v2/x_misc/opensrc/fritzbox7270-source-files-05.51.tar.gz>`__ +(same as 7270-05.51) + +7270-05.51 + +yes + +06.0X + +`​7270v3-06.05 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270_v3/x_misc/opensrc/fritzbox7270-source-files--06.05.tar.gz>`__ +(same as 7270-06.05) + +7270-06.05 + +yes + +7570 + +04.XX + +`​7570-04.78 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7570/x_misc/opensrc/fritzbox7570-source-files-04.78-82.tar.gz>`__ +(almost the same as 7270-04.76, different .config, "skbuff.uniq_id"-fix) + +7270-04.86 + +yes + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +n.a. + +n.a. + +n.a. + +06.0X + +n.a. + +n.a. + +n.a. + +VR9 + +3370 + +05.2X + +`​3370-05.21 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/fritz_box_wlan_3370_source_files.05.21.tar.gz>`__ + +3370-05.21 + +yes + +05.5X + +`​3370-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/fritz_box_wlan_3370_source_files.05.50.tar.gz>`__ +(same as 7360-05.50), +`​3370-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/fritz_box_wlan_3370_source_files.05.51.tar.gz>`__ +(same as 7360-05.51) + +7360-05.51 + +yes + +06.0X + +`​3370-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/fritz_box_wlan_3370_source_files.06.01.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +no + +3490-06.31 + +yes (EXPERIMENTAL) + +06.5X + +`​3370-06.51 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3370/x_misc/opensrc/fritz_box_wlan_3370_source_files.06.51.tar.gz>`__ +(same as 3390-06.51) + +3390-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +3390 + +05.2X + +no + +3370-05.21 + +yes + +05.5X + +`​3390-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3390/x_misc/opensrc/fritz_box_WLAN_3390_source_files.05.51.tar.gz>`__ +(same as 7360-05.50) + +7360-05.51 + +yes + +06.0X + +`​3390-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3390/x_misc/opensrc/fritz_box_WLAN_3390_source_files.06.01.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +no + +3490-06.31 + +yes (EXPERIMENTAL) + +06.5X + +`​3390-06.51 <ftp://ftp.avm.de/fritz.box/fritzbox.wlan_3390/x_misc/opensrc/fritz_box_WLAN_3390_source_files.06.51.tar.gz>`__ +(almost the same as 7490-06.51 + some tffs/avm_cpmac/avm_pa-fixes) + +3390-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +3490 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +n.a. + +n.a. + +n.a. + +06.0X + +n.a. + +n.a. + +n.a. + +06.2X + +`​3490-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.3490/x_misc/opensrc/FRITZ.Box_Fon_WLAN_3490_source-files.06.20.tar.gz>`__, +`​3490-06.31 <ftp://ftp.avm.de/fritz.box/fritzbox.3490/x_misc/opensrc/FRITZ.Box_Fon_WLAN_3490_source-files.06.31.tar.gz>`__ + +3490-06.31 + +yes (EXPERIMENTAL) + +06.5X + +`​3490-06.51 <ftp://ftp.avm.de/fritz.box/fritzbox.3490/x_misc/opensrc/FRITZ.Box_Fon_WLAN_3490_source-files.06.51.tar.gz>`__ +(same as 7490-06.51) + +7490-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +6840 + +05.2X + +no + +3370-05.21 + +no + +05.5X + +`​6840-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox_6840_lte/x_misc/opensrc/fritz_box_6840_source_files.05.50.tar.gz>`__ +(same as 7360-05.50) + +7360-05.51 + +yes + +06.0X + +`​6840-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox_6840_lte/x_misc/opensrc/fritz_box_6840_source_files.06.01.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +`​6840-06.21 <ftp://ftp.avm.de/fritz.box/fritzbox_6840_lte/x_misc/opensrc/fritz_box_6840_source_files.06.21.tar.gz>`__ +(same as 7360-06.20) + +7360-06.20 + +yes (EXPERIMENTAL) + +06.5X + +no + +7490-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +7360v1 + +05.2X + +`​7360-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v1/x_misc/opensrc/fritzbox7360-source-files-05.20.tar.gz>`__ + +7360-05.20 + +yes + +05.5X + +`​7360-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v1/x_misc/opensrc/fritzbox7360-source-files-05.50.tar.gz>`__, +`​7360-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v1/x_misc/opensrc/fritzbox7360-source-files-05.51.tar.gz>`__ + +7360-05.51 + +yes + +06.0X + +`​7360-06.00 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v1/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360.AnnexB-06.00.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +`​7360-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v1/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360.AnnexB-06.20.tar.gz>`__ + +7360-06.20 + +yes (EXPERIMENTAL) + +06.5X + +n.a. + +n.a. + +n.a. + +06.8X + +n.a. + +n.a. + +n.a. + +7360v2 + +05.2X + +no + +7360-05.20 + +yes + +05.5X + +no + +7360-05.51 + +yes + +06.0X + +`​7360v2-06.00 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v2/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360-06.00.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +`​7360-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v2/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360-06.20.tar.gz>`__ + +7360-06.20 + +yes (EXPERIMENTAL) + +06.5X + +`​7360-06.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_v2/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360-06.50.tar.gz>`__ +(same as 7490-06.51) + +7490-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +7360SL + +05.2X + +`​7360sl-05.20 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_sl/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360_SL.AnnexB-05.20.tar.gz>`__ +(same as 7360-05.20) + +7360-05.20 + +yes + +05.5X + +`​7360sl-05.50 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_sl/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360_SL.AnnexB-05.50.tar.gz>`__ +(same as 7360-05.50), +`​7360sl-05.51 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_sl/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360_SL.AnnexB-05.51.tar.gz>`__ +(same as 7360-05.5\ **0**) + +7360-05.51 + +yes + +06.0X + +`​7360sl-06.00 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_sl/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360_SL.AnnexB-06.00.tar.gz>`__ +(same as 7490-06.01), +`​7360sl-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7360_sl/x_misc/opensrc/source-files-FRITZ.Box_Fon_WLAN_7360_SL.AnnexB-06.01.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +no + +7360-06.20 + +yes (EXPERIMENTAL) + +06.5X + +n.a. + +n.a. + +n.a. + +06.8X + +n.a. + +n.a. + +n.a. + +7362SL + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +`​7362sl-05.53 <ftp://ftp.avm.de/fritz.box/fritzbox.7362_sl/x_misc/opensrc/source-files-FRITZ.Box_7362_SL-05.53.tar.gz>`__ +(almost the same as 7360-05.5\ **0**, contains in addition support for +7362SL) + +7360-05.51 + +yes + +06.0X + +`​7362sl-06.00 <ftp://ftp.avm.de/fritz.box/fritzbox.7362_sl/x_misc/opensrc/source-files-FRITZ.Box_7362_SL-06.00.tar.gz>`__ +(same as 7490-06.01) + +7490-06.01 + +yes + +06.2X + +no + +3490-06.31 + +yes (EXPERIMENTAL) + +06.5X + +no + +7490-06.51 + +yes (EXPERIMENTAL) + +06.8X + +no + +7490-06.80 + +yes (EXPERIMENTAL) + +7490 + +05.2X + +n.a. + +n.a. + +n.a. + +05.5X + +`​7490-05.59 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-05.59.tar.gz>`__ + +7490-05.59 + +yes + +06.0X + +`​7490-06.01 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.01.tar.gz>`__, +`​7490-06.05 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.05.tar.gz>`__ + +7490-06.05 + +yes + +06.2X + +`​7490-06.10-Labor <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490_Labor-06.10-27948.tar.gz>`__, +`​7490-06.20 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.20.tar.gz>`__ +(almost the same as 3490-06.20, less NAND chips), +`​7490-06.23 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.23.tar.gz>`__, +`​7490-06.30 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.30.tar.gz>`__ + +7490-06.30 + +yes (EXPERIMENTAL) + +06.5X + +`​7490-06.50 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.50.tar.gz>`__, +`​7490-06.51 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.51.tar.gz>`__, +`​7490-06.60 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.60.tar.gz>`__, +`​7490-06.61 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.61.tar.gz>`__ +(there were no 7490-06.61 release), +`​7490-06.62 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.62.tar.gz>`__ +(there were no 7490-06.62 release) + +7490-06.60 + +yes (EXPERIMENTAL) + +06.8X + +`​7490-06.80 <ftp://ftp.avm.de/fritz.box/fritzbox.7490/x_misc/opensrc/source-files-FRITZ.Box_7490-06.80.tar.gz>`__ + +7490-06.80 + +yes (EXPERIMENTAL) + +.. _Treelikeoverview: + +Tree like overview +~~~~~~~~~~~~~~~~~~ + +Tree like overview of all kernel sources published by AVM so far (as of +2014-09-23) for 05.2x, 05.5x, 06.0x, and 06.2x firmwares (generated +using ``tree -d -L 4 --noreport | grep -Ev "linux-2.6.(28|32)"``). + +.. code:: wiki + + Legend: + * listed directly under 0X.YZ => unique kernel-source-package not equal to any other + * listed under BOXID.0X.YZ-identical => kernel-source-package is identical to BOXID.0X.YZ + + . + ├── AR10 + │ ├── 05.5X + │ │ └── 7272.05.59 + │ └── 06.2X + │ └── 7272.06.10-Labor + ├── AR9 + │ ├── 05.2X + │ │ ├── 7330.05.20 + │ │ └── 7330.05.20-identical + │ │ ├── 7320.05.20 + │ │ └── 7330sl.05.20 + │ ├── 05.5X + │ │ ├── 7330.05.50 + │ │ └── 7330.05.50-identical + │ │ ├── 7312.05.50 + │ │ ├── 7320.05.50 + │ │ └── 7330sl.05.50 + │ └── 06.0X + │ ├── 7330sl.06.01 + │ └── 7330sl.06.01-identical + │ ├── 7312.06.01 + │ └── 7320.06.01 + ├── IKS + │ ├── 05.2X + │ │ ├── 7390.05.20 + │ │ └── 7390.05.21 + │ ├── 05.5X + │ │ ├── 7390.05.50 + │ │ ├── 7390.05.51 + │ │ └── 7390.05.52 + │ ├── 06.0X + │ │ ├── 7390.06.00 + │ │ ├── 7390.06.01 + │ │ └── 7390.06.01-identical + │ │ └── 7390.06.04 + │ └── 06.2X + │ └── 7390.06.20 + ├── OHIO + │ └── 04.XX + │ ├── 7112.04.88-almost-the-same-as-7170.04.87 + │ ├── 7113.04.76 + │ ├── 7170.04.76 + │ ├── 7170.04.76-identical + │ │ └── 7170sl.04.76 + │ ├── 7170.04.80 + │ ├── 7170.04.80-identical + │ │ └── 7170sl.04.80 + │ └── 7170.04.87 + ├── UR8 + │ ├── 04.XX + │ │ ├── 7270.04.76 + │ │ ├── 7270.04.80 + │ │ ├── 7270.04.86 + │ │ ├── 7270.04.86-identical + │ │ │ ├── 3270.04.86 + │ │ │ ├── 3270v3.04.87-almost-the-same-DEBUG_MASK + │ │ │ ├── 7240.04.87 + │ │ │ ├── 7270v1.04.86 + │ │ │ ├── 7270v2.04.86 + │ │ │ └── 7270v3.04.86 + │ │ └── 7570.04.78-almost-the-same-as-7270.04.76 + │ ├── 05.2X + │ │ ├── 7270v2.05.21 + │ │ └── 7270v2.05.21-identical + │ │ ├── 3270.05.21 + │ │ ├── 3270v3.05.21 + │ │ ├── 7240.05.21 + │ │ └── 7270v3.05.21 + │ ├── 05.5X + │ │ ├── 7270.05.50 + │ │ ├── 7270.05.50-identical + │ │ │ ├── 3270.05.50 + │ │ │ ├── 3270v3.05.50 + │ │ │ ├── 7240.05.50 + │ │ │ ├── 7270v2.05.50 + │ │ │ └── 7270v3.05.50 + │ │ ├── 7270.05.51 + │ │ └── 7270.05.51-identical + │ │ ├── 7270v2.05.51 + │ │ └── 7270v3.05.51 + │ └── 06.0X + │ ├── 7270.06.05 + │ └── 7270.06.05-identical + │ ├── 7240.06.05 + │ └── 7270v3.06.05 + └── VR9 + ├── 05.2X + │ ├── 3370.05.21 + │ ├── 7360v1.05.20 + │ └── 7360v1.05.20-identical + │ └── 7360sl.05.20 + ├── 05.5X + │ ├── 7360.05.50 + │ ├── 7360.05.50-identical + │ │ ├── 3370.05.50 + │ │ ├── 3390.05.51 + │ │ ├── 6840lte.05.50 + │ │ ├── 7360sl.05.50 + │ │ ├── 7360sl.05.51 + │ │ ├── 7360v1.05.50 + │ │ └── 7362sl.05.53-contains-extra-7362-support + │ ├── 7360.05.51 + │ ├── 7360.05.51-identical + │ │ ├── 3370.05.51 + │ │ └── 7360v1.05.51 + │ └── 7490.05.59 + ├── 06.0X + │ ├── 7490.06.01 + │ ├── 7490.06.01-identical + │ │ ├── 3370.06.01 + │ │ ├── 3390.06.01 + │ │ ├── 6840lte.06.01 + │ │ ├── 7360sl.06.00 + │ │ ├── 7360sl.06.01 + │ │ ├── 7360v1.06.00 + │ │ ├── 7360v2.06.00 + │ │ └── 7362sl.06.00 + │ └── 7490.06.05 + └── 06.2X + ├── 7490.06.10-Labor + ├── 3490.06.20 + └── 3490.06.20-identical + └── 7490.06.20-minor-NAND-code-differences (no toshiba chips) diff --git a/wiki/libs.rst b/wiki/libs.rst new file mode 100644 index 0000000..9a079f2 --- /dev/null +++ b/wiki/libs.rst @@ -0,0 +1,115 @@ +libs +==== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Pakete, Addons und + CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ + + #. `Pakete <packages.html#Pakete>`__ + #. `Addons <packages.html#Addons>`__ + #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ + #. `Apps <packages.html#Apps>`__ + #. `Weiteres <packages.html#Weiteres>`__ + +#. `Pakete nach + Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ + + #. `Audio <packages_tagged.html#Audio>`__ + #. `Home Automation <packages_tagged.html#HomeAutomation>`__ + #. `Konsole <packages_tagged.html#Konsole>`__ + #. `Monitoring <packages_tagged.html#Monitoring>`__ + #. `Netzwerk <packages_tagged.html#Netzwerk>`__ + + #. `DynDNS <packages_tagged.html#DynDNS>`__ + #. `File Transfer <packages_tagged.html#FileTransfer>`__ + #. `Internet + Messenging <packages_tagged.html#InternetMessenging>`__ + #. `Konsole <packages_tagged.html#Konsole1>`__ + #. `Proxies <packages_tagged.html#Proxies>`__ + #. `Routing <packages_tagged.html#Routing>`__ + #. `Security <packages_tagged.html#Security>`__ + #. `Tunneling <packages_tagged.html#Tunneling>`__ + #. `VPN <packages_tagged.html#VPN>`__ + #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ + #. `Sonstiges <packages_tagged.html#Sonstiges>`__ + + #. `Privacy <packages_tagged.html#Privacy>`__ + #. `Programmiersprachen und + -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ + #. `Security <packages_tagged.html#Security1>`__ + #. `System <packages_tagged.html#System>`__ + + #. `Dateisystem <packages_tagged.html#Dateisystem>`__ + #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ + #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ + + #. `Telefonie <packages_tagged.html#Telefonie>`__ + #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ + +#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ + + #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ + #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ + +#. `Bibliotheken nach + Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ + + #. `Hardware <libs_tagged.html#Hardware>`__ + + #. `USB <libs_tagged.html#USB>`__ + +.. _Bibliothekenlibraries: + +Bibliotheken (libraries) +======================== + +.. _AbwählenvonBibliotheken: + +Abwählen von Bibliotheken +------------------------- + +Bibliotheken (im Nachfolgenden "libs" genannt") zu Paketen, die +abgewählt wurden, werden nicht automatisch mit abgewählt. Um nach der +Abwahl diverser Pakete auch die nicht mehr benötigten libs zu entfernen +(damit das Image nachher auch tatsächlich nicht zu groß wird) gibt es +folgende *make*-Targets: + +.. code:: wiki + + # Unnötige Libs und Busybox-Applets deselektieren + make config-clean-deps + + # Oder nur unnötige Libs deselektieren, Busybox-Applets in Ruhe lassen + make config-clean-deps-keep-busybox + +.. _ListederBibliotheken: + +Liste der Bibliotheken +---------------------- + +Bibliotheken, die als "ex" (external) markiert sind, lassen sich +wahlweise direkt in das Firmware-Image einbauen - oder aber "nach extern +auslagern" (z.B. auf einen USB-Stick). "St" beschreibt den aktuellen +Stand (Status) der Einbindung in Freetz (|{*}| stable, |{o}| testing, +|<!>| unstable), und ist nicht unbedingt immer aktuell (den aktuelleren +Status erkennt man daran, wo das Paket letztendlich in +`menuconfig <help/howtos/common/install/menuconfig.html>`__ auftaucht. + ++-------------+-------------+-------------+-------------+-------------+ +| **Paketname | **Beschreib | **ex** | **St** | **Größe** | +| ** | ung** | | | | ++-------------+-------------+-------------+-------------+-------------+ +| `ftdi <libs | ftdi | | |{o}| | | +| /ftdi.html> | drivers for | | | | +| `__ | RS-232-USB | | | | +| | adapters | | | | ++-------------+-------------+-------------+-------------+-------------+ + +- Tags +- `libs <libs.html>`__ + +.. |{*}| image:: ../chrome/wikiextras-icons-16/stable.png +.. |{o}| image:: ../chrome/wikiextras-icons-16/testing.png +.. |<!>| image:: ../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/libs/ftdi.en.rst b/wiki/libs/ftdi.en.rst new file mode 100644 index 0000000..17c45df --- /dev/null +++ b/wiki/libs/ftdi.en.rst @@ -0,0 +1,109 @@ +libs/ftdi.en +============ +libftdi +======= + +"*libFTDI is an open source library to talk to FTDI chips: FT232BM, +FT245BM, FT2232C, FT2232D and FT245R, including the popular bitbang +mode. The library is linked with your program in userspace, no kernel +driver required.*" + +Location in the Freetz menu *Advanced options > Shared libraries > +libftdi*. + +.. _Exampleapplication: + +Example application +------------------- + +An interesting application is to control I/O ports using the CBUS Bit +Bang Mode available on the FT232R chip (and maybe other chips) from your +box. + +I have used this `​FTDI - EVAL232R - +EVALUATIONSKIT <http://de.farnell.com/jsp/search/productdetail.jsp?sku=1146041&CMP=i-bf9f-00001000>`__, +but any converter that has a FT232R chip and exposes the CBUS lines can +be used. + +First of all you have to program the CBUS port lines for I/O using +**FT_Prog** (see link below), else it will not work. + +Example program to let a LED blink on port CBUS0: + +.. code:: wiki + + #include <stdio.h> + #include <ftdi.h> + + int main(int argc, char** argv) + { + int f; + struct ftdi_context ftdic; + + printf("ftdi_usb_open\n"); + ftdi_init(&ftdic); + f = ftdi_usb_open(&ftdic, 0x0403, 0x6001); + if(f < 0) { + fprintf(stderr, "ftdi_usb_open failed, error %d (%s)\n", f, ftdi_get_error_string(&ftdic)); + return -1; + } + + fprintf(stdout, "Blinking ...\n"); + int b = 0; + while (1) { + fprintf(stdout, "%x ", b); + fflush(stdout); + f = ftdi_set_bitmode(&ftdic, 0x10 | b, BITMODE_CBUS); + if (f < 0) { + fprintf(stderr, "ftdi_set_bitmode failed, error %d (%s)\n", f, ftdi_get_error_string(&ftdic)); + return -1; + } + usleep(500000L); + b = b ^ 0x01; + } + } + +It is possible to test in Ubuntu first: + +.. code:: wiki + + sudo apt-get install libftdi-dev + gcc blink.c -lftdi -Wall -oblink + sudo ./blink + +Compile for Freetz: + +.. code:: wiki + + ~/freetz/toolchain/target/bin/mipsel-linux-gcc blink.c -lftdi -Wall -oblink + +Run on your box: + +.. code:: wiki + + LD_LIBRARY_PATH=/mod/lib:/usr/lib/freetz + export LD_LIBRARY_PATH + ./blink + +Note that the CBUS Bit Bang Mode is not suitable for high speed +applications, since a command has to travel through the USB bus and has +to be interpreted by the chip before anything happens. However, for +switching things on and off or to monitor input lines, for example +connected switches, it is an easy solution. + +.. _Links: + +Links +----- + +- `​libFTDI - FTDI USB driver with bitbang + mode <http://www.intra2net.com/en/developer/libftdi/>`__ +- `​ftdi.h File + Reference <http://www.intra2net.com/en/developer/libftdi/documentation/ftdi_8h.html>`__ +- `​D2XX Programmer + Guide <http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide(FT_000071).pdf>`__ + (PDF) +- `​FT_PROG - EEPROM Programming + Utility <http://www.ftdichip.com/Support/Utilities.htm#FT_Prog>`__ + (Windows only) +- `​USB PROJECTS <http://chinwah-engineering.com/USBProjects.html>`__ diff --git a/wiki/libs/ftdi.rst b/wiki/libs/ftdi.rst new file mode 100644 index 0000000..d067190 --- /dev/null +++ b/wiki/libs/ftdi.rst @@ -0,0 +1,162 @@ +libs/ftdi +========= +ftdi +==== + +Das Paket +`​ftdi <http://www.ip-phone-forum.de/showthread.php?p=1193103#post1193103>`__ +stellt entsprechende Treiber für +`​RS-232 <http://de.wikipedia.org/wiki/Rs232>`__-`​USB <http://de.wikipedia.org/wiki/USB>`__-Adapter +auf der Box zur Verfügung, so dass man mit einem solchen Adapter mit +`​FTDI <http://www.ftdichip.com>`__-Chipsatz ein serielles Gerät +(Relais-Karten, Temperaturfühler, Wetterstationen, ggf. ganze +Heizanlagen uvm.) an die Box anschließen und darüber mit diesen Geräten +kommunizieren kann. + +.. _Benutzung: + +Benutzung +--------- + +.. _Beispiel-Parameter: + +Beispiel-Parameter +~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 + D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 + P: Vendor=0403 ProdID=6001 Rev= 4.00 + S: Manufacturer=ftdi + S: Product=usb serial converter + S: SerialNumber=ftBNKG1I + C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA + I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio + E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms + E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms + +.. _AnpassenderBaudrate: + +Anpassen der Baudrate +~~~~~~~~~~~~~~~~~~~~~ + +Eine ggf. erforderliche Anpassung der Baudrate wird in `​diesem +Forum <http://www.mikrocontroller.net/topic/92022>`__ diskutiert. + +.. _VerbindungzumTesten: + +Verbindung zum Testen +~~~~~~~~~~~~~~~~~~~~~ + +- Verkabelung herstellen: + Fritzbox ⇔ USB-RS-232-Adapter ⇔ + `​Null-Modem <http://de.wikipedia.org/wiki/Nullmodem>`__-Kabel ⇔ + Kontrollgerät (PC/Laptop/Macbook o.ä.) + +- Auf dem Kontrollgerät ein + `​Hyperterminal <http://de.wikipedia.org/wiki/HyperTerminal>`__ + öffnen +- Auf der Fritzbox: + + .. code:: wiki + + echo "Hallo" > /var/ttyUSB0 + +.. + + Statt *ttyUSB0* ist ggf. etwas anderes zu wählen, je nach dem, ob + man den Adapter direkt an der Fritzbox angeschlossen hat, oder + über einen USB-Hub mit mehreren USB-Ports. + +- Ergebnis im Hyperterminal auf dem Kontrollgerät: + + .. code:: wiki + + Hallo + +Und das sollte auch anders herum funktionieren, also von der Fritzbox +aus. + +.. _USB-Fernanschluss: + +USB-Fernanschluss +----------------- + +| Da es von AVM (leider nur für Windows) den sog. + `​USB-Fernanschluss <http://www.avm.de/de/Service/FAQs/FAQ_Sammlung/14300.php3?portal=FRITZ!Box_Fon_WLAN_7170&weitere=weitere>`__ + gibt, lässt sich das Ganze auch bequem vom Wohnzimmer aus steuern, + auch wenn die Fritzbox woanders steht (LAN/WLAN-Anschluss reicht aus). +| Voraussetzung ist, dass das Tool USB-Fernanschluss den Chipsatz + unterstützt, wie es z.B. für den + `​PL2303 <http://www.ip-phone-forum.de/showthread.php?p=1021916#post1021916>`__ + der Fall ist. +| Sollte das Tool "Keine FRITZBox gefunden!" melden, wird von AVM + `​hier <http://www.avm.de/de/Service/FAQs/FAQ_Sammlung/14564.php3?sessionid=g0q1vnu8m6d0rsjbped1svk8e7&kodo_KostenstellenProdukt=FRITZ!Box_Fon_WLAN_7170&kodo_OS=Windows%20XP&kodo_Anwendungsbereich=USB-Host&entryPoint=FAQs&URL=FAQs/FAQ_Sammlung/14564.php3>`__ + eine mögliche Lösung beschrieben. + +.. _ListemitunterstützenAdaptern: + +Liste mit unterstützen Adaptern +------------------------------- + +Hier folgt eine Liste mit unterstützen Adaptern. Auch dazu gibt es einen +`​Diskussions-Thread im +IP-Phone-Forum <http://www.ip-phone-forum.de/showthread.php?t=165042>`__. + +- … +- … +- … + +.. _Anregungen: + +Anregungen +---------- + +Hier folgt eine Liste mit Anregungen und Links zu Projekten, welche +Geräte man ggf. an eine Fritzbox anschließen und darüber steuern kann: + +- `​Tecalor THZ 303 + SOL <http://www.tecalor.de/Kunden-Portal/THZ-403303-SOL.html>`__ + (Luftwärmepumpe/Heizung mit integrierter Wärmerückgewinnung) - siehe + auch in + `​diesem <http://www.haustechnikdialog.de/Forum/Default.aspx?t=85548&headline=Software+zum+Auslesen+der+Tecalor+THZ+303+SOL+%c3%bcber+RS232+o.a.+Schnittstelle>`__ + Forum + (Falls Links zu kommerziellen Seiten hier unerwünscht sind, kann man + den Link gerne wieder rausnehmen.) +- `​Powerswitch <http://www.obdev.at/products/avrusb/powerswitch.html>`__ + von Objective Development mit Atmel AVR Microcontroller (AVR-USB) +- `​USB-Relaisschalter <http://www.ip-phone-forum.de/showthread.php?t=175015>`__ +- … + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​FTDI Treiber im + Freetz-Mod? <http://www.ip-phone-forum.de/showthread.php?t=159126>`__ + (Haupt-Diskussionsthread) +- `​RS232-USB-Adapter an + Fritzbox <http://www.ip-phone-forum.de/showthread.php?t=165042>`__ +- `​Hilfe!! PL2303 + Adapter <http://www.ip-phone-forum.de/showthread.php?t=137606>`__ +- `​USB-Seriell-Adapter an + 7170? <http://www.ip-phone-forum.de/showthread.php?t=164738>`__ +- `​USB - Seriell Treiber in + DS-Mod <http://www.ip-phone-forum.de/showthread.php?t=101712>`__ +- `​Frage Steckdosenleiste mit FB + steuern? <http://www.ip-phone-forum.de/showthread.php?t=105490>`__ +- `​ARK3116 USB zu Seriell Adapter an + FB7150 <http://www.ip-phone-forum.de/showthread.php?t=151020>`__ +- `​Wie Konsole an serieller Schnittstelle? FB + 3170 <http://www.ip-phone-forum.de/showthread.php?t=146800>`__ +- `​ftdi_sio crasht unter Last (bug: + CVE-2006-2936) <http://www.ip-phone-forum.de/showthread.php?t=164738>`__ +- `​Montageanweisung Tecalor THZ 303 SOL + Luftwärmepumpe <http://energie-effizientes-haus.de/Daten/Niedrigstenergietechnik/THZ%20303%20SOL%20-%20Gebrauchs-%20und%20Montageanweisung.pdf>`__ + (Schaltbilder mit RS232-Schnittstelle auf Seiten 17+18) +- `​Seriellen / V24 Port der FB als virtuellen Port auf Windows PC + nutzen <http://www.ip-phone-forum.de/showthread.php?t=143186>`__ +- `​Mikrocontroller an AVM. Frage zu: Mögliche fritzboxinterne + Kommunikation <http://www.ip-phone-forum.de/showthread.php?p=1137643#post1137643>`__ diff --git a/wiki/libs_tagged.rst b/wiki/libs_tagged.rst new file mode 100644 index 0000000..9771091 --- /dev/null +++ b/wiki/libs_tagged.rst @@ -0,0 +1,100 @@ +libs_tagged +=========== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Pakete, Addons und + CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ + + #. `Pakete <packages.html#Pakete>`__ + #. `Addons <packages.html#Addons>`__ + #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ + #. `Apps <packages.html#Apps>`__ + #. `Weiteres <packages.html#Weiteres>`__ + +#. `Pakete nach + Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ + + #. `Audio <packages_tagged.html#Audio>`__ + #. `Home Automation <packages_tagged.html#HomeAutomation>`__ + #. `Konsole <packages_tagged.html#Konsole>`__ + #. `Monitoring <packages_tagged.html#Monitoring>`__ + #. `Netzwerk <packages_tagged.html#Netzwerk>`__ + + #. `DynDNS <packages_tagged.html#DynDNS>`__ + #. `File Transfer <packages_tagged.html#FileTransfer>`__ + #. `Internet + Messenging <packages_tagged.html#InternetMessenging>`__ + #. `Konsole <packages_tagged.html#Konsole1>`__ + #. `Proxies <packages_tagged.html#Proxies>`__ + #. `Routing <packages_tagged.html#Routing>`__ + #. `Security <packages_tagged.html#Security>`__ + #. `Tunneling <packages_tagged.html#Tunneling>`__ + #. `VPN <packages_tagged.html#VPN>`__ + #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ + #. `Sonstiges <packages_tagged.html#Sonstiges>`__ + + #. `Privacy <packages_tagged.html#Privacy>`__ + #. `Programmiersprachen und + -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ + #. `Security <packages_tagged.html#Security1>`__ + #. `System <packages_tagged.html#System>`__ + + #. `Dateisystem <packages_tagged.html#Dateisystem>`__ + #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ + #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ + + #. `Telefonie <packages_tagged.html#Telefonie>`__ + #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ + +#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ + + #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ + #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ + +#. `Bibliotheken nach + Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ + + #. `Hardware <libs_tagged.html#Hardware>`__ + + #. `USB <libs_tagged.html#USB>`__ + +.. _BibliothekennachAnwendungsgebieten: + +Bibliotheken nach Anwendungsgebieten +==================================== + +Diese Seite versucht, die `verfügbaren Pakete <libs.html>`__ nach +Anwendungsgebieten aufzulisten. Die Listen werden automatisch über +`Tags </tags>`__ generiert - woraus dreierlei resultiert: + +#. *Die Liste ist nie vollständig.* + Existiert für eine Bibliothek noch kein Artikel, sind meist auch noch + keine Tags dafür vergeben - und die Bibliothek Paket kann daher hier + nicht auftauchen. Gleiches gilt natürlich, wenn ein vorhandener + Artikel nicht "getagged" wurde. +#. *Die Liste ist nie 100% korrekt.* + Dazu reicht schon ein falsches Tag auf einem Artikel… +#. *Es gibt hier u.U. Duplikate.* + Während manche Artikel vielleicht gar kein Tag haben, wurden anderen + vielleicht gleich mehrere Tags vergeben. So könnte z.B. eine + SSL-Library sowohl unter "Web", als auch unter "Netzwerk" einsortiert + werden. + +Will man wirklich auf "Nummer Sicher" gehen, bleibt also nur der Weg +über die (hoffentlich vollständige) `Bibliotheksliste <libs.html>`__. + +.. _Hardware: + +Hardware +-------- + +.. _USB: + +USB +~~~ + +- `packages/ftdi </wiki/packages/ftdi>`__ + +- Tags +- `libs <libs.html>`__ diff --git a/wiki/packages.rst b/wiki/packages.rst new file mode 100644 index 0000000..3f4a788 --- /dev/null +++ b/wiki/packages.rst @@ -0,0 +1,1839 @@ +packages +======== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Pakete, Addons und + CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ + + #. `Pakete <packages.html#Pakete>`__ + #. `Addons <packages.html#Addons>`__ + #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ + #. `Apps <packages.html#Apps>`__ + #. `Weiteres <packages.html#Weiteres>`__ + +#. `Pakete nach + Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ + + #. `Audio <packages_tagged.html#Audio>`__ + #. `Home Automation <packages_tagged.html#HomeAutomation>`__ + #. `Konsole <packages_tagged.html#Konsole>`__ + #. `Monitoring <packages_tagged.html#Monitoring>`__ + #. `Netzwerk <packages_tagged.html#Netzwerk>`__ + + #. `DynDNS <packages_tagged.html#DynDNS>`__ + #. `File Transfer <packages_tagged.html#FileTransfer>`__ + #. `Internet + Messenging <packages_tagged.html#InternetMessenging>`__ + #. `Konsole <packages_tagged.html#Konsole1>`__ + #. `Proxies <packages_tagged.html#Proxies>`__ + #. `Routing <packages_tagged.html#Routing>`__ + #. `Security <packages_tagged.html#Security>`__ + #. `Tunneling <packages_tagged.html#Tunneling>`__ + #. `VPN <packages_tagged.html#VPN>`__ + #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ + #. `Sonstiges <packages_tagged.html#Sonstiges>`__ + + #. `Privacy <packages_tagged.html#Privacy>`__ + #. `Programmiersprachen und + -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ + #. `Security <packages_tagged.html#Security1>`__ + #. `System <packages_tagged.html#System>`__ + + #. `Dateisystem <packages_tagged.html#Dateisystem>`__ + #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ + #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ + + #. `Telefonie <packages_tagged.html#Telefonie>`__ + #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ + +#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ + + #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ + #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ + +#. `Bibliotheken nach + Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ + + #. `Hardware <libs_tagged.html#Hardware>`__ + + #. `USB <libs_tagged.html#USB>`__ + +.. _PaketeAddonsundCGI-Erweiterungen: + +Pakete, Addons und CGI-Erweiterungen +==================================== + +Diese WIKI-Seite dient als Überblick und sollte helfen sich für das eine +oder für das andere Paket zu entscheiden. Neben diesem Überblick +existiert noch `​ein Thread in +IPPF <http://www.ip-phone-forum.de/showthread.php?t=180289>`__, wo jeder +seine Lieblingskonfiguration posten kann. Diese +"Lieblingskonfigurationen" geben einen guten Richtwert dazu, wie viele +Pakete auf einmal die Box gerade noch ertragen kann, um noch stabil zu +funktionieren. Die Größenangaben (Platzbedarf/-einsparung im +komprimierten Dateisystem) sind nur ungefähre Richtwerte und können von +Version zu Version variieren. + +.. _Pakete: + +Pakete +------ + +Pakete, die als "ex" (`external <help/howtos/common/external.html>`__) +markiert sind, lassen sich wahlweise "nach extern auslagern" (z.B. auf +einen USB-Stick). "St" beschreibt den aktuellen Stand (Status) der +Einbindung in Freetz (|{*}| stable, |{o}| testing, |<!>| unstable), und +ist nicht unbedingt immer aktuell (den aktuelleren Status erkennt man +daran, wo das Paket letztendlich in +`menuconfig <help/howtos/common/install/menuconfig.html>`__ auftaucht. +Das Paket ist ab "Version" in Freetz enthalten. + +**Paketname** + +**Beschreibung** + +**ex** + +**St** + +**Größe** + +**Version** + +`aiccu <packages/aiccu.html>`__ + +SixXS IPv6 tunnel + +|{*}| + +1.2 + +`Apache + PHP <packages/apache.html>`__ + +Apache Webserver mit PHP + +|{o}| + +550kb+ + +1.0 + +`Asterisk <packages/asterisk.html>`__ + +PBX-Telefonanlage + +|(./)| + +|<!>| + +`autofs <packages/autofs.html>`__ + +bindet Dateisysteme bei Bedarf ein + +|(./)| + +|{o}| + +1.2 + +`Bash <packages/bash.html>`__ + +die **B**\ ourne **A**\ gain **Sh**\ ell + +|(./)| + +|{o}| + +540kb+ + +1.0 + +bfusb? + +Unterstützung für den AVM BlueFRITZ! USB Stick + +|{o}| + +1.1 + +`bind <packages/bind.html>`__ + +DNS-Server + +|(./)| + +|{o}| + +1,7mb+ + +1.2 + +`BIP <packages/bip.html>`__ + +IRC Proxy + +|(./)| + +|{o}| + +1.0 + +`BlueZ <packages/bluez.html>`__ + +Official Linux Bluetooth protocol stack + +|(./)| + +|{o}| + +| ~1mb +| (incl. libs) + +2.0 + +`Bluez-Utils <packages/bluez-utils.html>`__ + +Bluetooth Utilities + +|(./)| + +|{o}| + +1.0 + +`bftpd <packages/bftpd.html>`__ + +kleiner FTP-Server + +|{*}| + +~ 62kb + +1.0 + +`bird <packages/bird.html>`__ + +Internet Routing-Daemon + +|{*}| + +1.0 + +`br2684ctl <packages/br2684ctl.html>`__ + +Konfigurationstool für ATM Ethernet Bridging + +|{o}| + +1.1 + +`bridge-utils <packages/bridge-utils.html>`__ + +Kein Kartenspiel, sondern TCP bridging Utilities + +|{*}| + +1.0 + +`Callmonitor <packages/callmonitor.html>`__ + +ermöglicht Konfiguration von Aktionen bei eingehenden Anrufen + +|{*}| + +1.0 + +`checkmaild <packages/checkmaild.html>`__ + +POP3/ IMAP-Mailkonten regelmäßig auf neue Mails überprüfen lassen + +|(./)| + +|{*}| + +16kb + +1.0 + +`cifsmount <packages/cifsmount.html>`__ + +Netzwerklaufwerke einbinden + +|{*}| + +1.0 + +Collectd? + +Sammeln von Systeminformationen + +|(./)| + +|<!>| + +1.0 + +classpath? + +Java Classpath + +|{o}| + +1.0 + +`cpmaccfg <packages/cpmaccfg.html>`__ + +internen Switch konfigurieren + +|{*}| + +1.0 + +CryptSetup? + +Disk Encryption + +|(./)| + +|{o}| + +1.0 + +`CTorrent <packages/ctorrent.html>`__ + +ein BitTorrent Client + +|(./)| + +|{o}| + +1.0 + +`CURL <packages/curl.html>`__ + +ein Tool ähnlich wget mit SSL-Unterstützung + +|(./)| + +|{o}| + +1.0 + +`davfs2 <packages/davfs2.html>`__ + +WebDAV Share mounten + +|(./)| + +|{o}| + +1.1 + +`Debootstrap <packages/debootstrap.html>`__ + +Debian Bootstrap + +|{o}| + +1.0 + +`deco <packages/deco.html>`__ + +Demos Commander - Dateimanager + +|(./)| + +|{*}| + +~ 60kb + +1.0 + +`DemoPackageA <packages/DemoPackageA.html>`__ + +Ein Demo-Plugin "Hello World" + +|{o}| + +2.0 + +`DigiTemp <packages/digitemp.html>`__ + +Werte von 1-wire devices auslesen + +|(./)| + +|{o}| + +1.2 + +`Dns2TCP <packages/dns2tcp.html>`__ + +noch ein TCP Tunneler + +|(./)| + +|{*}| + +1.0 + +`dnsmasq <packages/dnsmasq.html>`__ + +DNS-, DHCP- und TFTP-Server + +|{*}| + +~100kb + +1.0 + +dosfstools? + +Utilities für das FAT Dateisystem + +|(./)| + +|{o}| + +1.2 + +`dropbear <packages/dropbear.html>`__ + +kleiner SSH2-Server und Client + +|{*}| + +~85kb + +1.0 + +`dtach <packages/dtach.html>`__ + +detaches a program from the terminal (similar to screen, but a lot +smaller) + +|(./)| + +|{o}| + +1.1 + +`DTMFBox <packages/dtmfbox.html>`__ + +Softswitch-Applikation für SIP und CAPI (VoIP/ISDN) + +|(./)| + +|{*}| + +1.0 + +`e2fsprogs <packages/e2fsprogs.html>`__ + +Utilities für das EXT2 Dateisystem + +|(./)| + +|{o}| + +~312kb + +1.0 + +`E-MailRelay <packages/emailrelay.html>`__ + +E-Mail Proxy/Forwarder + +|{o}| + +`Empty <packages/empty.html>`__ + +PTY Utility + +|{o}| + +1.0 + +`eSpeak <packages/espeak.html>`__ + +TTS-Sprachsynthesizer für Englisch und andere Sprachen + +|(./)| + +|{*}| + +1.0 + +`fortune <packages/fortune.html>`__ + +Anzeige von Glückskeksen und anderen humorvollen Aphorismen + +|{o}| + +~4kb + +1.2 + +`fstyp <packages/fstyp.html>`__ + +Erkennung von Dateisystemen + +|{o}| + +1.0 + +`FUSE <packages/fuse.html>`__ + +Filesystem in Userspace + +|{*}| + +1.0 + +git? + +verteilte Versionsverwaltung von Dateien + +|{o}| + +1.2 + +`gw6 <packages/gw6.html>`__ + +gogo6/freenet6 IPv6 tunnel + +|(./)| + +|{o}| + +1.2 + +`Haserl <packages/haserl.html>`__ + +Haserl is a small program that uses shell or Lua script to create cgi +web scripts + +|{o}| + +~37kb + +1.0 + +`hiawatha <packages/hiawatha.html>`__ + +Hiawatha is a webserver for Unix and has been build with security in +mind + +|(./)| + +|{o}| + +~105kb + +2.0 + +`hd-idle <packages/hd-idle.html>`__ + +Tool zum Abschalten inaktiver Festplatten + +|{o}| + +1.1 + +`hol <packages/hol.html>`__ + +Tool zum Abschalten von PCs über das Netzwerk + +|{o}| + +1.2 + +`hp-utils <packages/hp-utils.html>`__ + +Tools für HP-Drucker + +|<!>| + +~104kB + +1.2 + +`HPLIP <packages/hplip.html>`__ + +HP Linux Imaging and Printing: Scannen und Tools für HP-Geräte + +|<!>| + +~330kB + +1.2 + +`htpdate <packages/htpdate.html>`__ + +Zeitsynchronisierung über HTTP + +|{o}| + +1.2 + +`httptunnel <packages/httptunnel.html>`__ + +HTTP Tunnel Server + +|(./)| + +|{o}| + +1.1 + +iftop? + +'top' für's Netzwerk + +|(./)| + +|{o}| + +52kB + +1.2 + +`igmpproxy <packages/igmpproxy.html>`__ + +Einfacher multicast routing daemon + +|{o}| + +35kB + +1.2 + +ImapProxy? + +ImapProxy is a caching IMAP proxy server + +|{o}| + +2.0 + +`inadyn <packages/inadyn-mt.html>`__ + +kleiner dynamic DNS Client + +|{o}| + +1.0 + +`inetd <packages/inetd.html>`__ + +'Virtual' inetd package + +|{*}| + +1.0 + +`inotify Tools <packages/inotify-tools.html>`__ + +Protokollierung von bzw. Ereignissteuerung durch Dateisystem-Vorgänge(n) + +|(./)| + +|{o}| + +1.0 + +`iodine <packages/iodine.html>`__ + +TCP over DNS Tunnel + +|(./)| + +|{o}| + +~55kb + +1.0 + +`iptables <packages/iptables.html>`__ + +Netfilter/IpTables (Linux Firewall) + +|(./)| + +|<!>| + +~ 30kb + +1.0 + +`Irssi <packages/irssi.html>`__ + +IRC Client + +|(./)| + +|{o}| + +~780kb + +1.0 + +`JamVM <packages/jamvm.html>`__ + +eine kleine, doch vollständige Java VM + +|{o}| + +~160kb + +1.0 + +`knockd <packages/knock.html>`__ + +Ermöglicht Port Knocking + +|(./)| + +|{*}| + +~ 60kb + +1.0 + +`ldd <packages/ldd.html>`__ + +List Dynamic Dependencies (wovon hängt was ab) + +|(./)| + +|{*}| + +1.0 + +`lighttpd <packages/lighttpd.html>`__ + +freier kompakter Webserver + +|(./)| + +|{o}| + +1.2 + +`lsof <packages/lsof.html>`__ + +kleines Programm, um alle offenen Dateien anzuzeigen + +|(./)| + +|{*}| + +1.0 + +`ltrace <packages/ltrace.html>`__ + +wie `strace <packages/strace.html>`__, nur halt für Libraries + +|(./)| + +|{*}| + +1.0 + +`Lua <packages/lua.html>`__ + +Lua Scripting Language + +|(./)| + +|{o}| + +~190kb + +1.0 + +`Lynx <packages/lynx.html>`__ + +Text-Modus Web-Browser + +|(./)| + +|{o}| + +1.0 + +`madplay <packages/madplay.html>`__ + +MPeg Audio Decoder + +|(./)| + +|{o}| + +1.0 + +`matrixtunnel <packages/matrixtunnel.html>`__ + +Matrixtunnel - SSL-Tunnel für abhörsicheren Zugang zur Box oder Systemen +dahinter + +|(./)| + +|{o}| + +~100kB + +1.0 + +`mc <packages/mc.html>`__ + +Midnight Commander - ein Unix-Dateimanager + +|(./)| + +|{*}| + +400kb+ + +1.0 + +`mcabber <packages/mcabber.html>`__ + +Jabber Console Client + +|{o}| + +1.1 + +`mediaserver <packages/mediaserver.html>`__ + +Mediaserver aus der AVM Labor Version ( USB ) + +2.0 + +`MediaTomb <packages/mediatomb.html>`__ + +MediaTomb UPnP MediaServer + +|{o}| + +| 1.2MB+ +| +~2.5MB Libs + +1.2? + +`microperl <packages/microperl.html>`__ + +Perl without operating-specific functions + +|(./)| + +|{o}| + +1.1 + +`minidlna <packages/minidlna.html>`__ + +DLNA/UPnP-AV Server + +|(./)| + +|{o}| + +1.2 + +`minifo <packages/mini_fo.html>`__ + +Overlay Filesystem - schreibgeschütztes Gerät beschreibbar machen + +|{*}| + +1.0 + +`module-init-tools <packages/m-i-t.html>`__ + +Utilities zum Verwalten von Kernelmodulen + +|{o}| + +1.0 + +`mod <packages/mod.html>`__ + +Base-Package. Es wird immer automatisch installiert + +|{*}| + +1.2 + +`mtr <packages/mtr.html>`__ + +Netzwerkdiagnose - Ping und Traceroute in einem + +|(./)| + +|{*}| + +1.0 + +`Nagios <packages/nagios.html>`__ + +Monitoring Programm + +|{o}| + +1.1 + +`nano <packages/nano.html>`__ + +Texteditor + +|(./)| + +|{*}| + +1.1 + +`ncftp <packages/ncftp.html>`__ + +NcFTP Client + +|(./)| + +|{o}| + +233kb+ + +1.2 + +`ndas <packages/ndas.html>`__ + +Network Direct Attached Storage + +|(./)| + +|{o}| + +1.2 + +`netcat <packages/netcat.html>`__ + +Ermöglicht Ein- und Ausgaben über das Netzwerk (TCP und UDP) + +|(./)| + +|{*}| + +1.0 + +`nmap <packages/nmap.html>`__ + +Utility for network exploration or security auditing + +|(./)| + +|{o}| + +694kb + +1.2 + +`Net-SNMP <packages/netsnmp.html>`__ + +Simple Network Management Protocol Server + +|(./)| + +|{*}| + +1.0 + +`netatalk <packages/netatalk.html>`__ + +AFP (Apple Filing Protocol) fileserver + +|<!>| + +~750kB + +1.2 + +`nfs-utils <packages/nfs-utils.html>`__ + +NFS Utilities + +|{*}| + +1.1 + +noip? + +dynamic DNS Update Client for noip + +|{o}| + +1.0 + +`nfs <packages/nfs.html>`__ + +Fritzbox als NFS-Client nutzen, um mehr Speicherplatz zu erhalten + +|{*}| + +1.1 + +`NTFS-3G <packages/ntfs-3g.html>`__ + +NTFS Support + +|(./)| + +|{*}| + +1.0 + +`ObexFTP <packages/obexftp.html>`__ + +ObexFTP Server + +|{o}| + +1.0 + +OpenConnect? + +Cisco AnyConnect VPN Client + +|{o}| + +2.0 + +`OpenDD <packages/opendd.html>`__ + +Dynamic DNS Client + +|(./)| + +|{o}| + +1.2 + +`openntpd <packages/openntpd.html>`__ + +Abgleich und Bereitstellung der Uhrzeit + +|{*}| + +1.0 + +OpenSSH? + +SSH2-Server und Client, SFTP-Server + +|(./)| + +|{o}| + +440kb+ + +1.1 + +`openvpn <packages/openvpn.html>`__ + +ermöglicht Aufbau eines virtuellen privaten Netzwerks (VPN) + +|(./)| + +|{*}| + +1.0 + +`OWFS <packages/owfs.html>`__ + +Unterstütztung für viele 1-wire devices + +|(./)| + +|{o}| + +1.2 + +`pciutils <packages/pciutils.html>`__ + +Utilities für PCI Geräte + +|{*}| + +1.1 + +`PHP <packages/php.html>`__ + +Server-side HTML embedded scripting language + +|{*}| + +| ~5mb +| (without libs) + +1.0 + +`pingtunnel <packages/pingtunnel.html>`__ + +TCP mit ICMP Echo Anfragen und Antworten (ping) tunneln + +|{*}| + +~40kb + +1.0 + +Polipo? + +Small and fast caching web proxy + +|{*}| + +~220kB + +1.2 + +`portmap <packages/portmap.html>`__ + +portmap Utility + +|{*}| + +1.1 + +`pptp <packages/pptp.html>`__ + +PPTP-Client + +|(./)| + +|{o}| + +95kb + +1.0 + +`pptpd <packages/pptpd.html>`__ + +Poptop - Ein PPTP-Server + +|(./)| + +|{o}| + +79kb + +1.0 + +`privoxy <packages/privoxy.html>`__ + +HTTP Proxy mit umfangreichen Filtermöglichkeiten + +|(./)| + +|{*}| + +1.0 + +`Prosody IM <packages/prosody.html>`__ + +Prosody is a flexible communications server for Jabber/XMPP written in +Lua + +|{o}| + +2.0 + +`Quagga <packages/quagga.html>`__ + +The Quagga Software Routing Suite + +|{o}| + +1.0 + +`radvd <packages/radvd.html>`__ + +IPv6 router advertisement daemon + +|(./)| + +|{*}| + +386kb + +1.2 + +rcapid? + +CAPI-Server + +|{*}| + +1.0 + +`rrdtool <packages/rrdtool.html>`__ + +Data logging and graphing system + +|(./)| + +|{o}| + +424kb + +1.0 + +rsync? + +Effizientes Kopieren von Dateien über Netzwerk + +|(./)| + +|{o}| + +410kb + +1.2 + +`Ruby <packages/ruby.html>`__ + +Ruby Scripting Language + +|{o}| + +~1.3MB + +1.0 + +`s3fslite <packages/s3fslite.html>`__ + +FUSE file system for Amazon S3 + +|{o}| + +2.0 + +SableVM? + +alternative Java VM + +|{o}| + +1.1 + +Shell in a Box? + +Terminal im Webbrowser + +|(./)| + +|{o}| + +1.2 + +`samba/nmbd <packages/samba.html>`__ + +Freigabe von Dateien über das SMB/CIFS-Protokoll (auch für Windows) +sowie Namensauflösung der Box im Netzwerk + +|(./)| + +|{*}| + +1.0 + +`SANE <packages/sane-backends.html>`__ + +**S**\ canner **A**\ ccess **N**\ ow **E**\ asy (Scanner-Support, +Scan-Server) + +|<!>| + +~90-700kB + +1.1 + +`screen <packages/screen.html>`__ + +Fenstermanager zur Verwendung mit textbasierten Eingabefenstern +(Textkonsole) + +|(./)| + +|{*}| + +1.0 + +`ser2net <packages/ser2net.html>`__ + +Serial to Network Proxy, COM-Ports über telnet und TCP nutzen + +|{o}| + +2.0 + +`sispmctl <packages/sispmctl.html>`__ + +GEMBIRD SiS-PM (sispm) USB-controlled power-outlet device (AKA +IntelliPlug) Support + +|{o}| + +1.0 + +`SMARTmontools <packages/smartmontools.html>`__ + +Zeigt S.M.A.R.T. Werte von Festplatten an + +|(./)| + +|{o}| + +1.2 + +`smstools3 <packages/smstools3.html>`__ + +Senden/Empfangen von SMS mit UMTS-Stick + +|{o}| + +2.0 + +`socat <packages/socat.html>`__ + +eine Art erweitertes `netcat <packages/netcat.html>`__ (inkl. SSL +Support) + +|{o}| + +1.1 + +squid? + +Web Proxy Server + +|(./)| + +|{o}| + +1.1 + +`strace <packages/strace.html>`__ + +Tool zum "Tracen" von Programmen + +|(./)| + +|{*}| + +1.0 + +`Streamripper <packages/streamripper.html>`__ + +Record mp3 streams + +|(./)| + +|{o}| + +1.0 + +`stunnel <packages/stunnel.html>`__ + +SSL-Tunnel für TCP-Verbindungen + +|(./)| + +|{*}| + +1.0 + +`subversion (svn) <packages/subversion.html>`__ + +Software zur Versionsverwaltung von Dateien und Verzeichnissen + +|(./)| + +|{o}| + +1.2 + +`Sundtek Treiber <packages/sundtek.html>`__ + +Treiber für Sundtek DVB Sticks + +|{o}| + +1.0 + +`tcpdump <packages/tcpdump.html>`__ + +Überwachung und Auswertung des Netzwerkverkehrs + +|(./)| + +|{*}| + +| full: ~680kb +| mini: ~350kb + +1.0 + +`tcp_wrappers <packages/tcp_wrappers.html>`__ + +Host-basiertes Networking ACL System + +|{o}| + +1.1 + +`Tinc <packages/tinc.html>`__ + +VPN Daemon + +|<!>| + +1.1 + +`tinyproxy <packages/tinyproxy.html>`__ + +HTTP and HTTPS Proxy + +|{*}| + +~ 70kB + +1.0 + +`tor <packages/tor.html>`__ + +SOCKS Proxy mit Anonymisierungsfunktion + +|(./)| + +|{*}| + +1.0 + +`transmission <packages/transmission.html>`__ + +kleiner BitTorrent Client + +|(./)| + +|{*}| + +1.0 + +tree? + +rekursives Auflisten von Verzeichnissen in Baum-Struktur + +|(./)| + +|{o}| + +1.1 + +`unbound <packages/unbound.html>`__ + +Unbound is a validating, recursive, and caching DNS resolver + +|(./)| + +|{o}| + +2.0 + +umurmur? + +kleiner Mumble Server + +|(./)| + +|{o}| + +1.2 + +unrar? + +rar-Archive auf der Box entpacken + +|(./)| + +|{o}| + +174kb + +1.2 + +`USB-IP <packages/usbip.html>`__ + +USB Device Sharing über IP + +|<!>| + +1.0 + +`USB-root <packages/usbroot.html>`__ + +Auslagerung von / auf ein USB-Laufwerk + +|{o}| + +1.0 + +`usbutils <packages/usbutils.html>`__ + +USB Geräte und Informationen auflisten + +|{*}| + +1.1 + +`vim <packages/vim.html>`__ + +"vi improved": Text-Editor + +|(./)| + +|{o}| + +1.0 + +vnstat? + +Network traffic monitor + +|{*}| + +1.2 + +`vpnc <packages/vpnc.html>`__ + +Client für den Cisco VPN-Konzentrator + +|{*}| + +1.0 + +`vsftp <packages/vsftpd.html>`__ + +Schneller, frei konfigurierbarer und sicherer FTP Server + +|(./)| + +|{*}| + +1.0 + +`vtun <packages/vtund.html>`__ + +virtueller Tunnel (VPN) über TCP/IP Netzwerke + +|(./)| + +|{o}| + +1.2 + +`wget <packages/wget.html>`__ + +WGet Utility (Dateien aus dem Internet von Kommandozeile downloaden) + +|{o}| + +~150kb + +1.0 + +`WOL <packages/wol.html>`__ + +Wake on LAN (Ersatz für ether-wake) + +|(./)| + +|{o}| + +1.1 + +`wput <packages/wput.html>`__ + +Das Gegenstück zu "wget": Dateien per HTTP hochladen + +|(./)| + +|{o}| + +1.1 + +`xmail <packages/xmail.html>`__ + +Mail server + +|{*}| + +1.2 + +Xpdf? + +PDF-Tools: Konvertierung nach PostScript/Text + Informationen (nicht der +Viewer!) + +|{o}| + +1.1 + +`xrelayd <packages/xrelayd.html>`__ + +kleiner stunnel Ersatz (Nachfolger von matrixtunnel) + +|{o}| + +~200kb + +1.0 + +`ziproxy <packages/ziproxy.html>`__ + +Forwarding, non-caching, HTTP proxy targeted for traffic optimization + +|{o}| + +| ~113kb +| libs: ~312kb + +2.0 + +.. _Addons: + +Addons +------ + +Addons sind Pakete, die (noch) nicht direkt in Freetz eingebunden sind +(für diese existiert noch kein Eintrag in der +`menuconfig <help/howtos/common/install/menuconfig.html>`__), und daher +zur Einbindung noch ein wenig +`Handarbeit <help/howtos/development/install_addon.html>`__ erfordern. + ++-----------------------------------+-----------------------------------+ +| **Paketname** | **Beschreibung** | ++-----------------------------------+-----------------------------------+ +| `nhipt <packages/nhipt.html>`__ | Leistungsfähige Web-Oberfläche | +| | zur Konfiguration der Iptables | +| | Firewall | +| | Unterstützt alle iptables / | +| | ip6tables Module (IPv4 & IPv6) | +| | als dynamisches freetz Paket | +| | direkt von USB Stick (NEW) | ++-----------------------------------+-----------------------------------+ +| `FritzLoad <packages/fritzload.ht | FritzLoad kann automatisiert | +| ml>`__ | Dateien von bzw. zu Sharehostern | +| | herunter- und hochladen | ++-----------------------------------+-----------------------------------+ +| `FHEM <packages/fhem.html>`__ | Überwachung und Steuerung von | +| | Home Automation Systemen, u.a. | +| | FS20 (mächtige Variante) | ++-----------------------------------+-----------------------------------+ +| `fhzctrl <packages/fhzctrl.html>` | Überwachung und Steuerung von | +| __ | Home Automation Systemen, u.a. | +| | FS20 (einfache Variante) | ++-----------------------------------+-----------------------------------+ + +.. _CGI-Erweiterungen: + +CGI-Erweiterungen +----------------- + ++-----------------+-----------------+-----------------+-----------------+ +| **Paketname** | **Beschreibung* | **Größe** | **Version** | +| | * | | | ++-----------------+-----------------+-----------------+-----------------+ +| `authorized_key | Web-Oberfläche | | 1.2 | +| s <packages/aut | für root's | | | +| horized-keys.ht | authorized_keys | | | +| ml>`__ | von Dropbear & | | | +| | OpenSSH | | | ++-----------------+-----------------+-----------------+-----------------+ +| `AVM firewall | Web-Oberfläche | ~ 17kb | 1.0 | +| CGI <packages/a | um die von AVM | | | +| vm-firewall.htm | dem User | | | +| l>`__ | vorenthaltene | | | +| | integrierte | | | +| | Firewall zu | | | +| | administrieren | | | ++-----------------+-----------------+-----------------+-----------------+ +| `dnsd <packages | Small static | ~483kb | 2.0 | +| /dnsd.html>`__ | DNS server | | | +| | daemon | | | +| | (busybox) | | | ++-----------------+-----------------+-----------------+-----------------+ +| `downloader-cgi | Web-Oberfläche | ~ 2kB | 1.0 | +| <packages/down | zum Nachladen | | | +| loader.html>`__ | von Dateien ins | | | +| | RAM beim | | | +| | Hochfahren der | | | +| | Box | | | ++-----------------+-----------------+-----------------+-----------------+ +| `iptables-cgi < | Web-Oberfläche | > 70kb | 1.0 | +| packages/iptabl | für Iptables | | | +| es-cgi.html>`__ | | | | ++-----------------+-----------------+-----------------+-----------------+ +| `Nano-Shell <pa | Minimal-Shell | | 1.0 | +| ckages/nano-she | für komplette | | | +| ll.html>`__ | Befehlseingabe | | | +| | via Web-URL | | | ++-----------------+-----------------+-----------------+-----------------+ +| `nfsd-cgi <pack | Web-Oberfläche | | 1.1 | +| ages/nfsd.html> | zur | | | +| `__ | Konfiguration | | | +| | des NFS-Servers | | | ++-----------------+-----------------+-----------------+-----------------+ +| `nhipt <package | Leistungsfähige | 63kb | 1.2 | +| s/nhipt.html>`_ | Web-Oberfläche | | | +| _ | zur | | | +| | Konfiguration | | | +| | der Iptables | | | +| | Firewall (IPv4 | | | +| | & IPv6) (NEW) | | | ++-----------------+-----------------+-----------------+-----------------+ +| `RRDstats <pack | Web-Oberfläche | | 1.0 | +| ages/rrdstats.h | zur | | | +| tml>`__ | Konfiguration | | | +| | des RRDtools | | | +| | (Round Robin | | | +| | Database Tool) | | | ++-----------------+-----------------+-----------------+-----------------+ +| `Onlinechanged- | Web-Oberfläche | | 2.0 | +| CGI <packages/o | zur Definition | | | +| nlinechanged_cg | eigener | | | +| i.html>`__ | Onlinechanged-S | | | +| | kripten, | | | +| | die bei | | | +| | Verbindungswech | | | +| | sel | | | +| | ausgeführt | | | +| | werden | | | ++-----------------+-----------------+-----------------+-----------------+ +| `Rudi-Shell <pa | Rudi(mentär)-Sh | | 1.0 | +| ckages/rudi-she | ell | | | +| ll.html>`__ | für komplette | | | +| | Systemkontrolle | | | +| | via Web | | | ++-----------------+-----------------+-----------------+-----------------+ +| `PHPXMail <pack | PhpXmail is a | ~90kb (ohne | 1.2 | +| ages/phpxmail.h | web based | PHP) | | +| tml>`__ | management | | | +| | software for | | | +| | the Xmail mail | | | +| | server written | | | +| | in php | | | ++-----------------+-----------------+-----------------+-----------------+ +| `ppp-cgi <packa | Web-Oberfläche | | 1.2 | +| ges/ppp.html>`_ | zur | | | +| _ | Konfiguration | | | +| | des pppd | | | ++-----------------+-----------------+-----------------+-----------------+ +| `spindown-cgi < | Web-Oberfläche | 28kb | 1.0 | +| packages/spindo | für sg3_utils | | | +| wn.html>`__ | (Sleep-Modus | | | +| | für | | | +| | angeschlossene | | | +| | Festplatten) | | | ++-----------------+-----------------+-----------------+-----------------+ +| `syslogd-cgi <p | Web-Oberfläche | | 1.0 | +| ackages/syslogd | für den Syslogd | | | +| .html>`__ | | | | ++-----------------+-----------------+-----------------+-----------------+ +| `virtualip-cgi | ermöglicht das | | 1.0 | +| <packages/virtu | Anlegen | | | +| alip.html>`__ | virtueller IPs | | | +| | auf der Box | | | ++-----------------+-----------------+-----------------+-----------------+ +| `wol-cgi <packa | Web-Oberfläche | | 1.0 | +| ges/wol.html>`_ | für Wake on LAN | | | +| _ | | | | ++-----------------+-----------------+-----------------+-----------------+ + +.. _Apps: + +Apps +---- + +Externe Apps die für Freetz entwickelt worden sind, um Freetz funktionen +über ein Mobile Device zu steuern (Android, IOS, etc): + +Freetz Manager (IOS / iPhone / iPad) +`​https://itunes.apple.com/us/app/freetz-manager/id658333400?l=de&ls=1&mt=8 <https://itunes.apple.com/us/app/freetz-manager/id658333400?l=de&ls=1&mt=8>`__ + +- Services Start/Stop/Restater +- Fritzbox Shutdown/Restart +- Fritzbox/Freetz Status (Hardware, Netzwerk, Ram, Packete, Log, etc) +- Preis: $1,99 + +.. _Weiteres: + +Weiteres +-------- + +Seit 18.09.2009 gibt es [in der Entwicklerversion] drei optionale +Erweiterungen zum WebIF, die einen informativen Charakter haben: + +#. .config kann nun in einer gefilterten Version optional auf die Box + "mitgenommen" werden. Dadurch ist es möglich, die + FREETZ-Konfiguration auch dann auszulesen, wenn die Image-Datei + längst verloren ist. + +2. BOX-INFO: Hardware- und Firmwarespezifische Informationen über die + Box (AVM-Teil). Auch Umgebungsvariablen der Box können angesehen + werden. + +3. FREETZ-INFO: Versteckte Informationen über FREETZ. Hier kann z.B. + .config oder `externalisierte <help/howtos/common/external.html>`__ + Dateien angezeigt werden. Auch Erstellungsdatum vom FREETZ-Image und + Benutzerdefinierte Informationen können durch FREETZ-INFO im WebIF + dargestellt werden. + +BOX-INFO- und FREETZ-INFO-Seiten können sowohl im menuconfig (zum +Platzsparen), als auch im FREETZ-WebIF deaktiviert werden. Beide Seiten +sind zwar eigenständige CGIs, bilden aber in dem Sinne kein Paket und +gehören zum mod selbst als optionale Teile. Standardmäßig sind alle drei +INFO-Komponenten aktiviert und können im menuconfig bei aktiviertem +"Expertenansicht" unter "Advanced Settings" abgewählt werden. + +Für die `Patches <patches.html>`__ gibt es eine eigene Sektion. + +If you get the message */var/flash/freetz too big* or similar after +trying out several packages then: + +#. Login using telnet (or SSH) +#. Goto the directory */var/tmp/flash* +#. Remove the files of packages you don't use anymore +#. *modsave* + +Another trick is to move configuration files of external packages also +to external storage and to make symbolic links to them, for example: + +#. *mv /var/tmp/flash/php.ini /var/media/ftp/uStor01/config/php.ini* +#. *ln -s /var/media/ftp/uStor01/config/php.ini /var/tmp/flash/php.ini* +#. *Modsave* + +Note that these configuration files don't get backed up using the Freetz +menu! + +Yet another option is to integrate static data, like certificates, into +the flash image, see +`here <help/howtos/development/integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ +for details. + +.. |{*}| image:: ../chrome/wikiextras-icons-16/stable.png +.. |{o}| image:: ../chrome/wikiextras-icons-16/testing.png +.. |<!>| image:: ../chrome/wikiextras-icons-16/exclamation-red.png +.. |(./)| image:: ../chrome/wikiextras-icons-16/tick.png + diff --git a/wiki/packages/DemoPackageA.rst b/wiki/packages/DemoPackageA.rst new file mode 100644 index 0000000..5c5841f --- /dev/null +++ b/wiki/packages/DemoPackageA.rst @@ -0,0 +1,36 @@ +packages/DemoPackageA +===================== +.. _DemoPackageAHelloWorld: + +DemoPackageA "Hello World" +-------------------------- + +Dieses Paket von +`​snowyrain <http://www.ip-phone-forum.de/member.php?u=106238>`__ zeigt +wie ein "Hello World" Programm in Freetz integriert werden kann. Es soll +als Anschauungs-Beispiel dienen. Für sehr kleine Projekte kann es sich +als Grundlage eignen. Die Funktion ist, dass ein "Hello World" auf der +Kommandozeile der Fritzbox ausgegeben wird. Hierzu muss dieses Paket in +Freetz integriert werden. + +**``Das Paket ist noch nicht in Freetz aufgenommen worden!``** + +Das Paket basiert im Wesentlichen auf dem `Empty <empty.html>`__ Paket, +welches eine überschaubare Struktur aufweist und so für diesen Zweck +geeignet erschien. Eine weitere Erläuterung ist +`hier <../help/howtos/development/package_creation.html#WiebaueicheineigenesPaketf%C3%BCrFreetz>`__ +unter "Kurz-Anleitung…" (weiter unten auf der Seite) zu finden. + +Außerdem gibt es ein fertiges `​GNU +Hello <http://www.gnu.org/software/hello>`__ Paket, was evtl. für +weitere Demonstrationszwecke eingesetzt werden kann. + +.. _Quellen: + +Quellen +------- + +- `​Thread im + IPPF <http://www.ip-phone-forum.de/showthread.php?t=177052>`__ +- `​Wikipedia <http://de.wikipedia.org/wiki/Hello_world>`__ +- `​GNU Hello <http://www.gnu.org/software/hello>`__ diff --git a/wiki/packages/aiccu.en.rst b/wiki/packages/aiccu.en.rst new file mode 100644 index 0000000..04b7540 --- /dev/null +++ b/wiki/packages/aiccu.en.rst @@ -0,0 +1,126 @@ +packages/aiccu.en +================= +.. _AICCU: + +AICCU +----- + +AICCU (Automatic IPv6 Connectivity Client Utility) makes it easy for +users to get IPv6 connectivity. More info about AICCU can be found via: +`​http://www.sixxs.net/tools/aiccu/ <http://www.sixxs.net/tools/aiccu/>`__ + +.. _SixXSaccount: + +SixXS account +~~~~~~~~~~~~~ + +To able to use AICCU you need an Sixxs account, and Tunnel. You can +request and account and tunnel by following the steps on the following +link: +`​http://www.sixxs.net/faq/account/?faq=10steps <http://www.sixxs.net/faq/account/?faq=10steps>`__ +The request are handeled by SixXS staff. This means that it takes a +number of days before your request is granted. But also that you should +make sure all questions are properly filled. The type of tunnel you +probably need to request is an `​Anything In Anything +(AYIYA) <http://www.sixxs.net/tools/ayiya/>`__. + +.. _CreatingaFeetzImagewithAICCU: + +Creating a Feetz Image with AICCU +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Follow the directions from the `Wiki <../index.en.html#>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected: + +.. code:: wiki + + [*] Show advanced options + [*] Enable IPv6 support + +.. code:: wiki + + Package selection ---> Standard packages ---> [*] aiccu - aiccu - ipv6 connectivity from sixxs + +I also advice to add the following for easier troubleshooting: + +.. code:: wiki + + Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] ping6 command + Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] traceroute6 command + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| AICCU requires a that the time and date to be correct. +| So you need to give NTP some time at bootup of the router to obtain + the current date and time. +| To have this behavior you can configure the 'Maximal time waiting for + time-synchronisation (seconds)' under the Advanced section. + +.. figure:: /screenshots/237.jpg + :alt: Howto AICCU Setup + + Howto AICCU Setup + +.. _CPUusage: + +CPU usage +~~~~~~~~~ + +When IPv6 package are routed though the IPv6 tunnel over IPv4 towards +Sixxs, the router is using more CPU power than it just forwards IPv4 +packets out over its default route. Every IPv6 package going into the +AYIYA tunnel will be signed with a sha1 hash. This additonal hashing +processing takes up our precious and limited CPU resources. Some +additional explanation of why AICCU takes so much CPU resources can be +found `​here <https://www.sixxs.net/forum/?msg=devel-778530>`__. If you +have more than a 15Mbit/s download link on a 7270v3 you will probably +see that you cannot use the full bandwidth, and that the web-inteface is +becoming slower to respond if you get near the 10Mbit/s. This is because +you are running out of CPU resources. + +You can verify this with the following command: + +.. code:: wiki + + uptime + +Or: + +.. code:: wiki + + cat /proc/loadavg + +| If you see an avarage load value of higher than 1:00 you know that it + is the CPU limitation you are running into. +| A good explanantion of how to interpret the values can be found + `​here <http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages>`__. + +You can also use the following command: + +.. code:: wiki + + top + +This will give you more than the load avarages, and refreshes the values +every 5 seconds. + +.. _Other: + +Other +~~~~~ + +| **Note** Be aware that Windows Vista and Windows 7 by default prefer + IPv6 over IPv4. This will unnecessary stress the limited CPU power of + the router. +| Look `​here <http://support.microsoft.com/kb/2533454/en-us>`__ for a + option to make IPv4 more prefered than IPv6. diff --git a/wiki/packages/aiccu.rst b/wiki/packages/aiccu.rst new file mode 100644 index 0000000..d9cd484 --- /dev/null +++ b/wiki/packages/aiccu.rst @@ -0,0 +1,249 @@ +packages/aiccu +============== +.. _Aiccu: + +Aiccu +===== + +.. _FirmwareImageerstellen: + +Firmware Image erstellen +------------------------ + +Zunächst rufen wir das Menuconfig auf: + +.. code:: wiki + + make menuconfig + +Es muss zunächst euer Router ausgewählt sein, auch "Show advanced +options" und das darunter erscheinende "Enable IPv6 support". Zudem +werden folgende Pakte benötigt: + +.. code:: wiki + + Standard Packages -> Dnsmasq + Web Interface -> NHIPT Iptables CGI + Web Interface -> NHIPT->Select kernel modules (IPv6) -> ip6_tables.ko + Web Interface -> NHIPT->Select kernel modules (IPv6) -> ip6table_filter.ko + Web Interface -> NHIPT->Select shared libraries (IPv6) -> libip6t_icmp6.so + Unstable -> aiccu + Unstable -> radvd + Unstable -> traceroute6 + +Jetzt speichert und verlasst ihr die Konfiguration. Falls dies die erste +Erstellung eines Images ist, müsst ihr nun zunächst mit ``make`` die für +den nächsten Schritt benötigten Dateien erstellen. + +Nachdem der Vorgang abgeschlossen ist, gebt ihr in die Konsole diesen +Befehl ein: + +.. code:: wiki + + make kernel-menuconfig + +In diesem Menü aktiviert ihr nun folgende Optionen: + +.. code:: wiki + + Loadable module support > Automatic kernel module loading (CONFIG_KMOD=y) + Networking > Networking options > IPv6: IPv6-in-IPv4 tunnel (SIT driver) (CONFIG_IPV6_SIT=y) + +Auch hier müsst ihr danach die Menüs mit "Exit" verlassen und die Frage, +ob ihr das Speichern wollt, mit "Yes" beantworten. + +| Hinweis CONFIG_KMOD: +| Option ist nicht als Default aktiviert, da manche Module nicht geladen + werden, sobald kein "Replace Kernel" benutzt wird. +| Bessere Alternative: In der Freetz-Weboberfläche kann über + "Einstellungen > Freetz: modules" Modul XXX hinzugefügt werden. +| Vorsicht: FREETZ_SECURITY_LEVEL=1 (Default) reicht nicht, siehe auch + `Security + Levels <../FAQ.en.html#Settingsarenotavailableatcurrentsecuritylevel>`__. +| (Quellcode: 7170: make/linux/Config.ohio-8mb.04.80:59:# CONFIG_KMOD is + not set) + +| Hinweis CONFIG_IPV6_SIT: +| Für Kernel 2.6.19.2 (z.B. 7270) is Option bereits aktivert und für + 2.6.13.1 (z.B. 7170) nicht auswählbar. +| (Quellcode: 7270: + make/linux/Config.ur8-16mb.7270_04.86:344:CONFIG_IPV6_SIT=y) + +Zum Schluss führt nochmal den Befehl ``make`` aus. + +Das entstandene Image im Ordner "images" kann nun über das Webinterface +eingespielt werden. + +.. _Netzwerksetup: + +Netzwerksetup +------------- + +Wählt den Punkt "Pakete" aus, um aiccu und radvd zu konfigurieren. +Zuerst aiccu: + +.. code:: wiki + + Starttyp: Automatisch + Benutzername: Euer SixXS Benutzername + Passwort: Euer SixXS Passwort + Tunnel ID: ID des dynamischen Tunnels (z.B. T1234) + Name des virt. IPv6 Interface: sixxs + +Klickt anschließend auf "Übernehmen", um die Einstellungen zu speichern. +Als nächstes wird radvd konfiguriert. Dazu benötigt ihr ein aktives +Subnet, dass zu eurem Tunnel geroutet wird. Lautet euer Prefix +beispielsweise !2001:6f8:1234::/48, so muss die Konfiguration +folgendermaßen aussehen: + +.. code:: wiki + + Starttyp: Automatisch + IPv6 Schnittstelle: lan + IPv6 Adresse: 2001:6f8:1234::1/64 + IPv6 Prefix: 2001:6f8:1234::/64 + +Achtung: Dies ist kein Tippfehler! In der Konfiguration muss hinter dem +Prefix /64 stehen, auch wenn eurer Prefix ein /48 Subnet hat! Auch hier +durch klick auf "Übernehmen" die Einstellung speichern. Abschließend +geht auf "Dienste" und startet nacheinander die Dienste "aiccu" und +"radvd". + +.. _IPv6Sicherheit: + +IPv6 Sicherheit +--------------- + +Um jetzt noch die Clients gegen Verbindungen von außen abzuschotten, +klicken wir im Freetzmenü auf Pakete→NHIPT, tragen bei "Admin IP" das +Subnetz eures LAN ein (beispielsweise 192.168.178.0/24) und setzt den +Status auf "running". Das ganze übernehmen und auf "Edit Firewall Rules" +klicken. Hier müsst ihr euch mit euren Freetzinterface Logindaten +(Standarduser: admin, Standardpasswort: freetz) anmelden. + +Auf der folgenden Seite seht ihr dann die Konfigurationsseite für die +IPv6 Firewall ip6tables. Lasst euch nicht von den vielen Feldern +erschlagen und scrollt direkt zu den Feldern, über denen "RULES FOR +CHAIN INPUT [ filter ] [ IPv6 ]" steht. Tragt jetzt in die Felder +folgende Werte ein: + +.. code:: wiki + + "In IFC" = "sixxs" + "Prot" = "ipv6" + "Module" = "state" + "Param" = "RELATED,ESTABLISHED" + +und klickt auf "Insert". Das ganze wiederholt ihr dann noch (wieder in +den gleichen Feldern) mit den Werten + +.. code:: wiki + + "In IFC" = "sixxs" + "Prot" = "ipv6-icmp" + +.. code:: wiki + + "In IFC" = "sixxs" + "Action" = "DROP" + +Zum Schluss auf "persist rules" klicken. + +Jetzt ist euer Netzwerk auch unter IPv6 geschützt, wobei es trotzdem die +Pings durchlässt (für Credits). + +Hinweis: Das Modul "state" bzw conntrack funktioniert mit zu altem +Kernel (7270 hat 2.6.19.2) für IPv6 nicht, kann also weggelassen werden. +Quelle: `​SixXS <http://www.sixxs.net/wiki/IPv6_Firewalling>`__ + +DNS trage ich nach, soweit ich mich damit mehr beschäftigt habe. + +aiccu.sh +-------- + +Falls aktiviert, wird dieses Skript nach Verbindungsaufbau ausgeführt. +Es können z. B. ip6tables Regeln eingetragen werden. + +.. _Links: + +Links +----- + +- `​IPv6 <http://de.wikipedia.org/wiki/IPv6>`__ +- `​AICCU <http://en.wikipedia.org/wiki/AICCU>`__ +- `​radvd <http://en.wikipedia.org/wiki/Radvd>`__ +- `​SixXS <http://www.sixxs.net/>`__ +- `​Forum + Post <http://www.ippf.eu/showpost.php?p=1488444&postcount=74>`__ + +-------------- + +.. _CommentbyoliveronSa12Jun201020:02:08CEST: + +Comment by oliver on Sa 12 Jun 2010 20:02:08 CEST +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Welche Kernel Version brauchen wir denn? 2.6.20 oder 2.6.21? Wenn +conntrack wichtig ist, dann könnten wir schauen, ob wir die Änderungen +backporten können. + +.. _CommentbycumaonSa12Jun201020:55:43CEST: + +Comment by cuma on Sa 12 Jun 2010 20:55:43 CEST +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +2.6.20 reicht: +`​http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html <http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-kernel.html>`__ + +.. _CommentbymikeonMo26Jul201020:34:33CEST: + +Comment by mike on Mo 26 Jul 2010 20:34:33 CEST +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Schaut euch bitte mal diese stateless Firewall Regeln für ipv6 mit sixxs +Tunnel auf der FritzBox an. Habe ich gerade aus Mangel am conntrack +Modul für meinen alten 2.6.19er Kernel auf der 7170 geschrieben. Über +Kommentare und Verbesserungsvorschläge freue ich mich. Ich weiß selbst +dass es nicht perfekt ist, aber besser so als gar keinen Schutz. + +.. code:: wiki + + # Flush rules + ip6tables -F + + # Set the default policy + ip6tables -P INPUT DROP + ip6tables -P FORWARD DROP + ip6tables -P OUTPUT ACCEPT + + # Allow anything on the local link + ip6tables -A INPUT -i lo -j ACCEPT + ip6tables -A OUTPUT -o lo -j ACCEPT + + # Allow Link-Local addresses + ip6tables -A INPUT -s fe80::/10 -j ACCEPT + + # Allow multicast + ip6tables -A INPUT -s ff00::/8 -j ACCEPT + + # Allow ICMP + ip6tables -A INPUT -p icmpv6 -j ACCEPT + + # Allow INPUT ports from 1-1024 to destination ports 1024-65535 + # Allow FORWARD ports from 1-1024 to destination ports 1024-65535 + # on the sixxs interface + ip6tables -A INPUT -i sixxs -p tcp --sport 1:1024 --dport 1024:65535 -j ACCEPT + ip6tables -A INPUT -i sixxs -p udp --sport 1:1024 --dport 1024:65535 -j ACCEPT + ip6tables -A FORWARD -i sixxs -p tcp --sport 1:1024 --dport 1024:65535 -j ACCEPT + ip6tables -A FORWARD -i sixxs -p udp --sport 1:1024 --dport 1024:65535 -j ACCEPT + + # Allow forwarding of everything coming from _OUR_ + # subnet. In this case: 2a01:aaa:bbb::/48 + # You have to replace this for your config!!! + ip6tables -A FORWARD -s 2a01:aaa:bbb::/48 -j ACCEPT + +AddComment? + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/apache.rst b/wiki/packages/apache.rst new file mode 100644 index 0000000..7a8d3c0 --- /dev/null +++ b/wiki/packages/apache.rst @@ -0,0 +1,250 @@ +packages/apache +=============== +.. _ApacheWebservermitPHPCGI: + +Apache Webserver mit PHP CGI +============================ + +*Mit diesem Paket ist es möglich, den Apache Webserver entweder allein +oder mit zusätzlichem PHP CGI Binary zu erstellen.* + +Apache ist unter Testing zu finden, PHP unter Standard packages. + +Das Paket enthält die minimale Verzeichnisstruktur für Apache + PHP. Die +Konfigurationsdateien bedürfen wahrscheinlich noch einiger Anpassungen +an die jeweiligen Bedürfnisse, bevor das ganze dann entweder manuell auf +ein an die Box angeschlossenes USB-Gerät (USB-Stick, Festplatte) - oder +aber ins Verzeichnis ``root`` (zur Integration ins Firmware-Image) +kopiert werden kann. + +Man kann PHP auch ohne den Apache erstellen; das CGI Binary +(``sapi/cgi/php``) ist anschließend unter packages/php-x.y.z zu finden +(php-cgi) Wer hingegen das CLI Binary (``sapi/cli/php``) benötigt, muss +es sich leider selbst besorgen. + +Beide Pakete, Apache sowohl auch PHP werden standardmäßig dynamisch +gegen die benötigten Bibliotheken gelinkt. Wer statische Binaries +bevorzugt, kann dies jedoch mit entsprechenden Einstellungen anpassen. + +Werden spezielle Features (etwa SSL für Apache, XML Handling in PHP, +etc.) benötigt, müssen die Makefiles entsprechend angepasst werden. +Entsprechende Tipps und Tricks finden sich im +`​Forum <http://www.ip-phone-forum.de/showthread.php?t=127089>`__. + +Das Apache Paket befindet sich nach dem Build in +*packages/apache-x.y.z,* ebenso ist dort die Config für PHP zu finden. +Das PHP Binary wird automatisch in das Firmware Image gepackt, dies ist +auf Grund der Größe nicht zu empfehlen. Besser ist folgende +Vorgehensweise: + +#. Freetz Image ohne Apache und Php erstellen und auf die Box spielen +#. Apache und ev. PHP als statisch gelinkte binaries auswählen und + erneut make ausführen +#. Die Binaries aus *packages/apache-x.y.z* und *packages/php-x.y.z* auf + einen externen Stick packen (das php-cgi sollte in den cgi-bin Ordner + des apache gelegt werden +#. apache.conf bzw httpd.conf im apache binary anpassen, ev. ist es + nötig, dass zwei symlinks erstellt werden dies kann z.B so gelöst + werden + +.. code:: wiki + + ln -s /var/media/ftp/uStor01/apache/logs /var/logs + +Danach kann man die Apache Befehle direkt verwenden (z.B. apachectl +start|stop|restart): + +.. code:: wiki + + /var/media/ftp/uStor01/apache/bin/apachectl start + +**Verwendet man kein selbsterstelltes Binary, so sollte (muss) man +Apache mittels folgendem Befehl starten:** + +.. code:: wiki + + httpd-2.2.4/bin/apachectl -f /Pfad/zur/Apache/Config/httpd.conf -k start + +- Sollte die Website nicht direkt erreichbar sein, bitte unter + apache/logs nachsehen, welche Fehlermeldungen dort ausgegeben werden +- Lässt sich Apache gar nicht erst starten ein chmod -R 777 + /var/media/ftp/uStor01/apache durchführen (evtl. reicht auch nur + chmod -R +x /var/media/ftp/uStor01/apache) +- Wichtig: damit PHP funktioniert müssen folgende Zeilen in die + Apache-Konfiguration eingefügt werden: + +.. code:: wiki + + Action php-script /cgi-bin/php-cgi + AddHandler php-script .php + +Für CGI's muss folgende Zeile hinzugefügt/auskommentiert werden: + +.. code:: wiki + + AddHandler cgi-script .cgi + +Es kann auch eine bereits fertiger Apache2 Binary mit dem oben +beschriebenem PHP Binary verwendet werden. + +Wird z.B. mod_proxy bzw. sogar mod_proxy_html benötigt empfehle ich das +fertige Binary aus diesem +`​Thread <http://www.ip-phone-forum.de/showthread.php?t=103110&p=1730858&viewfull=1#post1730858>`__. + +apache.conf +----------- + +Der User muss auf einen vorhandenen User abgeändert werden (der User +root ist nur bei speziellen Binaries möglich). + +Derzeit (Stand Juli 2011) kann folgendes verwendet werden: + +.. code:: wiki + + User boxusr80 + Group root + +Sollen die .htaccess Dateien verwendet werden, so muss für das +entsprechende Verzeichnis AllowOverride entsprechend angepasst werden +(man kann auch einfach "AllowOverride All" verwenden) + +Hier eine entsprechende Config für ein Verzeichnis (diese ermöglicht +jedem den Zugriff!): + +.. code:: wiki + + <Directory "/var/media/ftp/uStor01/apache/htdocs"> + Options All + AllowOverride All + Order allow,deny + Allowfrom all + </Directory> + + <Directory "/var/media/ftp/uStor01/apache/cgi-bin"> + AllowOverride None + Options ExecCGI + Order allow,deny + Allow from all</Directory> + +.. _Passwortschutzmit.htaccess: + +Passwortschutz mit .htaccess +---------------------------- + + Soll ein Verzeichnis mittels *.htaccess* vor autorisiertem Zugriff + geschützt werden kann folgendes hinzugefügt werden: + +.. code:: wiki + + AuthType + Basic AuthUserFile /path/to/.ht.password !AuthName "Die Website erfordert Zugangsdaten" require valid-user + +.. + + **Wichtig** : im apache Ordner befindet sich htpasswd, mit dem man + die Passwortdatei erstellen kann. + +.. code:: wiki + + htpasswd -c/path/to/.ht.password username + +(Dies erstellt eine neue oder überschreibt die vorhandene Passwortdatei +mit dem angegebenem Usernamen) + +Um Benutzer zur Passwortdatei hinzuzufügen folgendes benutzen: + +.. code:: wiki + + htpasswd/path/to/.ht.password username + +Es ist generell empfehlenswert vor zu schützenden Daten das Kürzel .ht +anzugeben, dadurch bekommt der Benutzer die Datei nicht zu sehen. + +.. _ApachealsProxy: + +Apache als Proxy +---------------- + +Ein guter Einsatzzweck des Apaches ist es, ihn als Proxy zu verwenden. + +Dies kann wie folgt aussehen: Nach extern ist nur der Port 80 +freigegeben. Gibt der user z.B. freetz.meinedomain.at ein, so kommt er +auf das Freetz-Interface bei fritzbox.meinedomain.at auf das +AVM-Interface usw. + +Der Vorteil besteht dabei, dass man nur einen Port nach außen freigeben +muss, und zusätzlich kann man die einzelnen Seiten auch mit einem +Passwort sichern. (Die Fritzbox kann z.B. nicht mehr zurückgesetzt +werden, wenn vorher ein Passwort eingegeben werden muss. + +**Umsetzung:** Nötig ist dafür ein Apache mit dem Modul Proxy. Ich +verwende hierfür das von MaxMuster erstellte +`​Binary <http://www.ip-phone-forum.de/showthread.php?t=103110&p=1737217&viewfull=1#post1737217>`__. + +Die Einrichtung erfolgt wie weiter oben beschrieben. Für jede +zusätzliche Website, welche angezeigt werden soll, muss ein VirtualHost +erstellt werden. Hier eine Beispielkonfiguration um das Freetz-Interface +über freetz.meinedomain.at anzeigen zu lassen: + +.. code:: wiki + + <VirtualHost *:80> + ProxyPreserveHost On + ProxyPass / http://localhost:81/ + ProxyPassReverse / http://localhost:81/ + ServerName freetz.meinedomain.at + <Proxy *> + Order Deny,Allow + Allow from all + </Proxy> + <Location /> + Require valid-user + AuthType basic + AuthName "Passwortgeschuetzt - Login" + AuthUserFile /Pfad/zur/Datei/.htpasswd + </Location> + </VirtualHost> + +Das Location Element bewirkt, dass der Benutzer sich vor dem +Seitenaufbau anmelden muss. + +.. _Sonstiges: + +Sonstiges +--------- + +Sollte jemand auf die Idee kommen, ein CMS auf der Fritzbox laufen zu +lassen, so empfehle ich `​phpSqliteCms <http://phpsqlitecms.net/>`__ +dies ist ein sehr smartes und schnelles CMS welches problemlos auf der +Box läuft (nur die Bildkomprimierung sollte man nicht nutzen).Andere CMS +wie Joomla!, Kajona, oder gar Drupal sollte man aufgrund der geringen +Systemleistung der `FritzBox </search/opensearch?q=wiki%3AFritzBox>`__ +vergessen. Außer man kann mit Seitenaufbauzeiten von 1-3 Minuten leben +(dafür muss die php.ini angepasst werden). + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Forumsdiskussion <http://www.ip-phone-forum.de/showthread.php?t=127089>`__ + mit Tipps und Tricks zu diesem Paket +- `​Homepage <http://httpd.apache.org/>`__ des Apache Webservers +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Apache_HTTP_Server>`__ zum + Apache Webserver +- `​Homepage <http://www.apache.org/>`__ der Apache Software Foundation +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Apache_Software_Foundation>`__ + zur Apache Software Foundation +- `​Apache Wiki <http://wiki.apache.org/general/>`__ +- `​PHP Homepage <http://de.php.net>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Php>`__ zu PHP +- `​Apache 1.3.37 und PHP 5.2.0 CGI auf der + FritzBox <http://www.xobztirf.de/selfsite.php?aktion=Apache%20und%20PHP>`__ + +- Tags +- `daemons </tags/daemons>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/asterisk.rst b/wiki/packages/asterisk.rst new file mode 100644 index 0000000..8f132e5 --- /dev/null +++ b/wiki/packages/asterisk.rst @@ -0,0 +1,10 @@ +packages/asterisk +================= +.. _Asterisk: + +Asterisk +======== + +Das Package befindet sich noch in der Entwicklung + + {} diff --git a/wiki/packages/authorized-keys.en.rst b/wiki/packages/authorized-keys.en.rst new file mode 100644 index 0000000..961a7b1 --- /dev/null +++ b/wiki/packages/authorized-keys.en.rst @@ -0,0 +1,18 @@ +packages/authorized-keys.en +=========================== +authorized-keys +--------------- + +The authorized_keys allows you to access the router with pre-shared keys +i.s.o. just a password. To use pre-shared keys you need to generate a +public/private keypair and add the public key to the authorized_keys +file. + + You also need to setup your SSH client for using the pre-shared key. + A good howto for PuTTY can be found + `​here <http://www.unixwiz.net/techtips/putty-openssh.html>`__. + +.. figure:: /screenshots/250.jpg + :alt: Authorized keys setup + + Authorized keys setup diff --git a/wiki/packages/authorized-keys.rst b/wiki/packages/authorized-keys.rst new file mode 100644 index 0000000..8bb46c0 --- /dev/null +++ b/wiki/packages/authorized-keys.rst @@ -0,0 +1,26 @@ +packages/authorized-keys +======================== +authorized_keys +=============== + +Mit dem authorized_keys Package können diese für SSH benötigte Dateien +bearbeitet werden. Es ist im Webinterface unter "SSH" zu finden + +- authorized_keys - enthält öffentliche Schlüssel zur Authentifizierung +- known_hosts - öffentliche Schlüssel zum Prüfen bekannter Server +- id_dsa - private Schlüssel im DSA Format +- id_rsa - private Schlüssel im RSA Format + +Erläuterung zu den privaten Schlüsseln: Die Benutzer-Keys ~/.ssh/id_dsa +und ~/.ssh/id_rsa sind nicht notwendig. Wenn sie vorhanden sind, kann +sich damit der Client gegenüber dem Server ausweisen. Dies ist eine +Alternative zur Eingabe eines Paßwortes zur Anmeldung. Diese beiden +Dateien haben nichts mit den Host-Keys zu tun. Diese sind für den +SSH-Server notwendig, und sie werden automatisch erstellt, wenn sie noch +nicht vorhanden sind. Damit weist sich der Server gegenüber dem Client +aus. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `security </tags/security>`__ diff --git a/wiki/packages/autofs.rst b/wiki/packages/autofs.rst new file mode 100644 index 0000000..bb8c35a --- /dev/null +++ b/wiki/packages/autofs.rst @@ -0,0 +1,106 @@ +packages/autofs +=============== +autofs +====== + +Mit diesem Paket können verschiedene Dateisysteme nach /var/media/autofs +gemountet werden. + +Zweck ist, dass Mountpoints nur eingebunden werden, wenn darauf +zugegriffen wird. Nach einem Timeout ohne Zugriffe werden sie wieder +ausgehängt. Das funktioniert mit allen Dateisystemen und ist besonders +praktisch bei Netzwerk-Freigaben (NFS, CIFS, DAVFS etc.), da der Server, +auf den man zugreifen möchte, nicht bei Start des Freetz-Packages, das +diesen mountet, erreichbar sein muss, sondern nur bei Zugriff. + +.. _OptionaleAufrufparameter: + +Optionale Aufrufparameter +------------------------- + +Zur Fehlersuche empfiehlt sich der Parameter ``-v`` und zusätzlich evtl +``-d``. Die Meldungen werden per `syslogd-cgi <syslogd.html>`__ +ausgegeben. + +.. _Beispielkonfigurationenderauto.conf: + +Beispielkonfigurationen der auto.conf +------------------------------------- + +.. _NFS: + +NFS +~~~ + +Für NFS wird lediglich das Modul nfs.ko benötigt. + +.. code:: wiki + + NFS-SHARE -rw,soft,intr,rsize=8192,wsize=8192 SERVER:/SHARE + +.. _Samba: + +Samba +~~~~~ + +Hierfür wird das Paket `cifsmount <cifsmount.html>`__ benötigt, dessen +Webinterface nicht. + +.. code:: wiki + + SMB-SHARE -fstype=cifs,user=USER,pass=PASS,ro ://SERVER/SHARE + +.. _WebDAV: + +WebDAV +~~~~~~ + +Für WebDAV wird das `davfs2 <davfs2.html>`__-Paket (ohne Webinterface) +benötigt. + +.. code:: wiki + + DAV-SHARE -fstype=davfs,conf=/tmp/flash/autofs/davfs.conf :http\://SERVER + +Außerdem noch diese 2 Dateien je Mountpoint: + +/tmp/flash/autofs/davfs.conf + +.. code:: wiki + + secrets /tmp/flash/autofs/davfs.secrets + ask_auth 0 + #falls benötigt: + #if_match_bug 1 + +/tmp/flash/autofs/davfs.secrets (Dateirechte 600!) + +.. code:: wiki + + http://SERVER USERNAME PASSWORT + +.. _SSHfs: + +SSHfs +~~~~~ + +Es werden die Packages OpenSSH und SSHfs-FUSE benötigt + +.. code:: wiki + + SSH-SHARE -fstype=fuse,rw,allow_other :sshfs\#USER@SERVER\:/ + +Außerdem muss der Server in der known_hosts bekannt sein und in id_rsa +oder id_dsa muss der private Schlüssel hinterlegt sein. Diese Dateien +können mit dem SSH/\ `authorized_keys <authorized-keys.html>`__ Package +bearbeitet werden + +.. _HTTPsFTPsLDAP: + +HTTP(s), FTP(s), LDAP +~~~~~~~~~~~~~~~~~~~~~ + +Momentan nicht möglich, da +`​CurlFtpFS <http://sourceforge.net/projects/curlftpfs/>`__ momentan +nicht in Freetz verfügbar ist. Siehe auch `​archLinux +Wiki <https://wiki.archlinux.org/index.php/Autofs>`__. diff --git a/wiki/packages/avm-firewall.rst b/wiki/packages/avm-firewall.rst new file mode 100644 index 0000000..2c7fb63 --- /dev/null +++ b/wiki/packages/avm-firewall.rst @@ -0,0 +1,243 @@ +packages/avm-firewall +===================== +.. _AVM-firewall-cgi: + +AVM-firewall-cgi +================ + +Das **AVM-firewall-CGI** stellt eine Web-Oberfläche dar, mit der man die +von AVM dem User vorenthaltene integrierte Firewall administrieren kann. +Die Firewall ist ein Bestandteil des "dsld" von AVM, deshalb kann man +diese Firewall nicht wirklich starten oder stoppen, sie läuft eigentlich +immer (solange dsld auf der Box ist). + +.. figure:: /screenshots/10.jpg + :alt: AVM firewall forward rule example + + AVM firewall forward rule example + +Ein paar Worte zu den "Grundlagen" und der Philosophie, die AVM damit +umsetzt: + +- Die Firewall von AVM ist wohl konzipiert als eine "Zusatzfirewall" +- Die "Firewall" ist jeweils vorgeschaltet und wirkt auf Pakete, die + *vom* WAN-Interface kommen oder *zum* WAN gehen. Box-intern wirkt sie + nicht. +- Die Box hat für das WAN-Interface eine zweite (die "eigentliche") + Sicherung: Alle eingehenden Pakete, für die es keinen Eintrag in der + NAT-Tabelle gibt, werden verworfen. + +Diese NAT-Einträge geschehen entweder dynamisch (wenn aus dem LAN ins +Internet zugegriffen wird), oder statisch, wenn Einträge im +"Portforwarding" existieren. Dieses Verfahren gilt immer, auch die +Box-Prozesse selbst akzeptieren keine Pakete, ohne eine solche NAT, +daher gibt es dafür die Portweiterleitungen "auf die Box selbst". + +Die Firewall filtert also nur zusätzlich Pakete heraus, die eigentliche +"Sicherheit" wird über den "NAT-Mechanismus" realisiert. Deshalb ist die +"Default-Einstellung" der Firewall auch für alle nicht verbotenen +Pakete: Permit. + +Wirklich wirksam wird diese Firewall deshalb zum einen, um ausgehend +bestimmte Verbindungen zu blocken, oder aber, wenn man sich "viel Arbeit +macht" und alle benötigten Verbindungen erlaubt und dann die +Default-Regel auf "Deny" stellt. + +Ich persönlich (ich hoffe, auch als "Autor" darf ich das sagen) würde +für tiefergehende Eingriffe eher auf `iptables <iptables.html>`__ +zurückgreifen… + +.. _Feature-Übersicht: + +Feature-Übersicht +----------------- + +.. figure:: /screenshots/100.jpg + :alt: AVM Firewall cgi + + AVM Firewall cgi + +Mit AVM-FIREWALL-CGI kann man direkt über eine Weboberfläche Folgendes +tun: + +- Die von AVM vordefinierten Firewallregeln ändern/löschen +- Eigene Regeln hinzufügen (sehr praktisch um lästiges "nach Hause + telefonieren" von mancher Software im Router zu unterbinden) +- Portforwardings erstellen, die auch auf die Fritz selber (0.0.0.0) + zeigen können.(z.B. für FTP oder webserver Freigaben ins I-Net) + +Die Syntax sollte nicht weiter schwer sein, dafür gibt es ja die +Dropdown-Felder. + +.. _AnwendungdergeändertenRegeln: + +Anwendung der geänderten Regeln +------------------------------- + +Die Tatsache, dass AVM entweder keine Änderungen am Regelwerk vorsieht +(bei der Firewall) oder selbst die Änderungen verwaltet (Forwarding), +erfordert besondere Maßhnahmen, um die in der GUI vorgenommenen +Änderungen auch anzuwenden. Hierfür werden AVM-Dienste neu gestartet, +was zum Crash der Box und sogar zum Reset auf Werkseinstellungen führen +kann, deshalb am Ende der Seite die animierte Grafik zur Warung. + +Um allen Problemen aus dem Weg zu gehen sollte der "Übernehmen" Haken +**nicht** gesetzt werden, sondern die Regeln "nur" abgespeichert und die +Box dann neu gestartet. + +| **Ergänzung zur Trunk-Version, Stand 22.02.2010** In dieser Version + sind jetzt vier Auswahlpunkte zur Übernahme der Regelwerke vorgesehen, + um die beschriebenen Crash-Probleme besser eingrenzen zu können (sihe + Bild unten). Hier eine Kurze Erläuterung dazu: +| Die GUI tangiert zwei AVM Daemons (ctlmgr und dsld) und zwar deshalb, + weil im *dsld* die Regeln tatsächlich wirken, im *ctlmgr*, weil der + die eigene Regelverwaltung macht. + +- In der Freetz-GUI vorgenommenen Änderungen sind der + AVM-"Regelverwaltung" unbekannt. Deshalb muss der *ctlmgr* neu + gestartet werden, um diese Änderunegen dort auch zu verankern. Wird + der ctlmgr nicht neu gestartet, können Änderungen in der AVM-GUI alle + Änderungen in dieser GUI (sowohl in der Firewall als auch im + Forwarding) rückgängig machen. +- Um **Firewall-Änderungen** zu aktivieren, muss der dsld gestoppt und + neu gestartet werden +- Um Änderungen an den **Optionen des dsld** zu aktivieren, ist + ebenfalls ein Neustart des dsld erforderlich +- Um **Portforwarding-Änderungen** zu übernehmen, muss der dsld nicht + komplett neu gestartet werden, es reicht, ihn über ein Signal (HUP) + "anzuweisen", die Regeln neu zu laden und anzuwenden. + +.. figure:: /screenshots/145.png + :alt: AVM firewall - Übernehmen Parameter (Trunk Version) + + AVM firewall - Übernehmen Parameter (Trunk Version) + +.. _DieGefahrvonReboot-Schleifenundwiemandawiederherauskommt: + +Die Gefahr von Reboot-Schleifen und wie man da wieder herauskommt +----------------------------------------------------------------- + +Bei zahlreichen Versuchen mit der Einrichtung von Firewallregeln mit +Hilfe dieses CGI-Paketes hat sich gezeigt, daß man die Box bei +umfangreichen Änderungen dazu bringen kann, immer wieder neu zu starten. +Das geschieht auch bei völlig legitimen Regeln und scheint mit dem +Umfang des Regelsatzes zusammenzuhängen. Subjektiv erscheinen mir +Portsperren unkritischer als IP-Bereichssperren über Subnetzadressen und +-Masken. Aufgetreten ist das bei mir auf einer 7270v3 mit 74.04.88 und +Freetz 1.2 Revision 7500; ein anderer Nutzer berichtete gleiches von +einer 7390. + +Die Ursache des Problems liegt irgendwo im „dsld“ von AVM begraben, der +auch die Firewall-Funktion bereitstellt und ist inziwschen insbesondere +dank `​„MaxMuster“ <http://www.ip-phone-forum.de/member.php?u=62478>`__ +ergründet (siehe dazu die „Literaturhinweise“ aus dem IP-Phone-Forum am +Ende dieser Seite). + +.. _Abhilfe: + +Abhilfe +~~~~~~~ + +AVM hat nach dem Hinweis auf die hier beschriebenen Sachverhalte den +Fehler gefunden und will ihn in der nächsten Laborversion der Firmware +beheben. Die X.05.05-Versionen sind auf jeden Fall noch betroffen. Bis +dahin kann es helfen, wenn man beim Erstellen von Firewall-Regeln die +folgenden Hinweise beachtet. + +Es dürfen nicht mehr als jeweils drei „gleichartige“ Regeln für das +Protokoll „IP“ unmittelbar hintereinander stehen. Die folgenden Typen +sind betroffen: + +- „ip reject […]“ +- „ip deny […]“ +- „ip permit […]“ + +Man muß also nach spätestens drei Zeilen, die mit „ip reject“ beginnen, +mindestens eine andere Zeile einfügen, so daß nie mehr als drei Zeilen +gleichen „Typs“ aufeinanderfolgen. Port-Forward-Regeln und Port-Sperren +scheinen nicht betroffen zu sein, letztere können aber mit den anderen +Zeilen gemischt werden, um den Fehler zu verhindern. Wenn man nicht +genügend „andersartige“ Regeln hat, kann man bereits bestehende +wiederholen oder andere wirkungslose Regeln einfügen. + +Bei zwei 7270 hat diese Vorgehensweise reproduzierbar funktioniert. In +einem Fall, bei der schon erwähnten 7390, scheint das nicht ausreichend +gewesen zu sein. + +.. _AnleitungumeineversehentlichausgelösteReboot-Schleifezubeenden: + +Anleitung, um eine versehentlich ausgelöste Reboot-Schleife zu beenden +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Die folgende Lösung funktioniert nur, wenn tatsächlich eine +Firewall-Änderung die Neustarts verursacht und ist kein Allheilmittel +für Neustart-Schleifen. Sie funktioniert auch nicht, wenn der Router im +Ethernet-Modus läuft, also die ADSL-Verbindung nicht selber aufbaut. +Getestet ist sie nur im gewöhnlichen ADSL-Router-Modus, also ohne +externes Modem. Den Flash-Speicher mit einer Sicherheitskopie zu +überschreiben ist in diesem speziallen Fall unnötig, gleichwohl sollte +man unbedingt eine funktionierende Komplettsicherung und alles nötige +für eine Wiederherstellung bereitliegen haben, wenn man an der +AVM-Firewall Änderungen vornimmt. + +Glücklicherweise erfolgt in dem Fall kein Neustart, wenn man den +ADSL-Verbindungsaufbau unterbindet, das heißt, das ADSL-Kabel vom +Splitter abzieht. Das analoge oder ISDN-Telefonkabel kann +steckenbleiben, man hat also während der Reparaturzeit kein Internet, +wohl aber Telefon zur Verfügung, das Risiko von Experimenten mit der +Firewall ist also kleiner, als man auf den ersten Blick denkt, wenn man +was von „Reboot-Schleifen“ liest. + +.. _WiealsoerkenneichdaßsoeineReboot-Schleifestattfindet: + +Wie also erkenne ich, daß so eine „Reboot-Schleife“ stattfindet? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Der Router zeigt dabei die typischen „Start-Blink-Sequenzen“ der +Leuchtdioden. Wenn man es immer wieder probiert, kommt man zwar kurz ins +Webinterface hinein, aber ein paar Sekunden später „hängt“ es schon +wieder, die Zeit reicht nicht, um die letzten Änderungen rückgängig zu +machen. Das liegt daran, daß alles normal läuft, bis die +Internet-Verbindung aufgebaut wird, dabei stürzt der Kernel dann ab. + +.. _WiebehebeichdasProblemohneFTP-Flash: + +Wie behebe ich das Problem ohne FTP-Flash? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +#. Das ADSL-Kabel vom Splitter ziehen. +#. Warten, bis der Router ordentlich gestartet hat und das Freetz-CGI + wieder läuft. (Das kann etwas dauern, je nachdem welcher Paketumfang + in Freetz installiert ist, kommen nicht alle Programme fast + gleichzeitig hoch.) +#. Die Firewalländerungen zurücknehmen, die den Fehler verursacht haben. +#. Neustart über das Freetz-Webinterface anstoßen. +#. Das ADSL-Kabel wieder einstecken. + +`​Christoph +Franzen <http://www.ip-phone-forum.de/member.php?u=121255>`__ + +.. _Verweise: + +Verweise +-------- + +Im `​IP-Phone-Forum <http://www.ip-phone-forum.de>`__ gibt es zur AVM +Firewall einige Threads, z.B.: + +- `​instabile AVM-Firewall auf + 7270 <http://www.ip-phone-forum.de/showthread.php?t=238901>`__ + (aktueller Diskussions-Thread) +- `​Aufruf zur Dokumentation der internen + Firewall <http://www.ip-phone-forum.de/showthread.php?t=156778>`__ +- `​(NEU) AVM-Firewall package für + Freetz <http://www.ip-phone-forum.de/showthread.php?t=159802>`__ +- `​Blog von + real-riot <http://www.realriot.de/2007/05/die-interne-fritzbox-stateful-firewall_30.html>`__ + +- Tags +- `cgi </tags/cgi>`__ +- `firewall </tags/firewall>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `security </tags/security>`__ diff --git a/wiki/packages/bash.rst b/wiki/packages/bash.rst new file mode 100644 index 0000000..03e52be --- /dev/null +++ b/wiki/packages/bash.rst @@ -0,0 +1,114 @@ +packages/bash +============= +.. _Bash: + +Bash +==== + +Bei der **B**\ ourne **A**\ gain **Sh**\ ell handelt es sich um eine +`​Unix Shell <http://de.wikipedia.org/wiki/Unix-Shell>`__ - oder, anders +ausgedrückt, um einen "Kommandozeilen Interpreter" für Unix- und +Linuxsysteme. Dabei ist die *Bash* nicht einfach irgend eine Shell, +sondern die wohl am meisten verbreitete - und findet sich daher auch auf +fast allen Unix-/Linuxsystemen wieder. *Bash* ist Teil des `​GNU +Projekts <http://de.wikipedia.org/wiki/GNU-Projekt>`__. + +Der Name wurde absichtlich vieldeutig gewählt. So ist die *Bash* voll +kompatible zur originalen *Bourne Shell* (sh) (also "(schon) wieder eine +Bourne Shell", oder die "Wiedergeborene Shell"). Andere leiten den Namen +vom Verb "to bash" (schlagen) oder auch vom Substantiv "bash" (Feier, +Party, Schlag) ab… + +Wie bereits erwähnt, ist die Bash für viele Systeme verfügbar: Unixe, +Linux, `​Cygwin <http://de.wikipedia.org/wiki/Cygwin>`__, +`​MSYS <http://de.wikipedia.org/wiki/MSYS>`__ und sogar die `​Microsoft +Windows Services for +UNIX <http://de.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX>`__ +gehören dazu. Und hiermit natürlich auch die Freetz Box |:-?| + +Hinweis: Die im Folgenden beschriebene manuelle Anpassung des Prompts +ist seit `​Changeset 5803 <http://trac.freetz.org/changeset/5803>`__ +(freetz-devel) nicht mehr nötig, da es dort bereits eingebaut ist. + +Man kann den sog. Prompt anpassen, also das, was jeweils vor dem Cursor +angezeigt wird. Dazu muss man die Variable PS1 anpassen, was man sehr +bequem über das Freetz-WebGUI unter Einstellungen/.profile machen kann. +Die Bash kennt für den Prompt u.a. folgende Variablen für PS1: + +.. code:: wiki + + \h : Host name + \H : Host name inklusive Domain + \d : Datum + \t : time Zeit + \u : User Benutzerkennung + \w : Working directory, aktuelles Arbeitsverzeichnis + \l : Terminalname, zum Beispiel tty1 + \# : Eingabezeilennummer + \\ : Das Zeichen "\" + +So lassen sich im Prompt z.B. auch noch User- und Hostname zusätzlich +zum aktuellen Pfad anzeigen: + +.. code:: wiki + + export PS1="\u@\h \w \$ " + +Das Resultat mit o.g. Beispiel sieht dann so aus: + +.. code:: wiki + + root@fb1 /var/mod/root $ + +Der Host (die Fritzbox) heisst genauso wie es in der Variable +/proc/sys/kernel/hostname steht, hier also "fb1" (Standard ist +"fritz.box"). + +.. _Ash: + +Ash +=== + +Das Ganze funktioniert sowohl für bash (mit diesem Paket installiert) +als auch für ash (Standard in Freetz, ohne zusätzliches Paket), wobei +ash nur folgendes unterstützt: + +.. code:: wiki + + \h : Host name + \u : User Benutzerkennung + \w : Working directory, aktuelles Arbeitsverzeichnis + \# : Eingabezeilennummer + +.. _BashalsLoginshell: + +Bash als Loginshell +=================== + +TODO + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Unix-Shell#Die_Bourne-Again-Shell>`__ +- `​Englischer Wikipedia Artikel <http://en.wikipedia.org/wiki/Bash>`__ + mit umfangreicheren Details +- `​Homepage der Bash <http://www.gnu.org/software/bash/bash.html>`__ +- `​Bash + Guide <http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html>`__ + for Beginners +- `​ABS <http://tldp.org/LDP/abs/html/index.html>`__ - der + **A**\ dvanced **B**\ ash **S**\ cripting Guide +- `​Bash Online Forum <http://bashscripts.org/>`__ +- `​bash - Die Bourne again shell im + LinuxWiki <http://linuxwiki.de/Bash>`__ + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ + +.. |:-?| image:: ../../chrome/wikiextras-icons-16/smiley-confuse.png + diff --git a/wiki/packages/bftpd.rst b/wiki/packages/bftpd.rst new file mode 100644 index 0000000..b0cc7ea --- /dev/null +++ b/wiki/packages/bftpd.rst @@ -0,0 +1,123 @@ +packages/bftpd +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Zusätzliche Benutzer + einrichten <bftpd.html#ZusätzlicheBenutzereinrichten>`__ +#. `Bestehende (persistente) Benutzer + modifizieren <bftpd.html#BestehendepersistenteBenutzermodifizieren>`__ + +.. _Bftpd: + +Bftpd +===== + + "The bftpd program is a small, easy-to-configure FTP server. It + strives to be fast, secure and quick to install/configure." + `​http://bftpd.sourceforge.net/ <http://bftpd.sourceforge.net/>`__ + +Bftpd ist ein kleiner FTP Server. Um den Zugriff auf den FTP-Server mit +einem Passwort zu schützen, kann man wie folgt vorgehen: + +- Anonymer Zugriff auf der Freetz Konfigurations-Seite deaktivieren +- In einer Shell (serielle Konsole, telnet oder dropbear) das Passwort + für den Benutzer ftp ändern: + + .. code:: wiki + + modpasswd ftp + +Nun ist der Zugriff auf den FTP Server nur noch als Benutzer ftp mit dem +vergebenen Passwort möglich. + +.. _ZusätzlicheBenutzereinrichten: + +Zusätzliche Benutzer einrichten +------------------------------- + +|/!\\| Achtung: Der AVM-Dämon ``ctlmgr`` überschreibt die +``/etc/passwd`` bei Änderungen im Webinterface und löscht die angelegten +User. Außerdem ist das Usermanagement von Freetz überarbeitet worden, so +dass jetzt mit ``adduser username -h /var/media/ftp/uStor01`` neue +Benutzer angelegt werden können. Diese Änderung muss anschließend mit +``modusers save; modsave flash`` persistent gemacht werden. + +Über eine kleine Änderung in der ``debug.cfg`` oder mit *crond* können +zusätzliche Benutzer mit frei wählbaren Homeverzeichnissen eingerichtet +werden. + +Auf dieser Seite kann man sich die für die ``/var/tmp/passwd`` +benötigten Zeilen mit Benutzer und Passwort erzeugen lassen: + +.. code:: wiki + + http://home.flash.net/cgi-bin/pw.pl + +Alternativ geht das auch mit dem Unix/Linux Kommando ``htpasswd``. + +Die Syntax sieht dann wie folgt aus: + +.. code:: wiki + + echo "user1:pass1:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd + echo "user2:pass2:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd + echo "user3:pass3:1000:1:ftp user:/var/media/ftp/uStor01/share:/bin/sh" >> /var/tmp/passwd + +Wobei user und pass durch die zuvor zuvor erzeugten User und Passwörter +zu ersetzen sind. Wie auch die Pfadangaben sind das natürlich nur +Beispiele. Man beachte die Pfadangabe auf den USB-Stick im dritten +Beispiel. Der Pfad muss natürlich zum Zeitpunkt des Logins existieren, +sonst gibt es einen Fehler. + +*Anmerkung:* + +- Das Passwort sollte nicht in der ``/etc/passwd``, sondern in der + ``/etc/shadow`` gespeichert werden. Das funktioniert auf der + FritzBox, wie auf jeder üblichen Linux Distribution und ist im + Internet an vielen Stellen dokumentiert. +- Die einzelnen Benutzer erhhalten fortlaufende Benutzer-IDs und nicht, + wie hier, alle Benutzer die selbe ID (hier: 1000). Als group-ID + kann/sollte man die 1 (= Gruppe "users") nehmen, anstelle der 0 (= + Gruppe "root"). + +Den AVM FTP benötigt ihr jetzt nicht mehr. Das Filesystem sollte auf +Lesen und Schreiben ohne Passwörter eingestellt sein. Der bftpd sollte +mit den Optionen "Automatisch starten lassen" und "nicht anonym" +gestartet werden. + +.. _BestehendepersistenteBenutzermodifizieren: + +Bestehende (persistente) Benutzer modifizieren +---------------------------------------------- + +Ergänzung von `​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ vom +13.10.2007: + +Wie man im DS-Mod bis Version ds26-15.2 persistent Benutzer anlegt und +löscht, erkläre ich in den +`How-Tos <../help/howtos/security/user_management.html>`__. Damit hat +man also schon einmal automatisch angelegte Benutzer und Passwörter nach +dem Hochfahren der Box. Die Passworteingabe erfolgt direkt an der +Konsole, man braucht keine externe Seite, die das berechnet. + +Jetzt geht es noch darum, dass das Heimverzeichnis eines Benutzers sowie +seine UID (eindeutige numerische Benutzer-ID) automatisch jedesmal nach +dem Neustart der Box vom DS-Mod vergeben werden, da sie bislang nicht +persistent gespeichert werden (auch das wird sich zu 15.3 ändern). Wie +man nun bestehende Benutzerdaten entsprechend automatisch umbiegt, +beschreibe ich +`​dort <http://www.ip-phone-forum.de/showthread.php?p=958801#post958801>`__ +im Forum. + +- Tags +- `daemons </tags/daemons>`__ +- `filetransfer </tags/filetransfer>`__ +- `ftp </tags/ftp>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/bind.rst b/wiki/packages/bind.rst new file mode 100644 index 0000000..be62405 --- /dev/null +++ b/wiki/packages/bind.rst @@ -0,0 +1,47 @@ +packages/bind +============= +bind +==== + +Mit `​bind <http://isc.org/software/bind>`__ (Berkeley Internet Name +Daemon) kann ein DNS-Server zur IP- und Namensauflösung betrieben +werden. + +named.conf +~~~~~~~~~~ + +Die möglichen Optionen können der Manpage oder den vielen Internetseiten +entnommen werden. + +Minimal *named.conf*: + +.. code:: wiki + + options { + directory "/var/media/ftp/uFlash/bind"; + listen-on port 53 { any; }; + allow-query { any; }; + notify no; + }; + + zone "example.org" in { + type master; + file "example.org"; + }; + +Minimal zone file */var/media/ftp/uFlash/bind/example.org*: + +.. code:: wiki + + $TTL 300 + @ IN SOA @ example.org. ( + 2011032701 ;serial + 300 ;refresh + 300 ;retry + 300 ;expire + 300 ;minimum + ) + + IN NS ns.example.org. + * IN A 85.214.209.234 + diff --git a/wiki/packages/bip.rst b/wiki/packages/bip.rst new file mode 100644 index 0000000..2c274b8 --- /dev/null +++ b/wiki/packages/bip.rst @@ -0,0 +1,111 @@ +packages/bip +============ +.. _BIP: + +BIP +=== + +Der Bip `​IRC <http://de.wikipedia.org/wiki/Internet_Relay_Chat>`__ +Proxy ist eine Anwendung, die, wie das Wort +`​Proxy <http://de.wikipedia.org/wiki/Proxy_(Rechnernetz)>`__ es bereits +andeutet, zwischen IRC Server und IRC Client sitzt. Er hält quasi die +permanente Verbindung zu dem/den IRC Server(n), kann die Logs +zwischenspeichern, und selbige sogar an einen sich (wieder-) +verbindenden Client weiterleiten - was es z.B. erlaubt, selbige zwischen +mehreren Rechnern auszutauschen (sofern man selbst mehrere Rechner zum +Chatten benutzt). + +Mehr Informationen gibt es auf der `​BIP +Homepage <http://bip.milkypond.org/>`__. + +.. _Auswahl: + +Auswahl +------- + +.. figure:: /screenshots/212.png + :alt: Menuconfig + + Menuconfig + +Wenn man einen Bip-Proxy auf seiner Fritzbox betreiben möchte muss +dieser beim Bau eines Freetz-Image im Menuconfig ausgewählt werden: + +Zu finden ist dieser im **menuconfig** unter : **Package selection** =⇒ +**Testing** =⇒ Bip 0.8.x + +| + +.. _Konfiguration: + +Konfiguration +------------- + +.. figure:: /screenshots/213.png + :alt: Menu in der Fritzbox + + Menu in der Fritzbox + +Im Main-Menu des Bip-Proxy müssen dann noch ein beliebiger Port (im +Beispiel haben wir die 2222 gewählt) und der Speicherort des Log-Files +angegeben werden. Des weiteren müsst ihr noch die **user.config** von +hier : + +.. code:: wiki + + ###client_side_ssl = false; + ### Networks + network { + name = "freetz"; + server { host = "random.ircd.de"; port = 6667; }; + }; + ### Users + user { + name = "Mustermann"; + password = "xxxxxxxxxxxxxxxxxxxxxxxx"; + default_nick = ""; + default_user = "Mustermann"; + default_realname = "Mustermann"; + connection { + name = "freetz"; + network = "freetz"; + # away_nick = "Mustermann-away"; + follow_nick = false; + ignore_first_nick = false; + channel { + name = "#fritzbox"; + }; + + }; + + }; + +kopieren und nach Euren Wünschen anpassen. Geändert werden muss +eigentlich nur der **Mustermann** gegen Euren **Usernamen**. Unter +**Networks** kann auch folgender Eintrag genutzt werden: + +.. code:: wiki + + network { + name = "freetz"; + server { host = "irc.fu-berlin.de"; port = 6667; }; + }; + +**Hinweis:** Nach **jeder** Änderungen an der **user.config** und +drücken des Button **Übernehmen** muss man ca. 5 Minuten warten bis sich +der User wieder am IRC-Chanel anmelden kann. + +.. _Links: + +Links +----- + +Hier findet man noch weitere Erläuterungen zu BIP und welche +Einstellungen man beim IRC-Client vornehmen muss: +`​http://nerderati.com/2010/11/perpetual-irc-the-proxy-edition/ <http://nerderati.com/2010/11/perpetual-irc-the-proxy-edition/>`__ + +- Tags +- `im </tags/im>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `proxy </tags/proxy>`__ diff --git a/wiki/packages/bird.rst b/wiki/packages/bird.rst new file mode 100644 index 0000000..18a6c0e --- /dev/null +++ b/wiki/packages/bird.rst @@ -0,0 +1,20 @@ +packages/bird +============= +.. _Bird: + +Bird +==== + +**Bird** ist die OpenSource Implementierung eines TCP/IP Routing Daemons +für Unix/Linux Systeme. Es unterstützt sowohl IPv4 als auch IPv6, +multiple Routing-Tabellen, BGP, RIP und OSPF Routing-Protokolle, sowie +statische Routen. + +Nähere Informationen finden sich auf der +`​Homepage <http://bird.network.cz/>`__ des Projekts. + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ diff --git a/wiki/packages/bluez-utils.rst b/wiki/packages/bluez-utils.rst new file mode 100644 index 0000000..db94727 --- /dev/null +++ b/wiki/packages/bluez-utils.rst @@ -0,0 +1,21 @@ +packages/bluez-utils +==================== +.. _Bluez-Utils: + +Bluez-Utils +=========== + +Das Paket enthält Werkzeuge und Systemdienste zur Benutzung von +Bluetooth Geräten. + +BlueZ ist der offizielle Linux-Bluetooth-Protokollstack. Es ist ein +Open-Source-Projekt, das unter der GNU General Public License (GPL) +verteilt wird. Nähere Details finden sich auf der `​Projekt +Homepage <http://www.bluez.org/>`__. + +- Tags +- `bluetooth </tags/bluetooth>`__ +- `bluez </tags/bluez>`__ +- `hardware </tags/hardware>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/bluez.rst b/wiki/packages/bluez.rst new file mode 100644 index 0000000..d32cd93 --- /dev/null +++ b/wiki/packages/bluez.rst @@ -0,0 +1,172 @@ +packages/bluez +============== +.. _BlueZ4.x: + +BlueZ 4.x +========= + +Official Linux Bluetooth protocol stack + +.. _General: + +General +------- + +It was quite an adventure to get this working, without any BlueZ +documentation, but here we go |:-)| + +.. _PAN: + +PAN +--- + +Freetz PAN Server: + +- Use provided default config +- Start/enable DBUS & BlueZ + +(Android) PANU Client: + +- Pair your device with *fritz.fonwlan.box-0* +- Make your device discoverable + +Freetz PAN Server: + +- Find your device + + .. code:: wiki + + hcitool scan + +- Trust your device: + + .. code:: wiki + + dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0/dev_YY_YY_YY_YY_YY_YY org.bluez.Device.SetProperty string:Trusted variant:boolean:true + +- Restart BlueZ to persist data + +Android PANU Client: + +- Make the connection (Android: root required!): + + .. code:: wiki + + hcitool scan + pand --connect xx:xx:xx:xx:xx:xx + sleep 7 + netcfg bnep0 dhcp + setprop net.dns1 8.8.8.8 + ifconfig rmnet0 up # trick to make apps think there is an internet connection + +Ignore any message from the Android browser that there is no connection +|:-)| + +Automation: use `​Script +Manager <https://market.android.com/details?id=os.tools.scriptmanager>`__ or +use \ `​NC Bluetooth +Tether <https://market.android.com/details?id=earlmagnus.nctether>`__. + +Ubuntu client: + +- Make the connection: + + .. code:: wiki + + hcitool scan + sudo pand --connect xx:xx:xx:xx:xx:xx + sudo ifconfig bnep0 up + sudo dhclient bnep0 + +*Tested with a Sitecom CN-517 USB dongle (pretty generic) through a +USB-hub on a 7270v2 international with the (patched) btusb module and an +Android device with a*\ `​CyanogenMod +7 <http://www.cyanogenmod.com/>`__\ *ROM and with a Ubuntu Lucid Lynx +client.* + +lsusb: + +.. code:: wiki + + VID=0a12 + PID=0001 + CLS=224 + SCL=01 + SPEED='full' + VER='2.0' + ISOC=1 + INUM=2 + ICLS1=224 + ISCL1=01 + ICLS2=224 + ISCL2=01 + +*Not tested with hci_usb (earlier kernels; will probably work) and bfusb +(AVM - BlueFRITZ! USB).* + +.. _DUN: + +DUN +--- + +- Select 'Replace kernel' +- Select package pppd (Standard packages, Point-to-Point) +- I have no idea how DUN works, so maybe someone else can write the + rest of the guide |:-)| + +.. _DBUS: + +DBUS +---- + +See all interface methods: + +.. code:: wiki + + dbus-send --system --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0 org.freedesktop.DBus.Introspectable.Introspect + +See the properties of your adapter: + +.. code:: wiki + + dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0 org.bluez.Adapter.GetProperties + +See the properties of your device: + +.. code:: wiki + + dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0/dev_YY_YY_YY_YY_YY_YY org.bluez.Device.GetProperties + +.. _Sizes: + +Sizes +----- + +.. code:: wiki + + libbluetooth ................. 55.07 Kb + libdbus ...................... 86.59 Kb + libexpat ..................... 43.79 Kb + libglib_2 .................... 237.86 Kb + libpcre ...................... 60.75 Kb + + crc16.ko ..................... 1.27 Kb + btusb.ko ..................... 6.25 Kb + bnep.ko ...................... 7.30 Kb + bluetooth.ko ................. 27.58 Kb + l2cap.ko ..................... 17.07 Kb + rfcomm.ko .................... 22.10 Kb + + dbus-1.5.8 ................... 143.21 Kb + bluez-4.101 .................. 285.39 Kb + +.. _Links: + +Links +----- + +- `​BlueZ <http://www.bluez.org/>`__ +- `Bluez 4.98 patch </attachment/ticket/602/>`__ + +.. |:-)| image:: ../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/packages/br2684ctl.en.rst b/wiki/packages/br2684ctl.en.rst new file mode 100644 index 0000000..4e90b08 --- /dev/null +++ b/wiki/packages/br2684ctl.en.rst @@ -0,0 +1,230 @@ +packages/br2684ctl.en +===================== +br2684ctl +--------- + +| This package allows you to connect to your ISP via additional virtual + circuits (ATM PVC's). +| For some (older) setup's multiple virtual circuits are used to ofer + Triple Play services where for each service (e.g High speed Internet, + Broadband TV and Voice) a virtual circuit is used. +| More modern networks often used one converged IP network with only one + virtual circuits. +| More info on the br2684ctl package can be found at: +| `​https://home.regit.org/technical-articles/atm-bridging/ <https://home.regit.org/technical-articles/atm-bridging/>`__ +| `​http://http://home.sch.bme.hu/~cell/br2684/USAGE.br2684 <http://http://home.sch.bme.hu/~cell/br2684/USAGE.br2684>`__ + +| Source: +| `​http://home.sch.bme.hu/~cell/br2684/dist/010402/brctl-010226.c <http://home.sch.bme.hu/~cell/br2684/dist/010402/brctl-010226.c>`__ +| Patch: +| `​http://home.sch.bme.hu/~cell/br2684/dist/010402/br2684-against2.4.2.diff <http://home.sch.bme.hu/~cell/br2684/dist/010402/br2684-against2.4.2.diff>`__ + +.. _CreatingaFreetzImagewithbr2684ctl: + +Creating a Freetz Image with br2684ctl +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +I used Freetz-1.2 for a FritzBox 7170. + +| Follow the directions from the `Wiki <../index.en.html#>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +.. code:: wiki + + Package selection ---> Testing ---> [*] br2684ctl (binary only) + +| For Client DHCP you can additionally enable the following option. +| You can also add a script (default.script) to the image at compile + time (see below for details). + +.. code:: wiki + + Advanced options ---> BusyBox options ---> [*] udhcpc + +| + +.. _Configuringbr2684ctl: + +Configuring br2684ctl +~~~~~~~~~~~~~~~~~~~~~ + +There is no GUI interface for br2684ctl. There is only one executable +with a number of mandatory and optional parameters. + +.. code:: wiki + + br2684ctl [-c n -e 0|1 -b -s buf_size [-q qos] -a [itf.]vpi.vci ] + +| ATM PVC number, VPI and VCI. +| -a [itf.]vpi.vci + +| BR2684 interface number such as nas0, nas1,…, where the number is n + (e.g. nas0 is -c 0). +| This is a mandatory parameter. +| -c n + +| Encapsulation method. 0=LLC, 1=VC mux. default is 0, LLC +| This is a mandatory parameter. +| -e 0|1 + +| Running background. Default (parameter ommited) is foreground. +| -b + +| Send buffer size. Default is 8192. +| -s buf_size + +| Optionally there are QoS parameters for traffic shaping, and cell rate + limiting. +| -q <shaping type>,<encapsulation + type>:max_pcr≤rate>,min_pcr≤rate>,max_sdu≤frame-size> +| shaping type: {ubr|cbr} +| encapsulation type: all5 +| maximum peak cell rate: rate in [M|k]bps +| minimum peak cell rate: rate in [M|k]bps +| maximum service delivery unit: maximum frame size that is segmented in + the ATM cells. + +| Example: +| Creating ATM PvC 0/32 in the background with interface name nas0 using + LLC encapsulation. + +.. code:: wiki + + br2684ctl -b -e 0 -c 0 -a 0.32 + +.. code:: wiki + + br2684ctl -e 0 -c 0 -q ubr,aal5:max_pcr=5Mbps,min_pcr=320kbps,max_sdu=1524 -a 0.32 + +| After the interface is created you can see it with the following + command: + +.. code:: wiki + + ifconfig -a + +| or + +.. code:: wiki + + ifconfig nas0 + +Some details can be viewed at: + +.. code:: wiki + + cd /proc/net/atm/ + ls -la + cat <file> + +| + +.. _ObtainIPconfigurationviaDHCP: + +Obtain IP configuration via DHCP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| The udhcpc package, part of BusyBox, is a DHCP Client program, that + obtains configuration parameters from a DHCP Server. +| Udhcpc configures enviroment variables with the parameter values + obtained from the DHCP Server. +| A configure script (e.g. a shell script) can make use of these + variables to configure an interface, DNS servers, NTP Servers, and a + lot of other possible information. + +| Freetz doesn't have a (default) DHCP configure script. +| Here an example script to just configure an IP address with broadcast + address and subnetmask. +| To include the script (default.script) at compile time follow the + following steps: + +.. code:: wiki + + cd ~/freetz-x.y/addon/ + echo default.script >> static.pkg + mkdir -p default.script/root/etc/dhcp/ + vi default.script/root/etc/dhcp/default.script + + #!/bin/sh + + [ -z "$1" ] && "Error: should be run by udhcpc" && exit 1 + + case "$1" in + deconfig) + ifconfig $interface 0.0.0.0 + # echo interface = $interface + ;; + leasefail) + ;; + nak) + ;; + renew|bound) + ifconfig $interface $ip \ + broadcast $broadcast \ + netmask $subnet + # echo interface = $interface + # echo ip address = $ip + # echo subnet = $subnet + # echo netmask = ${subnet:-255.255.255.0} + ;; + esac + +Enable the interface: + +.. code:: wiki + + ifconfig nas0 up + +Obtain ip configuration info via DHCP: + +.. code:: wiki + + udhcpc -i nas0 -s /etc/dhcp/default.script + +.. _DebugingtheDHCPprocess: + +Debuging the DHCP process +~~~~~~~~~~~~~~~~~~~~~~~~~ + +To obtain additional debug information from the udhcpc package you need +to enable this, and recompile a new image. + +.. code:: wiki + + cd ~/freetz-x.y/source/target-mipsel_uClibc-0.9.29/ref-8mb/busybox-1.18.5 + vi .config + +In the .config file search for CONFIG_UDHCP_DEBUG=0 and change it to: + +.. code:: wiki + + CONFIG_UDHCP_DEBUG=3 + +Initiate recompile of the busybox packages during the next make: + +.. code:: wiki + + cd ~/freetz-1.2/ + make busybox-clean + +Compile a new image with: + +.. code:: wiki + + make + +After installing the new image on the FritzBox start the DHCP Client +with: + +.. code:: wiki + + udhcpc -i nas0 -s /etc/dhcp/default.script -vvv + +.. + + the number of v's determines the detail of debug packages. diff --git a/wiki/packages/br2684ctl.rst b/wiki/packages/br2684ctl.rst new file mode 100644 index 0000000..4006b1c --- /dev/null +++ b/wiki/packages/br2684ctl.rst @@ -0,0 +1,30 @@ +packages/br2684ctl +================== +br2684ctl +========= + +Bei diesem Paket handelt es sich um Tools für die Konfiguration des ATM +Ethernet Bridging. Die "Nummer" im Namen kommt von der Definition des +ATM Bridging +(`​RFC2684 <http://www.ietf.org/rfc/rfc2684.txt?number=2684>`__), welche +als hauptsächliches Anwendungsgebiet xDSL Verbindungen nennt. Man könnte +das Ganze auch "Ethernet over ATM" nennen, oder es mit diversen "Tunnel" +Methoden vergleichen. + +.. _WeiterführendeInformationen: + +Weiterführende Informationen +---------------------------- + +- `​ATM Bridging <https://home.regit.org/?s=br2684>`__ - hier finden + sich auch Anwendungsbeispiele für br2684ctl +- `​RFC2684 <http://www.ietf.org/rfc/rfc2684.txt?number=2684>`__ +- `​Homepage of 2684 bridge under + Linux <http://home.sch.bme.hu/~cell/br2684/>`__ +- `​Tutorial written by Joonbum + Byun <http://home.sch.bme.hu/~cell/br2684/USAGE.br2684>`__ +- `​Linux ATM Howto <http://www.tldp.org/HOWTO/ATM-Linux-HOWTO/>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/bridge-utils.rst b/wiki/packages/bridge-utils.rst new file mode 100644 index 0000000..f1836d5 --- /dev/null +++ b/wiki/packages/bridge-utils.rst @@ -0,0 +1,32 @@ +packages/bridge-utils +===================== +bridge-utils +============ + +Dieses Paket beinhaltet Utilities für die Konfiguration des `​IEEE +802.1d <http://standards.ieee.org/getieee802/>`__ Ethernet Bridging +(inkl. Spanning Tree Protokoll) in Linux-Kernels 2.4 oder höher. + +Mittels einer `​Ethernet +Bridge <http://de.wikipedia.org/wiki/Bridge_(Netzwerk)>`__ lassen sich +mehrere Ethernet Geräte (üblicherweise Netzwerkkarten) transparent +verbinden, sodass Hosts, die mit einem Netzwerk-Gerät verbunden sind, +Hosts des anderen Netzwerk-Gerätes direkt sehen können (als wären sie im +eigenen Netz). + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Sourceforge + Projekt-Seite <http://sourceforge.net/projects/bridge/>`__ +- `​Project Homepage <http://www.linuxfoundation.org/en/Net:Bridge>`__ + including `FAQs <../FAQ.html>`__ a.o.m. +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Bridge_(Netzwerk)>`__ zu Bridge + (Netzwerk) + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/callmonitor.rst b/wiki/packages/callmonitor.rst new file mode 100644 index 0000000..4f8831f --- /dev/null +++ b/wiki/packages/callmonitor.rst @@ -0,0 +1,142 @@ +packages/callmonitor +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <callmonitor.html#Callmonitor>`__ + + #. `Installation <callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <callmonitor/config.html#Konfiguration>`__ + + #. `Basiskonfiguration <callmonitor/config.html#Basiskonfiguration>`__ + #. `Listeners + definieren <callmonitor/config.html#Listenersdefinieren>`__ + #. `Testanruf <callmonitor/config.html#Testanruf>`__ + #. `Fehlersuche <callmonitor/config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <callmonitor/listeners.html#RegelnListeners>`__ + + #. `Format <callmonitor/listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <callmonitor/listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <callmonitor/listeners.html#FormatierungderAusgaben>`__ + #. `Muster für + Ereignisse <callmonitor/listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <callmonitor/listeners.html#Beispiele:>`__ + +#. `Ereignisse <callmonitor/events.html#Ereignisse>`__ +#. `Aktionen <callmonitor/actions.html#Aktionen>`__ + + #. `Benachrichtigen <callmonitor/actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <callmonitor/actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <callmonitor/actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <callmonitor/actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party + Software <callmonitor/actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch + (Callers) <callmonitor/phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <callmonitor/maintenance.html#Wartung>`__ +#. `Rückwärtssuche <callmonitor/reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <callmonitor/testcall.html#Testanruf>`__ + +.. _Callmonitor: + +Callmonitor +=========== + +Der Callmonitor ermöglicht es, bei eingehenden Anrufen auf einer +FritzBox beliebige `Aktionen <callmonitor/actions.html>`__ auszuführen, +abhängig davon, wer wen anruft. Beliebt sind das Senden von +Benachrichtigungen an verschiedenste Arten von "Boxen" (TV/Sat-Receiver, +Spielekonsolen, PCs) oder das Aufwecken von Geräten (Wake on LAN). + +Dabei kann über eine Rückwärtssuche in Internet-Telefonbüchern oft auch +der Name des Anrufers angezeigt werden. + +Das Besondere an diesem Callmonitor (leider gibt es viele Projekte mit +ähnlichem Namen) ist, dass er komplett auf der Fritzbox läuft; es ist +also nicht nötig, weitere Rechner eingeschaltet zu haben. + +.. _Installation: + +Installation +------------ + +.. figure:: /screenshots/6.png + :alt: Callmonitor WebInterface + + Callmonitor WebInterface + +Der Callmonitor ist als Paket im Rahmen von `Freetz <../index.html>`__ +(`​Forum <http://www.ip-phone-forum.de/showthread.php?t=85371>`__) +realisiert, und kann bei dessen Installation einfach ausgewählt werden. + +Das Callmonitor-Paket kann nicht als `Addon-Paket +installiert <../help/howtos/development/install_addon.html>`__ werden. + +.. _InstallationneuerVersionen: + +Installation neuer Versionen +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Bitte beachtet: Mit Freetz 1.1 können nur Callmonitor-Version bis 1.15 +eingesetzt werden. Callmonitor 1.15.1 und höher benötigen Änderungen, +die in Freetz 1.2 oder der Freetz-Entwicklerversion enthalten sind. + +Zum Einbinden der aktuellsten Version aus der Entwicklerversion in +Freetz 1.2 kann man so vorgehen (im Wurzelverzeichnis von Freetz): + +.. code:: wiki + + svn switch http://svn.freetz.org/trunk/make/callmonitor/callmonitor.mk make/callmonitor/callmonitor.mk + +.. _Konfiguration: + +Konfiguration +------------- + +Zur Konfiguration gibt es im Web-Interface von Freetz mehrere neue +Seiten, darunter: + +- `Pakete/Callmonitor <callmonitor/config.html>`__: Optionen zum + Startverhalten, zur + `Rückwärtssuche <callmonitor/reverse_search.html>`__ etc. +- `Einstellungen/Regeln <callmonitor/listeners.html>`__: Die + `Aktionen <callmonitor/actions.html>`__, die bei bestimmten Mustern + von Quell- und Zielrufnummer ausgeführt werden sollen. +- `Einstellungen/Telefonbuch <callmonitor/phonebook.html>`__: Das + dauerhaft (im Flash) gespeicherte Telefonbuch. Dies kann zusätzlich + zum AVM-Telefonbuch verwendet werden. + +Außerdem lässt sich über das Web-Interface die Regelmenge mit +vorgetäuschten `Testanrufen <callmonitor/testcall.html>`__ testen (es +wird bei euch nicht klingeln; die Testanrufe sieht nur der Callmonitor). +Das ist recht praktisch bei der Fehlersuche. Es existiert außerdem noch +eine Seite zur `Wartung <callmonitor/maintenance.html>`__ des +Telefonbuchs. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `FAQ <callmonitor/faq.html>`__ +- `​Entwicklungsseite bei + Sourceforge <http://sourceforge.net/projects/callmonitor/>`__ +- `​Forumsseite für Fragen und + Diskussionen <http://www.ip-phone-forum.de/showthread.php?t=191723>`__ + +- Tags +- `packages <../packages.html>`__ +- `phone </tags/phone>`__ diff --git a/wiki/packages/callmonitor/actions.rst b/wiki/packages/callmonitor/actions.rst new file mode 100644 index 0000000..a989d51 --- /dev/null +++ b/wiki/packages/callmonitor/actions.rst @@ -0,0 +1,236 @@ +packages/callmonitor/actions +============================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Aktionen: + +Aktionen +======== + +Aktionen werden anhand von Regeln ausgeführt, die in den sogenannten +`Listeners <listeners.html>`__ definiert sind. Dabei kann beliebiger der +FritzBox bekannter Shell-Code (Programme/Befehle) ausgeführt werden. Die +Aktionen müssen im Listener als Parameter <action> übergeben werden +(siehe Beispielbild unten für die Aktion *dboxpopup*), wobei +`Umgebungsvariablen <listeners.html#ereignis-informationen_fuer_aktionen>`__ +mit Informationen über den auslösenden Anruf verwendet werden können. + +Einige Standardfunktionen werden direkt vom callmonitor bereitgestellt +und sind im Folgenden beschrieben. Mit dem Script *callaction* lassen +sich alle Callmonitor-Aktionen von außerhalb (z.B. von der Kommandozeile +zum Testen) aus aufrufen. + +Wenn man in Verbindung mit *checkmaild* neu eingetroffene Emails auf +einem VDR ausgeben will, kann man das machen, indem man die Datei +``/var/mod/etc/maillog.cfg`` z.B. wie folgt anlegt: + +:: + + #!/bin/sh + # neue Email empfangen + if [ "$1" = "0" ]; + then + callaction vdr m741 "Am $6 um $7 Uhr schrieb $8: $9" + fi + +Hintergrundinfos zur Datei ``maillog.cfg`` und dem checkmaild Paket kann +man auch hier im Wiki unter `checkmaild <../checkmaild.html>`__ +nachlesen. + +.. _Benachrichtigen: + +Benachrichtigen +--------------- + +Benachrichtigungen sind dafür da, eingehende und/oder verpasste Anrufe +über verschiedene Kommunikationswege und auf verschiedenen Geräten zu +signalisieren. + +Die vorgegebenen Standardtexte der Funktionen können an die `eigenen +Bedürfnisse angepasst <adapt_messages.html>`__ werden. + +Funktionen, die auf `getmsg <actions/getmsg.html>`__ basieren: + +- `DGStation Relook 400S <actions/relook.html>`__ +- `DBox <actions/dbox.html>`__ +- `DreamBox <actions/dreambox.html>`__ +- `XBox <actions/xbox.html>`__ +- `Freecom MusicPal <actions/musicpal.html>`__ + +Falls nötig, können beim Aufruf auch `Passwörter und +Benutzernamen <actions/password.html>`__ angegeben werden. + +Funktionen, die auf `rawmsg <actions/rawmsg.html>`__ basieren: + +- `SoundBridge <actions/soundbridge.html>`__ von Roku +- `VDR <actions/vdr.html>`__ +- `YAC <actions/yac.html>`__: Yet Another Caller ID Program + +Benachrichtung auf ganz anderem Wege: + +- `mailmessage <actions/mail.html>`__: Benachrichtigung per Mail +- `Samsung TV <actions/samsung.html>`__: Benachrichtigung + SOAP-Nachricht +- `Snarl <actions/snarl.html>`__: Benachrichtigung für Snarl + +.. _WählenWeckenKonfigurieren: + +Wählen, Wecken, Konfigurieren +----------------------------- + +- `Wählhilfe <actions/dial.html>`__: Ansprechen der Wählhilfe der + FritzBox +- `WOL <actions/wol.html>`__: Wake on LAN +- `Fritz!Box-Konfiguration <actions/config.html>`__: WLAN, SIP, + Portforwarding ein- und ausschalten + +.. _EigeneAktionen: + +Eigene Aktionen +--------------- + +Mit den beiden Basisfunktionen *getmsg* und *rawmsg* können auf den +Zielmaschinen nahezu beliebige Funktionen ausgeführt werden — sofern sie +dort entsprechend realisiert sind (Start über den Webserver oder +Lauschen an einem TCP-Port). + +- `getmsg <actions/getmsg.html>`__: HTTP-GET-Requests +- `rawmsg <actions/rawmsg.html>`__: Nachrichten über "rohe" + TCP-Verbindungen +- `Aufruf <actions/call.html>`__: Hinweise zu Funktionsaufrufen + +Auch andere, selbst-definierte Aktionen sind möglich: + +- `Selbst-definierte Aktionen <actions/self-defined.html>`__ + +.. _ListeverfügbarerAktionen: + +Liste verfügbarer Aktionen +-------------------------- + +(generiert) + +#. `HTTP-Requests (getmsg) <actions/getmsg.html#HTTP-Requestsgetmsg>`__ + + #. `Syntax: <actions/getmsg.html#Syntax:>`__ + #. `Beispiel: <actions/getmsg.html#Beispiel:>`__ + +#. `DBox2 <actions/dbox.html#DBox2>`__ + + #. `DBox2 mit Neutrino + Image <actions/dbox.html#DBox2mitNeutrinoImage>`__ + #. `DBox2 mit Enigma Image <actions/dbox.html#DBox2mitEnigmaImage>`__ + +#. `Wählhilfe <actions/dial.html#Wählhilfe>`__ +#. + + #. `Listener-Eintrag: <actions/snarl.html#Listener-Eintrag:>`__ + #. `Screenshots: <actions/snarl.html#Screenshots:>`__ + +#. `Selbstdefinierte + Aktionen <actions/self-defined.html#SelbstdefinierteAktionen>`__ +#. `Benutzernamen und + Passwörter <actions/password.html#BenutzernamenundPasswörter>`__ + + #. `Beispiel <actions/password.html#Beispiel>`__ + +#. `Freecom MusicPal <actions/musicpal.html#FreecomMusicPal>`__ +#. `Roku SoundBridge <actions/soundbridge.html#RokuSoundBridge>`__ +#. `VDR <actions/vdr.html#VDR>`__ +#. `Benachrichtigung auf einem Samsung + TV <actions/samsung.html#BenachrichtigungaufeinemSamsungTV>`__ +#. `XBox <actions/xbox.html#XBox>`__ + + #. `Anpassungen auf der + XBox <actions/xbox.html#AnpassungenaufderXBox>`__ + #. `Weitere Möglichkeiten <actions/xbox.html#WeitereMöglichkeiten>`__ + +#. `YAC <actions/yac.html#YAC>`__ +#. `Allgemeine Hinweise zu + Funktionsaufrufen <actions/call.html#AllgemeineHinweisezuFunktionsaufrufen>`__ +#. `FritzBox-Konfiguration <actions/config.html#FritzBox-Konfiguration>`__ + + #. `Portforwarding <actions/config.html#Portforwarding>`__ + #. `WLAN <actions/config.html#WLAN>`__ + #. `DECT <actions/config.html#DECT>`__ + #. `SIP <actions/config.html#SIP>`__ + #. `Rufumleitung <actions/config.html#Rufumleitung>`__ + #. `Abfragen von + Konfigurationswerten <actions/config.html#AbfragenvonKonfigurationswerten>`__ + +#. `Alternative <actions/config.html#Alternative>`__ +#. `DreamBox <actions/dreambox.html#DreamBox>`__ + + #. `Dreambox mit Enigma + 1 <actions/dreambox.html#DreamboxmitEnigma1>`__ + + #. `StandBy Check <actions/dreambox.html#StandByCheck>`__ + + #. `DreamBox mit Enigma + 2 <actions/dreambox.html#DreamBoxmitEnigma2>`__ + +#. `E-Mail-Benachrichtigung <actions/mail.html#E-Mail-Benachrichtigung>`__ + + #. `mail <actions/mail.html#mail>`__ + #. `Ersatz für + mail_missed_call <actions/mail.html#Ersatzfürmail_missed_call>`__ + +#. `DGStation Relook 400S <actions/relook.html#DGStationRelook400S>`__ +#. `Einfache TCP-Verbindungen + (rawmsg) <actions/rawmsg.html#EinfacheTCP-Verbindungenrawmsg>`__ +#. `Wake on LAN <actions/wol.html#WakeonLAN>`__ + +.. _Third-PartySoftware: + +Third-Party Software +-------------------- + +CallMon2: auf Windows und Linux laufendes Perl-Skript, +`​http://zephyrsoftware.sf.net/ <http://zephyrsoftware.sourceforge.net/?q=fritzbox/callmon2>`__ +(dort genaue Informationen zum Einrichten des ganzen!) + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/actions/call.rst b/wiki/packages/callmonitor/actions/call.rst new file mode 100644 index 0000000..1a5c6f0 --- /dev/null +++ b/wiki/packages/callmonitor/actions/call.rst @@ -0,0 +1,42 @@ +packages/callmonitor/actions/call +================================= +.. _AllgemeineHinweisezuFunktionsaufrufen: + +Allgemeine Hinweise zu Funktionsaufrufen +======================================== + +Der Aufruf von Funktionen, die auf `getmsg <getmsg.html>`__ oder +`rawmsg <rawmsg.html>`__ basieren, sieht immer so aus: + +.. code:: wiki + + foomessage [OPTION]... <host> [<message>]... + +Der einfachste und am meisten genutzte Fall ist dementsprechend + +.. code:: wiki + + foomessage <host> + +Als Optionen können alle Optionen verwendet werden, die auch +`getmsg <getmsg.html>`__ bzw. `rawmsg <rawmsg.html>`__ verstehen. + +Die Standard-Nachricht wird generell von einer Funktion mit der +Namenskonvention ``default_foomessage`` erzeugt und kann so einfach +überschrieben wird. + +|<!>| Bei den Funktionen können eventuell Umgebungsvariablen verwendet +werden. Diese werden vor dem Funktionsaufruf gesetzt. Der Callmonitor +sorgt automatisch für die Kodierung der Umgebungsvariablen, die Text +enthalten (z.B. ``XBOX_CAPTION`` und ``DREAM_CAPTION``). Man kann also +einfach + +.. code:: wiki + + FOO_CAPTION="Dies ist der zu 100% richtige Titel" foomessage <host> + +schreiben, ohne sich Gedanken über Kodierungen (URL- oder printf-) +machen zu müssen. + +.. |<!>| image:: ../../../../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/packages/callmonitor/actions/config.rst b/wiki/packages/callmonitor/actions/config.rst new file mode 100644 index 0000000..26cc4c6 --- /dev/null +++ b/wiki/packages/callmonitor/actions/config.rst @@ -0,0 +1,164 @@ +packages/callmonitor/actions/config +=================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Portforwarding <config.html#Portforwarding>`__ +#. `WLAN <config.html#WLAN>`__ +#. `DECT <config.html#DECT>`__ +#. `SIP <config.html#SIP>`__ +#. `Rufumleitung <config.html#Rufumleitung>`__ +#. `Abfragen von + Konfigurationswerten <config.html#AbfragenvonKonfigurationswerten>`__ + +.. _FritzBox-Konfiguration: + +FritzBox-Konfiguration +====================== + +Mit der Aktion ``config`` aus der ``config.sh`` (seit Callmonitor 1.8) +lassen sich einige Funktionen in der Konfiguration der FritzBox +umstellen. + +.. _Portforwarding: + +Portforwarding +-------------- + +Das Portforwarding kann aktiviert und deaktiviert werden. + +.. code:: wiki + + Syntax: + config forward <NUMMER> <on|off|toggle> + + NUMMER Nummer des Portforwardings (beginnend bei 1) + on|off|toggle an- bzw. abschalten des Portforwardings: an, aus, + an-/abschalten des Forwardings abhängig der bereits + erfolgten Einstellung + +Beispiele: + +:: + + config forward 1 on # 1. Portforwarding aktivieren + config forward 3 off # 3. Portforwarding deaktivieren + config forward 5 toggle # 5. Portforwarding an-/abschalten + +.. _WLAN: + +WLAN +---- + +Das WLAN kann aktiviert und deaktiviert werden. + +.. code:: wiki + + Syntax: + config wlan [2.4|5|guest] <on|off> + + 2.4|5 gewünschtes Frequenzband: 2,4 oder 5 GHz + guest Gast-WLAN schalten (seit Version 1.20.1) + on|off an- bzw. abschalten des WLANs + +Fehlt die Angabe des Frequenzbandes, werden beide geschaltet, aber nur +das 2,4er abgefragt. + +Beispiele: + +:: + + config wlan off # WLAN aus + config wlan on # WLAN an + config wlan 2.4 off # WLAN im 2,4-GHz-Band aus + config wlan 5 on # 5-GHz-WLAN an + +.. _DECT: + +DECT +---- + +DECT kann aktiviert und deaktiviert werden. + +.. code:: wiki + + Syntax: + config dect <on|off> + + on|off an- bzw. abschalten der DECT-Hardware + +Beispiele: + +:: + + config dect off # DECT aus + config dect on # DECT an + +.. _SIP: + +SIP +--- + +Die SIP-Accounts können aktiviert und deaktiviert werden. + +.. code:: wiki + + Syntax: + config sip <NUMMER> <on|off> + + NUMMER Nummer des SIP-Accounts (beginnend bei 1) + on|off an- bzw. abschalten des SIP-Accounts + +Beispiele: + +:: + + config sip 4 on # 4. SIP-Account aktivieren + config sip 2 off # 2. SIP-Account deaktivieren + +.. _Rufumleitung: + +Rufumleitung +------------ + +(De-)Aktivierung der Rufumleitungen. (Seit Version 1.8.2) Unterstützt +werden momentan nur Rufumleitungen des Typs "Anrufe von Rufnummer xy", +nicht aber "Alle Anrufe an Fon X". + +.. code:: wiki + + Syntax + config diversion <NUMMER> <on|off> + + NUMMER Nummer der Rufumleitung (beginnend bei 1) + on|off an- bzw. abschalten der Rufumleitung + +.. _AbfragenvonKonfigurationswerten: + +Abfragen von Konfigurationswerten +--------------------------------- + +(seit Version 1.9.1) + +Einfach beim config-Aufruf den Wert weglassen: + +:: + + config sip 2 + config diversion 1 + config forward 3 + config wlan + +Ausgabe ist einer der Werte "on", "off" oder "error" (wenn z.B. die +Wahlregel nicht existiert). + +.. _Alternative: + +Alternative +=========== + +In neueren Firmware-Versionen ist der Callmonitor nicht unbedingt +erforderlich, um die Funktionen anzuzeigen oder zu ändern. Alternativ +lassen sich diese mit dem +`​ctlmgr_ctl <http://wehavemorefun.de/fritzbox/index.php/Ctlmgr_ctl>`__ +von AVM bearbeiten. diff --git a/wiki/packages/callmonitor/actions/dbox.rst b/wiki/packages/callmonitor/actions/dbox.rst new file mode 100644 index 0000000..e154ae2 --- /dev/null +++ b/wiki/packages/callmonitor/actions/dbox.rst @@ -0,0 +1,50 @@ +packages/callmonitor/actions/dbox +================================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `DBox2 mit Neutrino Image <dbox.html#DBox2mitNeutrinoImage>`__ +#. `DBox2 mit Enigma Image <dbox.html#DBox2mitEnigmaImage>`__ + +.. _DBox2: + +DBox2 +===== + +.. _DBox2mitNeutrinoImage: + +DBox2 mit Neutrino Image +------------------------ + +.. code:: wiki + + dboxmessage (default_dboxmessage) + dboxpopup (default_dboxpopup) + +Die Funktion unterscheiden sich nur darin, ob die angezeigte Nachricht +von alleine nach einiger Zeit verschwindet oder explizit bestätigt +werden muss. + +``default_dboxmessage}} und {{{default_dboxpopup`` haben die Funktion +``default_dbox`` als gemeinsame Grundlage. + +.. code:: wiki + + dboxlcd (default_dboxlcd) + +Stellt eine Nachricht auf dem LCD der DBox dar. + +.. _DBox2mitEnigmaImage: + +DBox2 mit Enigma Image +---------------------- + +Wenn ihr ein Enigma Image auf eurer Box habt und im Popup vor dem +eigentlichen Text ein "popup=" oder "nmsg=" erscheint, so könnt ihr wie +bei der Dreambox folgenden Befehl nutzen: + +.. code:: wiki + + dreammessage (default_dreammessage) + +siehe dann auch `Hier <dreambox.html>`__ diff --git a/wiki/packages/callmonitor/actions/dial.rst b/wiki/packages/callmonitor/actions/dial.rst new file mode 100644 index 0000000..28ea6c2 --- /dev/null +++ b/wiki/packages/callmonitor/actions/dial.rst @@ -0,0 +1,25 @@ +packages/callmonitor/actions/dial +================================= +.. _Wählhilfe: + +Wählhilfe +========= + +Die aus dem Webinterface von AVM bekannte Wählhilfe steht hier als +Funktion zur Verfügung (seit Callmonitor 1.1). + +.. code:: wiki + + dial NUMMER [PORT] + +Das erste Argument ist die zu wählende Nummer, das zweite (optional) der +Port (1, 2, 3, 50, 51, …), natürlich ohne die eckigen Klammern. + +Die Ports 1 bis 3 sind die analogen Telefonen, 50 alle ISDN-Telefone, ab +51 die einzelnen ISDN-Telefone. + +Auflegen ist auch möglich (seit Callmonitor 1.5): + +.. code:: wiki + + hangup [PORT] diff --git a/wiki/packages/callmonitor/actions/dreambox.rst b/wiki/packages/callmonitor/actions/dreambox.rst new file mode 100644 index 0000000..1772633 --- /dev/null +++ b/wiki/packages/callmonitor/actions/dreambox.rst @@ -0,0 +1,114 @@ +packages/callmonitor/actions/dreambox +===================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Dreambox mit Enigma 1 <dreambox.html#DreamboxmitEnigma1>`__ + + #. `StandBy Check <dreambox.html#StandByCheck>`__ + +#. `DreamBox mit Enigma 2 <dreambox.html#DreamBoxmitEnigma2>`__ + +.. _DreamBox: + +DreamBox +======== + +.. _DreamboxmitEnigma1: + +Dreambox mit Enigma 1 +--------------------- + +.. code:: wiki + + dreammessage [user[:password]@]host[:port] ["Alternative Nachricht"] + +.. figure:: /screenshots/1.jpg + :alt: CallMonitor: Dreambox Auth abschalten + + CallMonitor: Dreambox Auth abschalten + +Wie zu sehen ist, ist "host" (also Rechnername oder IP-Adresse) der +einzige Pflichtparameter. Damit die Nachricht aber auch wirklich +ankommt, muss die Authentifizierung berücksichtigt werden. Eine Lösung +ist es, wie beigefügter Screenshot aufzeigt, das Abschalten der +Nachrichten-Authentifizierung auf der Box selbst. Wer das nicht will, +dem bleibt zur Zeit nur, ``user:password@`` vor den Host zu setzen - was +dann allerdings bei den Listeners im Klartext angezeigt wird. + +``dreammessage`` kennt ein Standard-Nachrichten-Template, was +normalerweise verwendet wird. Wer die Nachricht lieber selbst +formatieren will, findet +`hier <../listeners.html#Ereignis-InformationenfürAktionen>`__ eine +Liste mit verwendbaren Platzhaltern für Telefonnummer, Zeilenumbrüche, +usw. + +Desweiteren gibt es drei Umgebungsvariablen, die das Verhalten von +``dreammessage`` beeinflussen. Sie sind hier in einem typischen Aufruf +mit ihren Standardwerten gezeigt: + +.. code:: wiki + + DREAM_TIMEOUT=10 DREAM_CAPTION="Telefonanruf" DREAM_ICON=1 dreammessage box1 + +.. _StandByCheck: + +StandBy Check +~~~~~~~~~~~~~ + +Befindet sich die zu benachrichtigende Dreambox im StandBy, werden die +Nachrichten solange zwischengespeichert, bis sie wieder aus selbigem +aufwacht. An und für sich ganz nett - nur wenn man sie gerade mal ein +paar Tage nicht benutzt hat, und dann nach dem Anschalten erstmal +hunderte von "verpassten" Anrufen zu sehen bekommt. Daher wäre es für +manchen sicher praktisch, würden die Nachrichten nur dann (und zwar +sofort) zugestellt, wenn die Dreambox sich zum Zeitpunkt des Anrufes +*nicht* im StandBy befindet - während andernfalls die Benachrichtigung +komplett unterbliebe. + +Glücklicherweise ist das machbar (getestet mit DM600, DM 7000 und +DM7020). Auf folgende Weise lässt sich nämlich der Status ermitteln: + +:: + + # keine Passwort-Authentifizierung aktiv: + standby=`wget -O- "http://dreambox/cgi-bin/status" | awk '/Standby/' | sed -e 's/<[^>]*>//g'` + # mit Passwort-Authentifizierung: + standby=`wget -O- --http-user=root --http-passwd=dreambox "http://dreambox/cgi-bin/status" | awk '/Standby/' | sed -e 's/<[^>]*>//g'` + +Je nachdem, ob das WebIF für Passwort-Authentifizierung konfiguriert ist +oder nicht, kann man also die entsprechende Variante nutzen. Das +busybox-wget unterstützt allerdings keine Authentifizierung. Daher muss +beim Bauen von freetz das Paket 'wget' installiert werden. Die Variable +``$standby`` ist anschließend entweder mit ``STANDBY:ON`` oder +``STANDBY:OFF`` belegt. Für unsere Benachrichtigungs-Aktion können wir +uns das wie folgt nutzbar machen: + +:: + + [ "$(wget -O- "http://dreambox/cgi-bin/status" | awk '/Standby/' | sed -e 's/<[^>]*>//g')" = "Standby:OFF" ] && DREAM_TIMEOUT=10 dreammessage dreambox "${SOURCE_DISP} ruft an.${LF}${SOURCE_NAME}" + +wobei natürlich *dreambox* mit dem Hostnamen bzw. der IP-Adresse der +Dreambox ersetzt, sowie ggf. die Passwort-Authentifizierung mit +eingebaut werden muss. + +*Quelle:*\ `​IPPF +Thread <http://www.ip-phone-forum.de/showthread.php?t=100706&page=55>`__ + +.. _DreamBoxmitEnigma2: + +DreamBox mit Enigma 2 +--------------------- + +.. code:: wiki + + dream2message (default_dream2message) + +``DREAM_TIMEOUT`` und ``DREAM_ICON`` werden auch hier unterstützt. + +| Beispiel für ein Popup das nur den Namen (sofern in der Callers + vorhanden) und die Telefonnummer des Anrufers anzeigt: + +.. code:: wiki + + in:request ^ ^ dream2message 192.168.178.25 "${SOURCE_NAME} ${SOURCE} ruft an." diff --git a/wiki/packages/callmonitor/actions/getmsg.rst b/wiki/packages/callmonitor/actions/getmsg.rst new file mode 100644 index 0000000..d96a853 --- /dev/null +++ b/wiki/packages/callmonitor/actions/getmsg.rst @@ -0,0 +1,60 @@ +packages/callmonitor/actions/getmsg +=================================== +.. _HTTP-Requestsgetmsg: + +HTTP-Requests (getmsg) +====================== + +Die Funktion ``getmsg`` sendet eine Benachrichtigung, indem sie diese +per HTTP GET an einen Webserver schickt. Es ist möglich, die URL (nur +Pfad + Query-String, also den Teil hinter dem Host-Namen) mit +`​printf-Templates <http://www.gnu.org/software/libc/manual/html_node/Formatted-Output.html>`__] +anzugeben. Im einfachsten Fall bedeutet dies, dass die Stelle in der +URL, an der die Nachricht eingesetzt werden soll, mit ``%s`` markiert +wird. ``getmsg`` sorgt selbst für die richtige Kodierung der Nachrichten +(URL Encoding). + +.. _Syntax:: + +Syntax: +------- + +.. code:: wiki + + Usage: getmsg [OPTION]... <HOST> <url-template> [<message>]... + getmsg [OPTION]... -t <url-template> <host> [<message>]... + Send a message in a simple HTTP GET request. + + -t, --template=FORMAT use this printf-style template to build the URL, + all following messages are URL-encoded and filled + into this template + -d, --default=CODE default for first parameter (eval'ed later) + -p, --port=PORT use a special target port (default 80) + -w, --timeout=SECONDS set connect timeout (default 3) + -v, --virtual=VIRT use a different virtual host (default HOST) + -U, --user=USER user for basic authorization + -P, --password=PASS password for basic authorization + --help show this help + +-------------- + +|<!>| Die **folgenden Funktionen basieren** auf ``getmsg`` und +unterstützen daher dieselben Optionen. Passend für den entsprechenden +Empfänger sind URL-Template (``-t``), die Standard-Nachricht (``-d``) +und der Port (``-p``) schon vorbelegt. + +.. _Beispiel:: + +Beispiel: +--------- + +.. code:: wiki + + *:* ^ ^ getmsg 192.168.0.111 -p 222 -t "/home/phone?event=%s&id=%s&time=%s&source=%s&source_name=%s&destination=%s&destination_name=%s&extension=%s&duration=%s&provider=%s" "${EVENT}" "${ID}" "${TIMESTAMP}" "${SOURCE}" "${SOURCE_NAME}" "${DEST}" "${DEST_NAME}" "${EXT}" "${DURATION}" "${PROVIDER}" + +Das obere Beispiel bewirkt einen GET-Aufruf an +`​http://192.168.0.111:222/home/phone <http://192.168.0.111:222/home/phone>`__ +mit allen relevanten Daten im Query-String. + +.. |<!>| image:: ../../../../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/packages/callmonitor/actions/mail.rst b/wiki/packages/callmonitor/actions/mail.rst new file mode 100644 index 0000000..ccb97cc --- /dev/null +++ b/wiki/packages/callmonitor/actions/mail.rst @@ -0,0 +1,86 @@ +packages/callmonitor/actions/mail +================================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `mail <mail.html#mail>`__ +#. `Ersatz für mail_missed_call <mail.html#Ersatzfürmail_missed_call>`__ + +.. _E-Mail-Benachrichtigung: + +E-Mail-Benachrichtigung +======================= + +Die Funktion ``mailmessage`` verschickt eine E-Mail mit Hilfe der Daten, +die für den Push-Service eingerichtet sind (falls man nicht beim Aufruf +etwas anderes befiehlt (mailer-Optionen)). Der Push-Service selbst kann +ruhig ausgeschaltet bleiben, wichtig sind die Einstellungen für +Adressen, Mailserver & Co. Beispiele zum Einsatz in Listeners: + +.. code:: wiki + + mailmessage + mailmessage -t me@my.self + mailmessage -s "Oh, oh ... ($SOURCE)" + +- Mailadressen, Servereinstellungen, Passwörter & Co. werden aus der + Konfiguration des Push Service der FritzBox übernommen. Einzelne + Teile können durch Optionen überschrieben werden (im Beispiel zum + Beispiel die Zieladresse mit ``-t``). +- Die Optionen werden an ``mail`` durchgereicht; diese wiederum + größtenteils an ``mailer``. Deswegen können folgende Optionen + verwendet werden: + + .. code:: wiki + + -s STRING - Subject. ("FRITZ!Box") + -f STRING - From. (NULL) + -t STRING - To. (NULL) + -m STRING - mailserver. (NULL) + -a STRING - authname. (NULL) + -w STRING - passwd. (NULL) + -d STRING - attachment. (NULL) + -i STRING - inline attachment. (NULL) + +- Zur Anpassung der Mails: siehe ``mail_subject`` und ``mail_body`` in + ``mail.sh`` (zum Überschreiben am besten + ``/tmp/flash/callmonitor/actions.local.d/`` verwenden, siehe + `Anpassen der Benachrichtigungstexte <../adapt_messages.html>`__). + +mail +---- + +``mail`` ist ein Skript, um Mails bei Mailserverfehlern +zwischenzuspeichern und erneut zu schicken (alle Parameter und +Attachments werden gepackt in ``/var/spool/mail/`` abgelegt). + +- Es wird von der Aktion mailmessage verwendet. +- Ihr solltet regelmäßig (mit cron) ein ``mail process`` ausführen, um + evtl. wartende Mail zu versenden. +- ``mail`` gehört streng genommen nicht unbedingt zum Callmonitor, weil + auch andere Dienste es brauchen könnten; vielleicht wird in Zukunft + mal ein eigenes Paket daraus. + +.. _Ersatzfürmail_missed_call: + +Ersatz für mail_missed_call +--------------------------- + +Die Funktion ``mail_missed_call`` existiert seit Version 1.0 nicht mehr. +An ihre Stelle tritt eine allgemeine Benachrichtigungsfunktion per +E-Mail (``mailmessage``), die (auch) in Kombination mit dem Ereignis +``in:cancel`` genutzt werden kann, um bei verpassten Anrufen eine Mail +zu verschicken: + +.. code:: wiki + + in:cancel ^ ^ mailmessage + +Das schöne ist, dass die Mail sofort rausgeschickt wird, wenn der +Gesprächspartner aufgibt; es gibt keine Wartezeit von einer Minute mehr +wie in den Vorversionen. Außerdem kann jetzt zuverlässiger bestimmt +werden, wann ein Anruf verpasst wurde. + +Aber natürlich kann man sich so auch per Mail über alle eingehenden +Anrufe informieren lassen, oder über alle ausgehenden an eine bestimmte +Nummer oder oder oder … diff --git a/wiki/packages/callmonitor/actions/musicpal.rst b/wiki/packages/callmonitor/actions/musicpal.rst new file mode 100644 index 0000000..bda860d --- /dev/null +++ b/wiki/packages/callmonitor/actions/musicpal.rst @@ -0,0 +1,32 @@ +packages/callmonitor/actions/musicpal +===================================== +.. _FreecomMusicPal: + +Freecom MusicPal +================ + +Version 1.15.1 enthält die neue Aktion **musicalpalmessage**, mit der +man Nachrichten auf dem Display eines MusicPals von Freecom darstellen +kann. Es werden maximal zwei Zeilen unterstützt; die Anzeigedauer +(standardmäßig 25 Sekunden) kann über die Umgebungsvariable +MUSICPAL_TIMEOUT verändert werden. Für den Fall, dass die Anzeige vorher +freigegeben werden soll, steht die Aktion **musicalpalclear** bereit. + +Einige Beispiele: + +:: + + # Standardnachricht, Benutzername und Passwort "admin" + musicpalmessage musicpal.domain.my + + # eigene Nachricht mit zwei Zeilen, andere Zugangsdaten + musicpalmessage --user="root" --password="secret" musicpal.domain.my "Wichtiger Anruf${LF}von ${SOURCE}!" + + # alternative Syntax + musicpalmessage root:secret@musicpal.domain.my "Wichtiger Anruf${LF}von ${SOURCE}" + + # Nachricht löschen + musicpalclear musicpal.domain.my + +Zum Anpassen der Standardnachricht kann die Shell-Funktion +``default_musicpalmessage`` überschrieben werden. diff --git a/wiki/packages/callmonitor/actions/password.rst b/wiki/packages/callmonitor/actions/password.rst new file mode 100644 index 0000000..a4f0ef2 --- /dev/null +++ b/wiki/packages/callmonitor/actions/password.rst @@ -0,0 +1,54 @@ +packages/callmonitor/actions/password +===================================== +.. _BenutzernamenundPasswörter: + +Benutzernamen und Passwörter +============================ + +Alle Aktionen, die auf ``getmsg`` basieren, verstehen folgende Optionen, +mit denen man Benutzername und Passwort für das Webinterface der Zielbox +angeben kann: + +.. code:: wiki + + -U USERNAME + --user USERNAME + -P PASSWORD + --password PASSWORD + +Außerdem können die Daten in einer Kurzschreibweise direkt beim +Hostnamen angegeben werden: + +.. code:: wiki + + USERNAME:PASSWORD@HOST:PORT + +.. _Beispiel: + +Beispiel +-------- + +Also zum Beispiel: + +.. code:: wiki + + dboxmessage john:secret@mydbox + +Das bewirkt das gleiche wie + +.. code:: wiki + + dboxmessage --user=john --password=secret mydbox + +oder + +.. code:: wiki + + dboxmessage -U john -P secret mydbox + +Oder falls die D-Box auf einem anderen als dem Standardport lauscht: + +.. code:: wiki + + dboxmessage john:secret@mydbox:3818 + dboxmessage --user=john --password=secret --port=3818 mydbox diff --git a/wiki/packages/callmonitor/actions/rawmsg.rst b/wiki/packages/callmonitor/actions/rawmsg.rst new file mode 100644 index 0000000..2f0f599 --- /dev/null +++ b/wiki/packages/callmonitor/actions/rawmsg.rst @@ -0,0 +1,29 @@ +packages/callmonitor/actions/rawmsg +=================================== +.. _EinfacheTCP-Verbindungenrawmsg: + +Einfache TCP-Verbindungen (rawmsg) +================================== + +.. code:: wiki + + Usage: rawmsg [OPTION]... <HOST> <template> [<param>]... + rawmsg [OPTION]... -t <template> <host> [<param>]... + Send a message over a plain TCP connection. + + -t, --template=FORMAT use this printf-style template to build the message, + all following parameters are filled in + -d, --default=CODE default for first parameter (eval'ed later) + -p, --port=PORT use a special target port (default 80) + -w, --timeout=SECONDS set connect timeout (default 3) + --help show this help + +-------------- + +|<!>| Die **folgenden Funktionen basieren** auf ``rawmsg`` und +unterstützen daher dieselben Optionen. Passend für den entsprechenden +Empfänger sind URL-Template (``-t``), die Standard-Nachricht (``-d``) +und der Port (``-p``) schon vorbelegt. + +.. |<!>| image:: ../../../../chrome/wikiextras-icons-16/exclamation-red.png + diff --git a/wiki/packages/callmonitor/actions/relook.rst b/wiki/packages/callmonitor/actions/relook.rst new file mode 100644 index 0000000..cfc8a8a --- /dev/null +++ b/wiki/packages/callmonitor/actions/relook.rst @@ -0,0 +1,21 @@ +packages/callmonitor/actions/relook +=================================== +.. _DGStationRelook400S: + +DGStation Relook 400S +===================== + +Die `​DGStation Relook 400S <http://www.dgstation.co.kr>`__ unterstützt +nur die Anzeige einer kurzen Zeile ohne Umlaute. Die Anzeigedauer kann +über die Umgebungsvariable ``RELOOK_TIMEOUT`` beeinflusst werden (in +Sekunden). + +.. code:: wiki + + relookmessage (default_relookmessage) + +Beispiel für Benutzung mit veränderter Anzeigedauer (25 Sekunden): + +.. code:: wiki + + RELOOK_TIMEOUT=25 relookmessage 192.168.34.56 diff --git a/wiki/packages/callmonitor/actions/samsung.rst b/wiki/packages/callmonitor/actions/samsung.rst new file mode 100644 index 0000000..2b75e45 --- /dev/null +++ b/wiki/packages/callmonitor/actions/samsung.rst @@ -0,0 +1,62 @@ +packages/callmonitor/actions/samsung +==================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +.. _BenachrichtigungaufeinemSamsungTV: + +Benachrichtigung auf einem Samsung TV +===================================== + +Die Funktion ``samsung`` verschickt eine Benachrichtigung über einen +Telefonanruf mit Hilfe der SOAP-Methode an ein Samsung TV: + +.. code:: wiki + + samsung {IP des TV} + +Also z.B.: + +.. code:: wiki + + samsung 192.168.178.19 + +Es werden der Anrufer-Name (sofern im Telefonbuch oder in den Callers +eingetragen, ansonsten die Telefonnummer), die angerufene Nummer, sowie +Datum und Uhrzeit angezeigt. Die Länge der darstellbaren Zeichen hängt +vom Inhalt ab. Wenn nicht mehr Text angezeigt werden kann (z.B. bei +Adresszusätzen in den Callers), wird er am Ende abgeschnitten, so dass +er mit "…" endet. + +Der Listener-Eintrag im Callmonitor kann dazu z.B. so aussehen: + +.. code:: wiki + + in:request ^ ^ samsung tv + +Zum Testen kann man folgendes direkt vom Terminal der Fritzbox +ausführen: + +.. code:: wiki + + callaction samsung tv + +| +| Die Funktion ``samsung_text`` verschickt eine Nachricht mit Hilfe der + SOAP-Methode an ein Samsung TV, z.B.: + +.. code:: wiki + + echo "Hello, world!" | callaction samsung_text 192.168.178.19 \ + --from="Absender" --from-number="069 123456" \ + --to-number="089 987654" --to="Empfänger" \ + --date="2010-05-21" --time="21:56:00" + +Analog zum obigen Beispiel werden hier Anrufer-Name und dessen +Telefonnummer, Empfänger-Name und dessen Telefonnummer sowie Datum und +Uhrzeit angezeigt. D.h. die Nachricht wird mit derselben Methode (SOAP) +wie bei der Benachrichtigung über einen Telefonanruf verschickt, zzgl. +der o.g. Daten. + +- Tags +- `samsung </tags/samsung>`__ diff --git a/wiki/packages/callmonitor/actions/self-defined.rst b/wiki/packages/callmonitor/actions/self-defined.rst new file mode 100644 index 0000000..0d4d042 --- /dev/null +++ b/wiki/packages/callmonitor/actions/self-defined.rst @@ -0,0 +1,13 @@ +packages/callmonitor/actions/self-defined +========================================= +.. _SelbstdefinierteAktionen: + +Selbstdefinierte Aktionen +========================= + +Eigene Aktionen können als Shell-Funktionen in einer oder mehreren +Dateien ``/tmp/flash/callmonitor/actions.local.d/*.sh`` abgelegt werden. +(Es können so auch Standard-Funktionen überschrieben werden, z.B. +``default_message()``) + +Natürlich können auch beliebige externe Programme aufgerufen werden. diff --git a/wiki/packages/callmonitor/actions/snarl.rst b/wiki/packages/callmonitor/actions/snarl.rst new file mode 100644 index 0000000..d4de812 --- /dev/null +++ b/wiki/packages/callmonitor/actions/snarl.rst @@ -0,0 +1,66 @@ +packages/callmonitor/actions/snarl +================================== +`​Snarl <http://www.fullphat.net/index.php>`__ ist ähnlich wie Growl, +welches einigen vielleicht bekannt ist, ist ein +Benachrichtigungs-Programm ("notification"), welches im Hintergrund +läuft und von verschiedenen Programmen etc. angesprochen werden kann. +Vorteil ist, dass man so benutzerdefinierte, systemweit einheitliche +Benachrichtigungen erhält. + +Snarl verwendet ein eigenes Protokoll, welches sich SNP (`​Snarl Network +Protocol <http://www.fullphat.net/dev/snp/index.htm>`__) nennt. + +Mittels "rawmsg" wird an eine IP (Port 9887) im Netzwerk, an dem Snarl +wiederum selbst lauschen muss, eine Nachricht gesendet. Snarl zeigt +diese vom Callmonitor über SNP übermittelte Benachrichtigung dann an. + +Also z. B. so: + +.. code:: wiki + + echo -n "type=SNP#?version=1.0#?action=notification#?title=Anruf#?text=${SOURCE}#?timeout=20"$'\r\n' | nc IP 9887 + +(buehmann hat in diesem +`​Thread <http://www.ip-phone-forum.de/showthread.php?t=216938>`__ +gezeigt, wie es geht. Danke!) + +.. _Listener-Eintrag:: + +Listener-Eintrag: +----------------- + +Der Listener-Eintrag im Callmonitor kann dazu z.B. so aussehen: + +.. code:: wiki + + in:request ^ ^ echo -n "type=SNP#?version=1.0#?action=notification#?title=eingehender Anruf#?text=von ${SOURCE} - ($SOURCE_NAME)${LF}für ${DEST_NAME} - (${DEST_DISP})${LF}#?timeout=20#?icon=C:\pic.png"$'\r\n' | nc 192.168.178.20 9887 + +.. _Screenshots:: + +Screenshots: +------------ + +So könnte eine Benachrichtung von Snarl dann aussehen. Die Angaben +betreffend Anrufer, Rufnummer, Ereignis etc., lassen sich ja mittels des +Callmonitor entsprechend anpassen bzw. erweitern. + + .. figure:: /screenshots/171.png + :alt: Snarl Beispiel + + Snarl Beispiel + + .. figure:: /screenshots/167.png + :alt: Snarl Beispiel + + Snarl Beispiel + + .. figure:: /screenshots/173.png + :alt: Snarl Beispiel + + Snarl Beispiel + +.. + + Wichtig: "Curl" oder "getmsg" können nicht benutzt werden, diese sind + nur für das HTTP (Protokoll) geeignet und funktionieren nicht mit dem + SNP von Snarl. diff --git a/wiki/packages/callmonitor/actions/soundbridge.rst b/wiki/packages/callmonitor/actions/soundbridge.rst new file mode 100644 index 0000000..9d59779 --- /dev/null +++ b/wiki/packages/callmonitor/actions/soundbridge.rst @@ -0,0 +1,35 @@ +packages/callmonitor/actions/soundbridge +======================================== +.. _RokuSoundBridge: + +Roku SoundBridge +================ + +Die `​Roku +SoundBridge <http://www.rokulabs.com/products_soundbridge.php>`__ kann +auf ihrem Display Nachrichten darstellen. Seit Callmonitor 1.12.4 stehen +drei Funktionen zur Ansteuerung zur Verfügung: + +.. code:: wiki + + sbmessage + (default_sbmessage) + +Zur Anzeige einer statischen Nachricht. Mit der Umgebungsvariable +``SB_TIMEOUT`` kann die Dauer der Anzeige bestimmt werden. + +.. code:: wiki + + sbmarquee + (default_sbmarquee) + +Zur Anzeige eines Lauftexts. Mit der Umgebungsvariable ``SB_TIMES`` kann +festgelegt werden, wie oft die Nachricht wiederholt werden soll. + +.. code:: wiki + + sbxmessage + (default_sbxmessage) + +Zur Anzeige einer statischen, mehrzeiligen Nachricht. Mit der +Umgebungsvariable SB_TIMEOUT kann die Dauer der Anzeige bestimmt werden. diff --git a/wiki/packages/callmonitor/actions/vdr.rst b/wiki/packages/callmonitor/actions/vdr.rst new file mode 100644 index 0000000..ec4c5f3 --- /dev/null +++ b/wiki/packages/callmonitor/actions/vdr.rst @@ -0,0 +1,14 @@ +packages/callmonitor/actions/vdr +================================ +.. _VDR: + +VDR +=== + +VDR: Video Disk Recorder, +`​http://www.cadsoft.de/vdr/ <http://www.cadsoft.de/vdr/>`__ + +.. code:: wiki + + vdr [OPTION]... [MESSAGE] + (default_vdr) diff --git a/wiki/packages/callmonitor/actions/wol.rst b/wiki/packages/callmonitor/actions/wol.rst new file mode 100644 index 0000000..cc897e2 --- /dev/null +++ b/wiki/packages/callmonitor/actions/wol.rst @@ -0,0 +1,24 @@ +packages/callmonitor/actions/wol +================================ +.. _WakeonLAN: + +Wake on LAN +=========== + +Zum Aufwecken eines Rechners im LAN — sofern der Rechner dies generell +unterstützt — dient das in `Freetz <../../../index.html>`__ vorhandene +Programm ``ether-wake``. Zur Benutzung sei auf dessen Online-Hilfe +verwiesen: + +.. code:: wiki + + Usage: ether-wake [-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC + + Send a magic packet to wake up sleeping machines. + MAC must be a station address (00:11:22:33:44:55) or + a hostname with a known 'ethers' entry. + + Options: + -b Send wake-up packet to the broadcast address + -i iface Use interface ifname instead of the default "eth0" + -p pass Append the four or six byte password PW to the packet diff --git a/wiki/packages/callmonitor/actions/xbox.rst b/wiki/packages/callmonitor/actions/xbox.rst new file mode 100644 index 0000000..2ce3e8b --- /dev/null +++ b/wiki/packages/callmonitor/actions/xbox.rst @@ -0,0 +1,91 @@ +packages/callmonitor/actions/xbox +================================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Anpassungen auf der XBox <xbox.html#AnpassungenaufderXBox>`__ +#. `Weitere Möglichkeiten <xbox.html#WeitereMöglichkeiten>`__ + +.. _XBox: + +XBox +==== + +Für diese Funktion muss das `​XBox Media Center +(XBMC) <http://www.xboxmediacenter.com>`__ laufen und dort unter +*Einstellungen → Netzwerk* der Webserver aktiviert werden. Ggf. mit den +Optionen (s.o.) Port, Username und Passwort übergeben. Das XBMC stellt +die Nachricht dann in einem kleinen Fenster dar, das automatisch +geschlossen wird. + +.. code:: wiki + + xboxmessage (default_xboxmessage) + +Die XBox erlaubt mit ``xboxmessage`` keine Kommas in den Nachrichten. +Der Titel der Nachricht kann über die Umgebungsvariable +``XBOX_CAPTION="Telefonanruf"`` beeinflusst werden. + +.. _AnpassungenaufderXBox: + +Anpassungen auf der XBox +------------------------ + +Anzeigedauer und Größe des Fensters können in der Datei +``DialogKaiToast.xml`` angepasst werden. Je nach gewähltem TV-Typ ist +die jeweilige Datei unter ``skin\Project Mayhem III\PAL\`` oder +``skin\Project Mayhem III\PAL16x9\`` zuständig. Folgende Überarbeitung +der "PAL"-Datei erreicht ein brauchbares Ergebnis (nur geänderte +Zeilen): + +.. code:: wiki + + ... + <coordinates> + <system>1</system> + <posx>275</posx> + <posy>420</posy> + </coordinates> + <animation effect="slide" time="5000" start="300,0">WindowOpen</animation> + <animation effect="slide" time="5000" end="300,0">WindowClose</animation> + ... + <control> + <description>Popup Kai Toast Dialog Background</description> + ... + <width>400</width> + <height>125</height> + ... + <control> + <description>avatar</description> + ... + <posx>40</posx> + <posy>25</posy> + ... + <control> + <description>Caption Label</description> + ... + <posx>46</posx> + <posy>30</posy> + <width>305</width> + ... + <control> + <description>Description Button</description> + ... + <posx>46</posx> + <posy>46</posy> + <width>305</width> + ... + +.. _WeitereMöglichkeiten: + +Weitere Möglichkeiten +--------------------- + +Es gibt außerdem einen +`​Python-Script <http://ca.geocities.com/farside@rogers.com/Scripts/callerid.html>`__, +das eine CallerID-Anzeige auf der Xbox ermöglicht. Dann kann die +Nachricht mit der Funktion ``yac`` an die XBox gesendet werden. Das +Script ist auch im Script +`​xbmcfritz <http://www.xbmc.de/xbmc/download.php?view.150>`__ +enthalten, das zusätzlich die Anruferliste der FritzBox auf der XBox +darstellen kann. diff --git a/wiki/packages/callmonitor/actions/yac.rst b/wiki/packages/callmonitor/actions/yac.rst new file mode 100644 index 0000000..850d7be --- /dev/null +++ b/wiki/packages/callmonitor/actions/yac.rst @@ -0,0 +1,16 @@ +packages/callmonitor/actions/yac +================================ +.. _YAC: + +YAC +=== + +YAC: Yet Another Caller ID Program, +`​http://sunflowerhead.com/software/yac/ <http://sunflowerhead.com/software/yac/>`__ + +Syntax: + +.. code:: wiki + + yac <IP> + IP IP des Rechners, auf dem der YAC-Listener läuft diff --git a/wiki/packages/callmonitor/adapt_messages.rst b/wiki/packages/callmonitor/adapt_messages.rst new file mode 100644 index 0000000..d1cc458 --- /dev/null +++ b/wiki/packages/callmonitor/adapt_messages.rst @@ -0,0 +1,26 @@ +packages/callmonitor/adapt_messages +=================================== +.. _AnpassenderBenachrichtigungstexte: + +Anpassen der Benachrichtigungstexte +=================================== + +Um den Inhalt einer Benachrichtigung an die eigenenen Bedürfnisse +anpassen, gibt es folgenden Weg: + +#. Verzeichnis ``/tmp/flash/callmonitor/actions.local.d`` erstellen +#. darin eine Datei ``foobar.sh`` anlegen (oder irgendetwas anderes mit + Endung ``.sh``) +#. dorthinein nur die zu überschreibende Funktion kopieren (z.B. + ``mail_body() { ... }``) und anpassen (oder nur Variablen setzen wie + z.B. ``RELOOK_TIMEOUT``) +#. ``modsave flash`` aufrufen, um die Datei im Flash zu sichern +#. Callmonitor neustarten + +Bei den meisten `Aktionen <actions.html>`__ ist eine Funktion +``default_foomessage`` vorgesehen, die die Standardnachricht für diesen +Typ Aktion erzeugt; diese Funktion kann also einfach überschrieben +werden. Bei `mailmessage <actions/mail.html>`__ mail gibt es z.B. +``mail_subject`` und ``mail_body``; bei anderen Aktionen hilft nur ein +Blick in den Quelltext (oder eine Nachfrage), solange bis deren +Funktionen auch im Wiki beschrieben sind. diff --git a/wiki/packages/callmonitor/config.rst b/wiki/packages/callmonitor/config.rst new file mode 100644 index 0000000..f8bf4e9 --- /dev/null +++ b/wiki/packages/callmonitor/config.rst @@ -0,0 +1,151 @@ +packages/callmonitor/config +=========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Konfiguration: + +Konfiguration +============= + +Die Konfiguration des Callmonitors nimmt man sinnvollerweise in mehreren +Schritten vor, die sich auf verschiedene Seiten im Web-Interface von +Freetz verteilen: + +#. Basiskonfiguration durchführen (im Folgenden beschrieben) +#. Listeners für bestimmte Aktionen definieren +#. mit einem Testanruf die Konfiguration testen + +.. _Basiskonfiguration: + +Basiskonfiguration +------------------ + +Auf der Seite Pakete-Callmonitor des Web-Interfaces lassen sich einige +grundlegende Einstellungen vornehmen. + +Als erstes wählt man den Starttyp - normalerweise "Automatisch", da der +Callmonitor sonst nach jedem Neustart der FritzBox per Hand gestartet +werden muss. Sollte es Probleme geben, kann man noch zusätzlich die +Debug-Ausgaben aktivieren, was jedoch normalerweise unnötig ist. + +Der nächste Block bietet lediglich Links zu den Listeners und zur +Durchführung von Testanrufen. + +Im folgenden Block lassen sich die Standort-Angaben (Landes- und +Ortsvorwahl) noch einmal überprüfen und über einen Link zum AVM-WebGUI +auch anpassen. Es ist zu beachten, dass Änderungen der Landes- und/oder +Ortsvorwahl erst auf der Callmonitor-Seite angezeigt werden, wenn der +Callmonitor neu gestartet wurde. + +So weit sind wir aber noch nicht, vorher sind noch die Einstellungen zur +Rückwärtssuche im dritten Block zu überprüfen. Sie kann komplett +deaktiviert werden, dafür ist die Checkbox vor "Rückwärtssuche +durchführen bei" zuständig. Möchte man sie benutzen, kann der `Dienst +für die Rückwärtssuche <reverse_search.html>`__ ausgewählt werden, an +den die Anfragen geschickt werden. **Achtung:** Diese Funktion setzt +eine bestehende Internetverbindung voraus - es empfiehlt sich also +irgendeine Art von always-on Flatrate für den Internetzugang zu +verwenden (z.B. Volumentarif, komplette Flat). + +Falls die Telefonnummer nicht gefunden werden kann (z.B. weil der +Teilnehmer der Rückwärtssuche widersprochen hat), wird ersatzweise die +Vorwahl bei dem dort ausgewählten Dienst nachgeschlagen. Dadurch kann +zumindest der Ort angezeigt werden. Zum Schluss kann noch ausgewählt +werden, ob die Ergebnisse der Rückwärtssuche dauerhaft im Telefonbuch +(also im Flash der Box) oder flüchtig (d.h. bis zum Neustart) im +Speicher abgelegt werden. Es ist auch möglich, die Zwischenspeicherung +ganz abzuschalten. Dann wird die Rückwärtssuche immer wieder neu +durchgeführt, selbst wenn dieselbe Rufnummer schon einmal nachgeschlagen +wurde. + +Die Einstellung "Vorwahl für lokale Rufnummern" wird benötigt, da im +Ortsnetz nicht (immer) die Vorwahl mit übertragen wird. In aktuellen +Versionen wird die Vorwahl automatisch aus den Einstellungen zur +Internettelefonie übernommen (in der Weboberfläche von AVM). + +.. _Listenersdefinieren: + +Listeners definieren +-------------------- + +Als nächstes müssen sogenannte Listeners definiert werden, die dann bei +eingehenden Anrufen die gewünschte Aktion starten. Genaueres hierzu auf +einer `speziellen Seite für die Listeners <listeners.html>`__. + +.. _Testanruf: + +Testanruf +--------- + +Sind die Listeners einmal definiert, kann und sollte man sie mit einem +Testanruf ausprobieren. Dafür kann man natürlich einen echten Anruf +machen - allerdings hat man oft nicht die Möglichkeit, spezielle Regeln +zu testen. Daher gibt es die Möglichkeit, einen Testanruf über das +Web-Interface zu generieren - eine genaue Beschreibung findet sich +`hier <testcall.html>`__. + +.. _Fehlersuche: + +Fehlersuche +----------- + +Die Ausgaben des Testanrufs und ggf. die Debug-Meldungen (siehe oben, um +das log zu sehen vorher in freetz-konfig diese option aktivieren um sie +in das image einzubauen) geben in den meisten Fällen ausreichend +Hinweise, warum die Aktion nicht ausgeführt wurde bzw. der Callmonitor +nicht startet. Außerdem lohnt sich auch ein Blick auf die +`Wartungsseite <maintenance.html>`__ - falls die +Callmonitor-Schnittstelle deaktiviert ist, kann dieser auch nicht +funktionieren. Einschalten mit einem Anruf der Fritzbox von einem +angeschlossenem Telefon aus mit der Nummer: `#96 </ticket/96>`__\ \*5\* +kann helfen. Wenn das alles nicht weiterhilft, kann man auf der +`​Forumsseite für Fragen und +Diskussionen <http://www.ip-phone-forum.de/showthread.php?t=100706>`__ +Unterstützung bekommen. + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/events.rst b/wiki/packages/callmonitor/events.rst new file mode 100644 index 0000000..11f65c9 --- /dev/null +++ b/wiki/packages/callmonitor/events.rst @@ -0,0 +1,79 @@ +packages/callmonitor/events +=========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Ereignisse: + +Ereignisse +========== + +Ein erfolgreicher eingehender Anruf erzeugt nacheinander folgende +Ereignisse (analog für ausgehende Anrufe mit ``out:*``): + +#. in:request +#. in:connect +#. in:disconnect + +Ein Anruf, der abgebrochen wird, bevor die Gegenseite ihn annimmt, +erzeugt folgende Ereignisse: + +#. in:request +#. in:cancel + +Die Ereignisse sind nicht direkt die Rohereignisse, wie sie an der +JFritz-Schnittstelle (Port 1012) sichtbar sind, sondern entstehen aus +diesen (bei gleicher ID) mit Hilfe eines endlichen Automaten (an den +Kanten sind oben die Eingangsereignisse angegeben, unten die +Ausgangsereignisse; das Ereignis ``in:accept`` wird nur intern benutzt): + +.. figure:: /screenshots/36.png + :alt: CallMonitor: Ereignisse + + CallMonitor: Ereignisse + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/faq.rst b/wiki/packages/callmonitor/faq.rst new file mode 100644 index 0000000..3c4437b --- /dev/null +++ b/wiki/packages/callmonitor/faq.rst @@ -0,0 +1,14 @@ +packages/callmonitor/faq +======================== +.. _Callmonitor-FAQ: + +Callmonitor-FAQ +=============== + +.. _KannichdasErgebnisderRückwärtssucheauchaufmeinemDECT-Telefonsehen: + +Kann ich das Ergebnis der Rückwärtssuche auch auf meinem DECT-Telefon sehen? +---------------------------------------------------------------------------- + +Nein. Es gibt momentan keine bekannte Möglichkeit, in die +Anrufsignalisierung über DECT einzugreifen. diff --git a/wiki/packages/callmonitor/listeners.rst b/wiki/packages/callmonitor/listeners.rst new file mode 100644 index 0000000..60d34ff --- /dev/null +++ b/wiki/packages/callmonitor/listeners.rst @@ -0,0 +1,405 @@ +packages/callmonitor/listeners +============================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _RegelnListeners: + +Regeln (Listeners) +================== + +Die Listeners-Datei enthält eine Liste von Regeln, die festlegen, welche +`Aktionen <actions.html>`__ unter welchen Bedingungen ausgeführt werden +sollen. + +Leerzeilen werden ignoriert, ebenso Zeilen, die mit *#* beginnen (das +sind Kommentare). + +Jede Regel steht in einer Zeile und besteht aus vier Angaben, die durch +Leerraum getrennt in dieser Reihenfolge aufeinander folgen: + +#. Ereignis +#. Quellrufnummer: Muster für SOURCE +#. Zielrufnummer: Muster für DEST +#. Aktion: Beliebiger Shell-Code + +Die beiden Muster für *SOURCE* und *DEST* sind `​"extended regular +expressions" +(ERE) <http://www.selflinux.org/selflinux/html/regex.html>`__, wie sie +von *egrep* verstanden werden. Das Ereignis (ein-/ausgehender Anruf; +Klingeln, Annahme, etc.) wird mit der unten angeführten Syntax +angegeben. + +Man kann negative Muster bei den Listeners verwenden, indem man ein +Ausrufezeichen voranstellt: ``!123`` passt auf alle Nummern, die nicht +irgendwo 123 enthalten. + +Beispiele: + ++-----------------------------------+-----------------------------------+ +| \| Muster | \| passt auf | ++-----------------------------------+-----------------------------------+ +| ``^`` | alle Nummern | ++-----------------------------------+-----------------------------------+ +| ``^034`` | Nummern, die mit 034 beginnen | ++-----------------------------------+-----------------------------------+ +| ``4563$`` | Nummern, die auf 4563 enden | ++-----------------------------------+-----------------------------------+ +| ``!^(045|0164)`` | Nummern, die **nicht** mit 045 | +| | oder 0164 beginnen | ++-----------------------------------+-----------------------------------+ +| ``^0123456$`` | nur genau die Nummer 0123456 | ++-----------------------------------+-----------------------------------+ +| ``^04553...$`` | die Nummern, bei denen nach 04553 | +| | genau drei weitere Zeichen folgen | ++-----------------------------------+-----------------------------------+ + +Alle Regeln werden parallel abgearbeitet; eine bestimmte Reihenfolge ist +nicht garantiert. + +Damit die Listeners über das Webinterface von Freetz bearbeitet werden +können, muss dessen Sicherheitsstufe auf 0 gesetzt werden. Das ist +nötig, da über die Listeners beliebiger Code ausgeführt werden kann. + +.. figure:: /screenshots/20.png + :alt: Callmonitor: Listener Konfiguration + + Callmonitor: Listener Konfiguration + +.. _Format: + +Format +------ + +Seit Version 1.0 des Callmonitors gilt folgendes Format für die +Listeners, mit dem auf bis zu acht verschiedene Ereignisse +unterschiedlich reagiert werden kann: + +- **\*:request**: Anruf kommt an (es klingelt) +- **\*:cancel**: Anruf wurde abgebrochen, bevor eine Verbindung + zustande kam (so kann man direkt auf "verpasste Anrufe" reagieren) +- **\*:connect**: Verbindung beginnt +- **\*:disconnect**: Verbindung wurde beendet + +Dazu kommt die Unterscheidung zwischen + +- **in:\***: eingehenden und +- **out:\***: ausgehenden Anrufen. + +Das ergibt folgende Menge von Ereignissen: + ++-----------+---------------+--------------+---------------+------------------+ +| \| | \| \*:request | \| \*:cancel | \| \*:connect | \| \*:disconnect | ++-----------+---------------+--------------+---------------+------------------+ +| \| in:\* | in:request | in:cancel | in:connect | in:disconnect | ++-----------+---------------+--------------+---------------+------------------+ +| \| out:\* | out:request | out:cancel | out:connect | out:disconnect | ++-----------+---------------+--------------+---------------+------------------+ + +Dazu passend haben die Listeners eine zusätzliche erste Spalte bekommen, +in der (mit Hilfe von Abkürzungen und Wildcards) das gewünschte Ereignis +angegeben werden kann, auf das die betreffende Regel reagieren soll: + +.. code:: wiki + + in:request ^ ^1234$ xboxmessage xbox + in:cancel ^ ^ mailmessage -t test@example.com + out:cancel ^1234$ ^0123 dboxpopup dbox-a "${DEST} geht nicht ran" + *:dis ^ ^ echo "Anruf beendet: ${DURATION} Sekunden" >> log + +Es kann mehrere Regeln geben, die auf dasselbe Ereignis passen. + +Die Präfixe "NT:", "E:" und "*:" in der *SOURCE*-Spalte gibt es nicht +mehr. Eure bisherige Listeners-Datei (vor Version 1.0) könnt ihr nicht +einfach weiterverwenden. Der CallMonitor versucht aber, beim ersten +Start eine grobe Konvertierung vorzunehmen, um euch den Umstieg zu +erleichtern. Auf jeden Fall solltet ihr aber die Listeners nach der +Umstellung einmal kontrollieren. + +| Die Spalten 2 und 3 in den Listeners sind weiterhin Muster (reguläre + Ausdrücke) für Quell- und Zielrufnummer (*SOURCE* und *DEST*). +| Dabei ist jedoch zu beachten, dass in Spalte 2 bzw. 3 die MSNs, also + die Internet-Rufnummern, anzugeben sind und nicht wie früher bspw. + *SIP0* oder *SIP1*. + +.. _Ereignis-InformationenfürAktionen: + +Ereignis-Informationen für Aktionen +----------------------------------- + +Den Aktionen stehen Informationen über den auslösenden Anruf in +Umgebungsvariablen bereit. Sie werden in Shell-Scripten mit einem $ +referenziert, also z.B. ``echo $SOURCE_NAME``. + ++-----------------------+-----------------------+-----------------------+ +| \| Variable | \| Inhalt | \| seit Version | ++-----------------------+-----------------------+-----------------------+ +| EVENT | das auslösende | 1.0 | +| | Ereignis | | ++-----------------------+-----------------------+-----------------------+ +| ID | die ID des Anrufs | 1.0 | +| | (direkt von der | | +| | Callmonitor-Schnittst | | +| | elle) | | ++-----------------------+-----------------------+-----------------------+ +| UUID | Global eindeutige ID | 1.20 | +| | für diesen Anruf | | +| | (nicht für dieses | | +| | Ereignis!) | | ++-----------------------+-----------------------+-----------------------+ +| TIMESTAMP | der Zeitpunkt des | 1.0 | +| | Ereignisses (im | | +| | Format "DD.MM.YY | | +| | HH:MM") | | ++-----------------------+-----------------------+-----------------------+ +| SOURCE | Quellrufnummer | — | ++-----------------------+-----------------------+-----------------------+ +| SOURCE_DISP | "anzeigefreundlichere | 1.8 | +| | " | | +| | Variante von SOURCE | | +| | (Landesvorwahl weg, | | +| | Call-by-Call-Vorwahle | | +| | n | | +| | weg, etc.) | | ++-----------------------+-----------------------+-----------------------+ +| SOURCE_NAME | Name der Quelle, | — | +| | falls dieser bestimmt | | +| | werden konnte | | ++-----------------------+-----------------------+-----------------------+ +| SOURCE_ADDRESS | Die Adresse (Straße, | 1.12 | +| | Stadt, Land) ist seit | | +| | 1.12 separat | | +| | verfügbar und nicht | | +| | mehr in SOURCE_NAME | | +| | enthalten | | ++-----------------------+-----------------------+-----------------------+ +| SOURCE_ENTRY | Der ganze | 1.12 | +| | Telefonbucheintrag | | +| | (entspricht dem | | +| | SOURCE_NAME vor 1.12) | | ++-----------------------+-----------------------+-----------------------+ +| DEST | Zielrufnummer | — | ++-----------------------+-----------------------+-----------------------+ +| DEST_DISP | "anzeigefreundlichere | 1.8 | +| | " | | +| | Variante von DEST | | +| | (Landesvorwahl weg, | | +| | Call-by-Call-Vorwahle | | +| | n | | +| | weg, etc.) | | ++-----------------------+-----------------------+-----------------------+ +| DEST_NAME | Name des Ziels, falls | — | +| | dieses bestimmt | | +| | werden konnte | | ++-----------------------+-----------------------+-----------------------+ +| DEST_ADDRESS | Die Adresse (Straße, | 1.12 | +| | Stadt, Land) ist seit | | +| | 1.12 separat | | +| | verfügbar und nicht | | +| | mehr in DEST_NAME | | +| | enthalten | | ++-----------------------+-----------------------+-----------------------+ +| DEST_ENTRY | Der ganze | 1.12 | +| | Telefonbucheintrag | | +| | (entspricht dem | | +| | DEST_NAME vor 1.12) | | ++-----------------------+-----------------------+-----------------------+ +| EXT | die Nebenstelle, | 1.0 | +| | sofern bekannt | | +| | (direkt von der | | +| | Callmonitor-Schnittst | | +| | elle) | | ++-----------------------+-----------------------+-----------------------+ +| DURATION | bei \*:disconnect die | 1.0 | +| | Dauer des Gesprächs | | +| | in Sekunden | | ++-----------------------+-----------------------+-----------------------+ +| PROVIDER | Dienstleister, über | 1.5 | +| | den der Anruf | | +| | abgewickelt wird | | +| | ("POTS" für Festnetz | | +| | oder "SIP0", "SIP1", | | +| | … für die | | +| | verschiedenen | | +| | SIP-Provider) | | ++-----------------------+-----------------------+-----------------------+ + +EXT kann auf einer FritzBox 7050 folgende numerische Werte haben (bei +einem eingehenden Anruf liegt diese Information erst ab in:connect vor; +vorher ist die Zuordnung ja nicht klar): + ++--------+------------------+ +| \|Wert | \|Bedeutung | ++--------+------------------+ +| 0 | FON 1 | ++--------+------------------+ +| 1 | FON 2 | ++--------+------------------+ +| 2 | FON 3 | ++--------+------------------+ +| 3 | Durchwahl | ++--------+------------------+ +| 4 | Fon S0 | ++--------+------------------+ +| 5 | Fon/Fax PC | ++--------+------------------+ +| 6 | Anrufbeantworter | ++--------+------------------+ +| 36 | Data S0 | ++--------+------------------+ +| 37 | Data PC | ++--------+------------------+ + +.. _FormatierungderAusgaben: + +Formatierung der Ausgaben +------------------------- + +Zur Formatierung der Ausgaben stehen folgende Funktionen bereit: + +seit Version 1.8: + +- f_duration: zur Darstellung von Zeitdauern als "hh:mm:ss" + + .. code:: wiki + + f_duration <ZEIT_IN_SEKUNDEN> + + ZEIT_IN_SEKUNDEN: Zeit in Sekunden, z.B. $DURATION + +Beispiel: + +:: + + echo "Der Anruf dauerte $(f_duration $DURATION)" + +führt zu einer Ausgabe + +.. code:: wiki + + Der Anruf dauerte 1:05:03 + +falls DURATION den Wert 3903 hat. + +Als nützlich kann sich auch die Konstante $LF erweisen, die einen +Zeilenumbruch enthält (line feed): + +:: + + dboxmessage foo.bar "Zeile 1${LF}Zeile 2" + +.. _MusterfürEreignisse: + +Muster für Ereignisse +--------------------- + +Es gibt mehrere Möglichkeiten, in den Listeners die Ereignisse +anzugeben, bei der eine Regel auslösen soll: + +- Vollständige Ereignisnamen: + + .. code:: wiki + + in:request + out:disconnect + +- Abkürzungen des vorderen und/oder hinteren Teils: + + .. code:: wiki + + in:req + out:disc + i:r + o:d + +- Wildcards für den vorderen Teil (Richtung), den hinteren oder beide: + + .. code:: wiki + + *:req + ou:* + * + +- Listen dieser Bestandteile (mit Komma getrennt (Vorsicht, kein + Whitespace); die Regel passt, wenn einer der Teile passt): + + .. code:: wiki + + in:req,out:* + +.. _Beispiele:: + +Beispiele: +---------- + +Verpasster Anruf (in:cancel) mailmessage an mehrere Email Adressen +versenden: + +.. code:: wiki + + in:cancel ^ ^ mailmessage -t user1@example.com,user2@example.com + +Von einer bestimmten Rufnummer (0401234567) eine festgelegte Rufnummer +(0401234568) anrufen und den PC über WOL (Wake on Lan) einschalten: + +.. code:: wiki + + in:request ^0401234567 ^0401234568 ether-wake -i eth0 00:13:DE:01:A4:DE + +Benachrichtigungen über Dreambox mit Enigma2 auf Fernseher anzeigen: + +.. code:: wiki + + in:request ^ ^ dream2message --user=root --pass=dreambox 192.168.178.104 + +Benachrichtigung per Email bei Faxempfang: + +.. code:: wiki + + in:disconnect ^ 0401234567$ mailmessage -s "Faxeingang von $SOURCE" + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/maintenance.rst b/wiki/packages/callmonitor/maintenance.rst new file mode 100644 index 0000000..d1e0d92 --- /dev/null +++ b/wiki/packages/callmonitor/maintenance.rst @@ -0,0 +1,75 @@ +packages/callmonitor/maintenance +================================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Wartung: + +Wartung +======= + +Die Wartungsseite im Web-Interface ermöglicht folgendes: + +- Telefonbuch aufräumen: Sortiert die Einträge im Telefonbuch und + entfernt Leerzeilen. +- SIP-Update durchführen: Erstellt Standardeinträge im Telefonbuch für + neu angelegte Internetrufnummern. +- Callmonitor-Schnittstelle (Port 1012) (de)aktivieren: Aktiviert bzw. + deaktiviert die Callmonitor-Schnittstelle an Port 1012. Der + Callmonitor funktioniert nur mit aktivierter Schnittstelle. + +Die Wartungsseite findet man im Freetz Webinterface unter *Extras ⇒ +Wartung*. + +.. figure:: /screenshots/24.png + :alt: Callmonitor: Wartung + + Callmonitor: Wartung + +| + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/phonebook.rst b/wiki/packages/callmonitor/phonebook.rst new file mode 100644 index 0000000..2f0b243 --- /dev/null +++ b/wiki/packages/callmonitor/phonebook.rst @@ -0,0 +1,84 @@ +packages/callmonitor/phonebook +============================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _TelefonbuchCallers: + +Telefonbuch (Callers) +===================== + +Format: + + <Rufnummer mit Vorwahl>\ ````\ <Name>(``;`` <Adresse>) + +Ergebnisse der `Rückwärtssuche <reverse_search.html>`__ können hier +gespeichert werden für schnelleren Zugriff in der Zukunft; natürlich +können auch von Hand Nummer-Name-Paare eingetragen oder geändert werden + +- 49er-Rufnummern (ohne 00, länger als 10 Zeichen) werden erkannt +- Name des Angerufenen steht zur Verfügung (vor allem für SIP0 bis + SIP9); man kann die Zuordnung zu Namen im Telefonbuch (Callers) + vornehmen, entweder direkt für SIP0 bis SIP9 oder für Adressen der + Form "username@registrar" (das zweite hat den Vorteil, dass man im + Telefonbuch nichts anpassen muss, wenn man seine SIP-Accounts in + anderer Reihenfolge einträgt). Beim Start werden Kurznamen für alle + Accounts generiert und als Vorgabe in die Callers eingetragen. +- Suchstrategie: Erst Nummer unverändert in den lokalen Telefonbüchern + (Callers, AVM-Telefonbuch) nachschlagen, dann normalisieren (evtl. + Orts- /Landesvorwahl davor; SIP[0-9] wird zu username@registrar) und + noch einmal lokal probieren. Dann erst über Rückwärtssuche im + Internet probieren. + +.. figure:: /screenshots/216.png + :alt: Callmonitor Callers + + Callmonitor Callers + +| + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/reverse_search.rst b/wiki/packages/callmonitor/reverse_search.rst new file mode 100644 index 0000000..0e8f77b --- /dev/null +++ b/wiki/packages/callmonitor/reverse_search.rst @@ -0,0 +1,84 @@ +packages/callmonitor/reverse_search +=================================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Rückwärtssuche: + +Rückwärtssuche +============== + +Die Rückwärtssuche wird in der `Basiskonfiguration <config.html>`__ des +Callmonitors eingestellt. Sie wird bei einem der folgenden Dienste +durchgeführt: + +- `​http://telefonbuch.de/ <http://telefonbuch.de/>`__ +- `​http://inverssuche.de/ <http://inverssuche.de/>`__ +- `​http://goyellow.de/ <http://goyellow.de/>`__ +- `​http://11880.com/ <http://11880.com/>`__ +- `​http://www.dasoertliche.de/ <http://www.dasoertliche.de/>`__ +- `​http://tel.search.ch/ <http://tel.search.ch/>`__ +- `​http://www.das-telefonbuch.at/ <http://www.das-telefonbuch.at/>`__ +- `​http://www.anywho.com/ <http://www.anywho.com/>`__ + +Optional kann eine zusätzliche Suche bei Google nach dem Ortsnetz des +Anrufers durchgeführt werden. Das Ergebnis dieser Suche wird nur +verwendet, wenn die volle Rückwärtssuche kein Ergebnis liefert. + +- Bei ausgehenden Anrufen wird für die angerufene Nummer ggf. eine + Anfrage durchgeführt, nicht für die eigene. +- Rückwärtssuche mit dauerhaftem (im Flash), flüchtigen (im RAM) oder + ohne Caching möglich + +.. figure:: /screenshots/23.png + :alt: Callmonitor: Rückwärtssuche + + Callmonitor: Rückwärtssuche + +| + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/callmonitor/testcall.rst b/wiki/packages/callmonitor/testcall.rst new file mode 100644 index 0000000..dbbaac4 --- /dev/null +++ b/wiki/packages/callmonitor/testcall.rst @@ -0,0 +1,80 @@ +packages/callmonitor/testcall +============================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Callmonitor <../callmonitor.html#Callmonitor>`__ + + #. `Installation <../callmonitor.html#Installation>`__ + + #. `Installation neuer + Versionen <../callmonitor.html#InstallationneuerVersionen>`__ + + #. `Konfiguration <../callmonitor.html#Konfiguration>`__ + #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ + #. `Listeners definieren <config.html#Listenersdefinieren>`__ + #. `Testanruf <config.html#Testanruf>`__ + #. `Fehlersuche <config.html#Fehlersuche>`__ + +#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ + + #. `Format <listeners.html#Format>`__ + #. `Ereignis-Informationen für + Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ + #. `Formatierung der + Ausgaben <listeners.html#FormatierungderAusgaben>`__ + #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ + #. `Beispiele: <listeners.html#Beispiele:>`__ + +#. `Ereignisse <events.html#Ereignisse>`__ +#. `Aktionen <actions.html#Aktionen>`__ + + #. `Benachrichtigen <actions.html#Benachrichtigen>`__ + #. `Wählen, Wecken, + Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ + #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ + #. `Liste verfügbarer + Aktionen <actions.html#ListeverfügbarerAktionen>`__ + #. `Third-Party Software <actions.html#Third-PartySoftware>`__ + +#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ +#. `Wartung <maintenance.html#Wartung>`__ +#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ +#. `Testanruf <testcall.html#Testanruf>`__ + +.. _Testanruf: + +Testanruf +========= + +Nachdem die `Listeners <listeners.html>`__ definiert sind, empfiehlt es +sich, sie auf korrekte Funktion zu testen. Da man nicht immer jede +Konfiguration mit echten Anrufen testen kann, gibt es eine Seite im +Web-Interface, die Anrufe simuliert. Dabei klingeln keine Telefone, es +wird lediglich dem CallMonitor ein Anruf vorgetäuscht, den er wie einen +echten Anruf behandelt. + +.. figure:: /screenshots/22.png + :alt: Callmonitor: Testanruf + + Callmonitor: Testanruf + +| + +Die Maske sollte weitgehend selbsterklärend sein. Unter "Ereignis" kann +man einstellen, welches `Ereignis <listeners.html#Format>`__ simuliert +werden soll. Die Quellrufnummer ist diejenige, von der dieses Ereignis +ausgeht und die Zielrufnummer diejenige, die das Ziel des Ereignisses +ist. Man gibt jeweils ein Ereignis mit Rufnummern ein, die zu einem in +den Listeners definierten Muster passen. Nach einem Klick auf +"Testanruf" sollte der Callmonitor nun die zu diesem Listener-Eintrag +gehörende Aktion ausführen. Im Webinterface werden die +Debug-Informationen des Callmonitors angezeigt, die bei einer +eventuellen Fehlersuche helfen. + +- Tags +- `callmonitor </tags/callmonitor>`__ diff --git a/wiki/packages/checkmaild.rst b/wiki/packages/checkmaild.rst new file mode 100644 index 0000000..2e6730c --- /dev/null +++ b/wiki/packages/checkmaild.rst @@ -0,0 +1,149 @@ +packages/checkmaild +=================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration <checkmaild.html#Konfiguration>`__ +#. `Skript-Funktion <checkmaild.html#Skript-Funktion>`__ + + #. `LED-Signalisierung <checkmaild.html#LED-Signalisierung>`__ + #. `Telefon-Benachrichtigung <checkmaild.html#Telefon-Benachrichtigung>`__ + #. `Beispiel-Skripte <checkmaild.html#Beispiel-Skripte>`__ + +#. `Weiterführende Links <checkmaild.html#WeiterführendeLinks>`__ + +.. _checkmaild0.4.7: + +checkmaild 0.4.7 +================ + +checkmaild ermöglicht es bis zu 3 Email-Konten (POP oder IMAP) in +festgelegten Intervallen auf neue Mails zu überprüfen. Bei Erhalt einer +neuen Mail wird ein Skript (maillog.cfg) aufgerufen. In diesem kann das +Mail-Event z.B. durch eine LED an der FritzBox signalisiert werden. Oder +über einen kurzen Telefonanruf auf ein Telefon bzw. Handy. + +|/!\\| Es können keine Konten über SSL-Verbindungen abgerufen werden! + +**Unterschied von IMAP- und POP3-Konten:** Wenn die Mails über ein +IMAP-Konto abgerufen werden, dann werden die ungelesenen Mails (unread +mail) korrekt dargestellt. Eine neue Mail (new mail) wird im nächsten +Abrufintervall zur ungelesenen Mail. Da beim POP3-Zugriff das +*unseen*-Flag nicht verfügbar ist werden alle Mails im Posteingang als +ungelesen angezeigt. + +Der Source von checkmaild stammt vom +`​Tuxbox-Projekt <http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/apps/tuxbox/plugins/tuxmail/daemon/>`__. + +.. _Konfiguration: + +Konfiguration +------------- + +.. figure:: /screenshots/219.png + :alt: Checkmaild Webinterface + + Checkmaild Webinterface + +Es können 3 verschiedene Mail-Accounts konfiguriert werden. Einzugeben +sind ein Kontoname, Benutzername, Kennwort und dann noch der POP- oder +IMAP-Server des Providers. + +Weiterhin kann das Überprüfungsintervall sowie das Skript-Verhalten +festgelegt werden. Die Konfigurationsdatei kann unter +/mod/etc/checkmaild.conf eingesehen werden. + +.. _Skript-Funktion: + +Skript-Funktion +--------------- + +Ab Version 0.4 gibt es zusätzlich die Möglichkeit einer Skript-Funktion. +Diese ist wie folgt zu benutzen (GMX als Beispiel): + +.. code:: wiki + + /mod/etc/maillog.cfg 0 2 1 "GMX" "8d3451bca04e6c2f227257baa821c4b7" "14.Sep" "10:09" "User <user@gmx.de>" "Betreff"] + +- $1. Parameter: 0=New Mail received, 1=Status +- $2. Parameter: Mails total +- $3. Parameter: Current mail +- $4. Parameter: Account +- $5. Parameter: Message-ID +- $6. Parameter: Datum +- $7. Parameter: Uhrzeit +- $8. Parameter: From +- $9. Parameter: Subject + +In den Variablen $2 bis $9 stehen die eMail-Infos, wenn Parameter $1 = +"0" ist (Neue eMail empfangen). + +Das Skript ``/tmp/flash/checkmaild/maillog.cfg`` kann über das +Webinterface entsprechend angepasst werden. Testen kann man, wenn +checkmaild im Vordergrund läuft und im Skript Ausgaben gemacht werden. + +.. _LED-Signalisierung: + +LED-Signalisierung +~~~~~~~~~~~~~~~~~~ + +TODO + +.. _Telefon-Benachrichtigung: + +Telefon-Benachrichtigung +~~~~~~~~~~~~~~~~~~~~~~~~ + +TODO + +.. _Beispiel-Skripte: + +Beispiel-Skripte +~~~~~~~~~~~~~~~~ + +:: + + (echo "$1 $2 $3 ...") + +Beispiel: + +:: + + #!/bin/sh + # neue Email empfangen + if [ "$1" = "0" ]; + then + echo "Am $6 um $7 Uhr schrieb $8: $9" + fi + +Und wenn man das jetzt in Verbindung mit dem callmonitor und dem Skript +callaction auf einem VDR ausgeben will, sieht das Beispiel so aus: + +:: + + #!/bin/sh + # neue Email empfangen + if [ "$1" = "0" ]; + then + callaction vdr m741 "Am $6 um $7 Uhr schrieb $8: $9" + fi + +Hintergrundinfos zum callmonitor kann man auch hier im Wiki unter +`callmonitor <callmonitor.html>`__ nachlesen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​IPPF + Thread <http://www.ip-phone-forum.de/showthread.php?t=176375>`__: + POP3/IMAP Konten mit *checkmaild* + +- Tags +- `im </tags/im>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/cifsmount.rst b/wiki/packages/cifsmount.rst new file mode 100644 index 0000000..0e12967 --- /dev/null +++ b/wiki/packages/cifsmount.rst @@ -0,0 +1,80 @@ +packages/cifsmount +================== +cifsmount +========= + +.. figure:: /screenshots/146.jpg + :alt: + +In diesem Paket kommen die Helferlein für das Einbinden von CIFS +Netzwerkfreigaben - inklusive eines Web-Interfaces für die einfache +Konfiguration von bis zu drei "Mounts", optional mit automatischen +start/stop Events. + +| CIFS (**C**\ ommon **I**\ nternet **F**\ ile **S**\ ystem) ist eine + erweiterte Version von + `​SMB <http://de.wikipedia.org/wiki/Server_Message_Block>`__ - dem + Protokoll, welches bei MS Windows und auch `Samba <samba.html>`__ zum + Einsatz kommt, um sowohl Ordner und Dateien als auch Drucker im Netz + bereitzustellen. Somit kann cifsmount einen Samba-Client ersetzen - + mit einem weiteren großen Vorteil, wenn wir an unsere FritzBox denken: + cifsmount benötigt wesentlich weniger Speicherplatz - und ist damit + die "Erste Wahl" für diejenigen, die Windows- oder Samba-Shares auf + der FritzBox mounten möchten. + +.. _Konfigurationcifsmount: + +Konfiguration cifsmount +----------------------- + +| **Starttyp:** Automatisch (mit dem Starten der Box), oder Manuell + (starten des Dienstes von Hand). +| **Shares:** Bis zu fünf Shares können über das Webinterface angelegt + werden. +| **Share:** Hier wird die Freigabe, welche gemountet werde soll + eingetragen. +| **User:** Benutzername der Freigabe. +| **Pass:** Passwort der Freigabe. +| **Mountpoint:** Der Ort, wohin die Freigabe auf der Box gemountet + werden soll. +| **Mountoptions:** Zusätzliche Option die dem Mountbefehl angehängt + wird, zB ``noserverino`` bei sehr großen Festplatten. + +.. _Fehlersuche: + +Fehlersuche +----------- + +Mit ``echo 1 > /proc/fs/cifs/cifsFYI`` kann man cifs etwas gesprächiger +machen. Anschauen kann man sich die Meldungen mit ``dmesg | tail``. Bei +fehlendem Benutzername oder falschem Passwort sieht das Beispielsweise +so aus: + +.. code:: wiki + + root@fritz:/var/mod/root# mount -t cifs //192.168.1.1/Freetz /var/media/ftp + CIFS VFS: Send error in SessSetup = -13 + CIFS VFS: Send error in SessSetup = -13 + mount: mounting //192.168.1.172/Freetz on /var/media/ftp failed: Permission denied + root@fritz:/var/mod/root# dmesg | tail + CIFS VFS: No username specified + Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE + CIFS VFS: Send error in SessSetup = -13 + +| + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Server_Message_Block>`__ zum + SMB Protokoll und CIFS +- `​cifsmount Man + page <http://www.obdev.at/resources/sharity/manual/manCifsmount.html>`__ + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ +- `samba </tags/samba>`__ diff --git a/wiki/packages/cpmaccfg.rst b/wiki/packages/cpmaccfg.rst new file mode 100644 index 0000000..41c71bc --- /dev/null +++ b/wiki/packages/cpmaccfg.rst @@ -0,0 +1,19 @@ +packages/cpmaccfg +================= +cpmaccfg +======== + +Hier handelt es sich um ein Tool zur Konfiguration des eingebauten +Switches. Eine genauere Anleitung findet sich `in diesem +Howto <../help/howtos/security/switch_config.html>`__. + +cpmaccfg-cgi +============ + +Hiermit kann cpmaccfg über das Freetz Webinterface bedient werden. Je +nach Boxtyp werden mehr oder weniger Funktionen des Switches +unterstützt. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/ctorrent.rst b/wiki/packages/ctorrent.rst new file mode 100644 index 0000000..a953ddb --- /dev/null +++ b/wiki/packages/ctorrent.rst @@ -0,0 +1,39 @@ +packages/ctorrent +================= +.. _CTorrent: + +CTorrent +======== + +`​CTorrent <http://ctorrent.sourceforge.net/>`__ ist ein `​BitTorrent +Client <http://de.wikipedia.org/wiki/BitTorrent_(Client)>`__ mit +Kommandozeilen-Interface, der in +`​C++ <http://de.wikipedia.org/wiki/C%2B%2B>`__ geschrieben ist. + +Das originale CTorrent Projekt wurde 2006 eingestellt (siehe `​CTorrent +Homepage <http://ctorrent.sourceforge.net/>`__). Dafür hat sich ein +neuer Autor der Sache angenommen, und pflegt das Ganze als `​enhanced +CTorrent <http://www.rahul.net/dholmes/ctorrent/>`__ weiter. Das Freetz +Paket basiert auf dieser "erweiterten Version" (also auf dem *enhanced +CTorrent*). + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​CTorrent Homepage <http://ctorrent.sourceforge.net/>`__ +- `​CTorrent CVS + Repository <http://ctorrent.cvs.sourceforge.net/ctorrent/>`__ +- `​enhanced CTorrent + Homepage <http://www.rahul.net/dholmes/ctorrent/>`__ +- `​enhanced CTorrent + Projektseite <http://sourceforge.net/projects/dtorrent/>`__ bei + Sourceforge +- enhanced CTorrent `​User + Guide <http://www.rahul.net/dholmes/ctorrent/userguide.html>`__ + +- Tags +- `filetransfer </tags/filetransfer>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/curl.rst b/wiki/packages/curl.rst new file mode 100644 index 0000000..f515600 --- /dev/null +++ b/wiki/packages/curl.rst @@ -0,0 +1,21 @@ +packages/curl +============= +.. _cURL: + +cURL +==== + +`​cURL <http://curl.haxx.se/>`__ ist ein Programm, um einzelne Dateien +aus dem Internet zu transferieren - wobei nicht mit einem Browser (wie +Firefox o.ä.), sondern von der Kommandozeile gearbeitet wird. Dabei +unterstützt *cURL* die Protokolle +`​HTTP <http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol>`__, +`​HTTPS <http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure>`__, +`​FTP <http://de.wikipedia.org/wiki/File_Transfer_Protocol>`__, +`​FTPS <http://de.wikipedia.org/wiki/FTP_%C3%BCber_SSL>`__, +`​LDAP <http://de.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol>`__, +und einige andere. + +- Tags +- `packages <../packages.html>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/davfs2.rst b/wiki/packages/davfs2.rst new file mode 100644 index 0000000..65964e7 --- /dev/null +++ b/wiki/packages/davfs2.rst @@ -0,0 +1,176 @@ +packages/davfs2 +=============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Einführung <davfs2.html#Einführung>`__ + + #. `Was ist WebDAV? <davfs2.html#WasistWebDAV>`__ + #. `Was ist davfs2? <davfs2.html#Wasistdavfs2>`__ + #. `Anwendungen <davfs2.html#Anwendungen>`__ + +#. `Paket in die Firmware + einbauen <davfs2.html#PaketindieFirmwareeinbauen>`__ + + #. `Verschlüsselung mit + Zertifikaten <davfs2.html#VerschlüsselungmitZertifikaten>`__ + #. `Einstellungen/ Optionen <davfs2.html#EinstellungenOptionen>`__ + +#. `Weiterführende Threads im + IPPF <davfs2.html#WeiterführendeThreadsimIPPF>`__ + +.. figure:: /screenshots/62.jpg + :alt: WebDAV: Konfiguration + + WebDAV: Konfiguration + +.. _WebDAVmitdavfs2: + +WebDAV mit davfs2 +================= + +Paket aus dem Thread: `​WebDAV-zu-Mountpoint für die +Fritz!Box <http://www.ip-phone-forum.de/showthread.php?t=115302>`__ + +.. _Einführung: + +Einführung +---------- + +.. _WasistWebDAV: + +Was ist WebDAV? +~~~~~~~~~~~~~~~ + +WebDAV ist ein offener Standard, der auf dem +`​HTTP <http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol>`__/1.1 +Protokoll aufsetzt und dieses so erweitert, dass Dateien nicht nur +abgerufen sondern auch erstellt und ersetzt werden können. Dabei können +Benutzer auf ihre Daten wie auf eine Online-Festplatte zugreifen. +Bekannte Beispiele sind Apples iDisk und die MediaCenter von GMX +(1GB-Speicher gibt's gratis bei Anmeldung zum FreeMail-Dienst) und 1&1. +Das WebDAV Paket bietet eine grafische Oberfläche, worüber die +Einstellungen vorgenommen werden können. + +.. _Wasistdavfs2: + +Was ist davfs2? +~~~~~~~~~~~~~~~ + +| Das WebDAV-Paket in Freetz verwendet davfs2, ein + Linux-Dateisystem-Treiber, der es erlaubt, einen WebDAV-Share als + lokalen Datenträger zu mounten. +| (Quelle und weitere Infos: + `​http://dav.sourceforge.net/ <http://dav.sourceforge.net/>`__). + +.. _Anwendungen: + +Anwendungen +~~~~~~~~~~~ + +- Direktes Starten von Software vom WebDAV-Server aus ohne aufwendiges + Nachladen per wget +- Bereitstellung des WebDAV-Speicherplatzes im LAN mit Hilfe von + `Samba <samba.html>`__ + +.. _PaketindieFirmwareeinbauen: + +Paket in die Firmware einbauen +------------------------------ + +Das davfs2 Paket unter *menuconfig* auswählen: + +.. code:: wiki + + make menuconfig + Package selection -> Testing -> davfs auswählen + make + +.. _VerschlüsselungmitZertifikaten: + +Verschlüsselung mit Zertifikaten +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Etliche WebDAV-Seiten (z.B. 1&1, Alice, GMX) arbeiten mit + Verschlüsselung (https) mit Zertifikaten. +| Um diese Zertifikate im WebDAV Freetz-GUI einzutragen, geht man so vor + (Bsp. GMX Mediacenter mit dem Firefox 3.x): + +- Aufrufen von + `​https://webdav.mc.gmx.net <https://webdav.mc.gmx.net>`__ +- Es kommt ggf. eine Fehlermeldung ("Not found"), die man aber + ignoriert +- Im Firefox ruft man unter Extras die Seiteninformation auf. +- Im neuen Fenster der Seiteninformation klickt man unter "Sicherheit" + auf "Zertifikat anzeigen", dann auf "Details". +- Unter Zertifikatshierarchie stehen 2 Einträge: + + - Thawte Premium Server CA + - mediacenter.gmx.net + +- Es wird nur das CA Zertifikat (d.h. Thawte Premium Server CA) + gebraucht. Man exportiert dieses und fügt es (copy & paste, Achtung + bei Zeilenumbrüchen) im WebDAV Freetz-GUI ein. Auch für 1&1 sowie für + Alice ist nur das Thawte CA notwendig. + +Alternativ kann man es auch bei Thawte +`​herunterladen <https://www.thawte.com/roots/thawte_Premium_Server_CA.pem>`__. + +Seit dem 28.05.2012 gibt es Fehlermeldungen beim Zugriff auf GMX. +Aktualisieren des Zertifikates schafft Abhilft. + +Man kann auch die Datei mit dem Zertifikat +``/tmp/flash/davfs2/servercrtX.pem`` auf +``/etc/default.Fritz_Box_7390/avm/root_ca.pem`` linken, dort hält AVM +einige Zertifikate vor. + +Man kann das Zertifikat auch über folgenden Aufruf auf dem PC ausgeben +lassen (Die Adresse in der ersten Zeile ist anzupassen): + +.. code:: wiki + + TARGET=www.box.net:https + openssl s_client -showcerts -connect $TARGET < /dev/null 2> /dev/null | sed -n '/^-----BEGIN CERTIFICATE-----$/,/^-----END CERTIFICATE-----$/{/BEGIN /h;/BEGIN /!H};${g;p}' + +.. _EinstellungenOptionen: + +Einstellungen/ Optionen +~~~~~~~~~~~~~~~~~~~~~~~ + +Hier kann man noch Optionen (de)aktivieren: + +- Deaktiviere use-locks + Wenn die Option use-locks aktiviert ist, werden Dateien auf dem + Server gesperrt, wenn sie zum Schreiben geöffnet werden (Standard). + Man kann dieses Verhalten auch deaktivieren, d.h. dazu ist im + Freetz-GUI vor "Deaktiviere use-locks" ein Häkchen zu setzen. +- Aktiviere if_match_bug-Option + Die Option "if_match_bug" muss z.B. für GMX und 1und1 aktiviert sein, + sonst kann man keine Dateien hochladen. Manche Server verarbeiten + If-Match- und If-None-Match-Header nicht richtig. Die aktivierte + Option veranlasst mount.davfs, stattdessen HEAD zu benutzen. + +.. _WeiterführendeThreadsimIPPF: + +Weiterführende Threads im IPPF +------------------------------ + +| `​Zweiten OnlineSpeicher einbinden Webdav davfs2.conf, davfs2.secrets + und + mtab <http://www.ip-phone-forum.de/showthread.php?t=225316>`__\ `​WebDav + und SSL <http://www.ip-phone-forum.de/showthread.php?t=179968>`__ +| `​WebDAV und + http://mediacenter.gmx.net <http://www.ip-phone-forum.de/showthread.php?t=217572>`__ +| `​[erledigt] freetz-dev-3306: davfs2_1.conf statt davfs2.conf + + ...secrets + failed <http://www.ip-phone-forum.de/showthread.php?t=191646>`__ +| `​[gelöst] WebDAV: davfs2_1.conf <> + davfs2.conf <http://www.ip-phone-forum.de/showthread.php?t=186260>`__ +| `​[gelöst] WebDAV-zu-Mountpoint für die + Fritz!Box <http://www.ip-phone-forum.de/showthread.php?t=115302>`__ +| `​[gelöst] WebDAV-zu-Netzwerklaufwerk-Umsetzung auf der + Fritzbox <http://www.ip-phone-forum.de/showthread.php?t=114558>`__ + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/debootstrap.rst b/wiki/packages/debootstrap.rst new file mode 100644 index 0000000..b2de8fd --- /dev/null +++ b/wiki/packages/debootstrap.rst @@ -0,0 +1,262 @@ +packages/debootstrap +==================== +.. _Debootstrap: + +Debootstrap +=========== + +**Debootstrap** kann verwendet werden, um ein Debian System von Grund +auf neu zu installieren. Dies kann aus einem laufenden System heraus auf +einer anderen Partition oder auch in einem Verzeichnis auf dem aktuellen +System geschehen, beispielsweise um eine andere Release-Version von +Debian zu testen. Auch ist es möglich, mittels *debootstrap* eine +Installation von Debian von einer anderen Linux-Distribution aus +vorzunehmen. + +*Debootstrap* benötigt dazu initial weder +`​dpkg <http://de.wikipedia.org/wiki/Debian_Package_Manager>`__ noch +`​apt <http://de.wikipedia.org/wiki/Advanced_Packaging_Tool>`__. Das +initiale System wird erstellt, indem die Debian-Pakete von einer +Mirror-Site heruntergeladen und vorsichtig in ein lokales Verzeichnis +entpackt werden, in welches man schließlich +"`​chrooten <http://de.wikipedia.org/wiki/Chroot>`__" kann. + +Sofern z.B. unter Debian, Ubuntu *Debootstrap* noch nicht installiert +ist, kann dies mit + +.. code:: wiki + + sudo apt-get install -y debootstrap + +nachgeholt werden. + +.. _DebianinwenigenSchrittennutzen: + +Debian in wenigen Schritten nutzen +---------------------------------- + +Zuerst mit Debootstrap das Debian-System herunterladen. Dies kann von +jedem anderen System aus gemacht werden, welches das +Debootstrap-Programm enthält (z.B. auch von der gefreezten Box mit +ausgewähltem Debootstrap-Paket). Sonst ist nur noch erforderlich, dass +die gemountete Partition ext2,3 oder 4 als Dateisystem besitzt. Da es +häufig Probleme mit dem aktuellen lenny Debian gibt wird hier etch +verwendet. Es empfiehlt sich die ersten beiden Befehle am Computer +auszuführen, da dies wesentlich schneller ist. In diesem Falle sollte +man *—foreign* zu den Argumenten hinzufügen. Für alle gängigen FritzBox +Modelle bis x2xx *—arch=mipsel* eintragen, für die aktuellen x3xx +Modelle *—arch=mips* eintragen + +**Hinweis**: + +Beim angeschlossenen USB-Gerät kann die Bezeichnung variieren, in den +unten angezeigten Pfaden lautet die Bezeichnung *uStor01*, bei anderen +Geräten kann diese auch Generic-FlashDisk-01 lauten. Um die Bezeichnung +herauszufinden, gibt es 3 Möglichkeiten, entweder per +`​Weboberfläche <http://192.168.178.1/nas/index.lua>`__ (FRITZNAS), FTP +(Wurzelverzeichnis (root) muss sichtbar sein) oder per aktiviertem +Telnet. + +**Telnet** (in der Übersicht wird das USB-Gerät aufgelistet) + +.. code:: wiki + + ls /var/media/ftp/ + +**Ausgabe könnte in wie folgt sein** (Variiert nach Modell/Firmware): + +.. code:: wiki + + FRITZ-NAS.txt FRITZ-Song.mp3 Generic-FlashDisk-01 lost+found + FRITZ-Picture.jpg FRITZ-Video.mp4 Onlinespeicher + +**Mit Etch ausprobieren** (veraltete Version): + +(FritzBox Modelle bis Version x2xxx) + +.. code:: wiki + + debootstrap --foreign --arch=mipsel etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian + +(FritzBox Modelle ab Version x3xxx) + +.. code:: wiki + + debootstrap --foreign --arch=mips etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian + +**Mit Wheezy ausprobieren** (aktuelle Version): + +(FritzBox Modelle bis Version x2xxx) + +.. code:: wiki + + debootstrap --foreign --arch=mipsel wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian + +(FritzBox Modelle ab Version x3xxx) + +.. code:: wiki + + debootstrap --foreign --arch=mips wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian + +anschließend + +.. code:: wiki + + chroot /var/media/ftp/uStor01/debian /debootstrap/debootstrap --second-stage + +Sollte man Debootstrap an einem anderen PC durchgeführt haben, steckt +man den betreffenden USB-Stick nun in die FritzBox. Um das Debian jetzt +noch nutzen zu können, muss das /proc/ Verzeichnis für das Debian +bereitgestellt werden und wie bereits erwähnt "gechrootet" werden: + +.. code:: wiki + + mount -t proc proc /var/media/ftp/uStor01/debian/proc + chroot /var/media/ftp/uStor01/debian bash + +Wenn alles gut geht sollte folgender Prompt da sein + +.. code:: wiki + + root@fritz + +Ab jetzt kann man sich wie gewohnt nach einem apt-get update mit apt-get +install zusätzliche Pakete installieren. + +.. _Erfahrungswerte: + +Erfahrungswerte +--------------- + +Die Erst-Installation auf einer 7170 dauert etwa 2 Stunden, die sich mit +ca. 45/75 Minuten auf die ersten 2 Schritte verteilen. Der belegte +Speicherplatz auf einem EXT3-formatierten Datenträger liegt bei ca 505 +MB (März 2011). Im Gegensatz zur späteren Nutzung (speziell von +Aptitude) benötigt die Installation noch keinen Swap, steigert +allerdings den CPU-Verbrauch während dieser Zeit auf 100%. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Linux-Wiki: Debootstrap <http://www.linuxwiki.de/debootstrap>`__ +- `​Debian-Anwenderhandbuch: + Debootstrap <http://debiananwenderhandbuch.de/debootstrap.html>`__ +- `​Installing new Debian systems with + debootstrap <http://www.debian-administration.org/articles/426>`__ +- `​IPPF-Thread über Mailserver in Debian + chroot <http://www.ip-phone-forum.de/showthread.php?t=169744>`__ +- `​Debootstrap im Wehavemorefun + Wiki <http://wehavemorefun.de/fritzbox/index.php/Debootstrap>`__ + +.. _CommentbyoliveronSa26Feb201111:26:45CET: + +Comment by oliver on Sa 26 Feb 2011 11:26:45 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Die Erstellung des Debootstrap ist relativ einfach und gut beschrieben. +Aber wie nutzt man das jetzt? Den proc mount kann man in die rc.custom +schreiben. Und was macht man mit dem chroot? Kann man beim Starten eine +Screen-Session erstellen und sich dann dahin verbinden? Oder jedesmal +den chroot Befehl eingeben? + +.. _Commentbymandy28onSa26Feb201113:09:38CET: + +Comment by mandy28 on Sa 26 Feb 2011 13:09:38 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +chroot per Konsole starten oder bequem mit einem addon welches dann +gleichzeitig für binary ist die im chroot laufen soll + +.. _CommentbyoliveronDi01Mär201121:09:47CET: + +Comment by oliver on Di 01 Mär 2011 21:09:47 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Ich hab jetzt debootstrap installiert, aber die /etc/apt/sources.list +ist leer!? Könntest du noch beschreiben was da rein muss, dass man +Pakete installieren kann. + +.. _Commentbymandy28onDi01Mär201122:30:28CET: + +Comment by mandy28 on Di 01 Mär 2011 22:30:28 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +sollte so aussehen + +.. code:: wiki + + deb http://ftp.de.debian.org/debian stable main + +.. _CommentbyoliveronDi01Mär201122:43:32CET: + +Comment by oliver on Di 01 Mär 2011 22:43:32 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Sollte das da drin stehen oder muss man das selbst reinschreiben? + +.. _Commentbymandy28onDi01Mär201122:54:33CET: + +Comment by mandy28 on Di 01 Mär 2011 22:54:33 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +sollte normalerweise so oder ähnlich schon drin stehn + +.. _CommentbyMyRaCoLionMi02Mär201102:55:27CET: + +Comment by MyRaCoLi on Mi 02 Mär 2011 02:55:27 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Funktioniert das mit der aktuellen stable, squeeze? Lenny ist hier noch +irrtümlich als stable aufgeführt. + +.. _Commentbymandy28onMi02Mär201108:15:05CET: + +Comment by mandy28 on Mi 02 Mär 2011 08:15:05 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +mit den entsprechenden scrips in debootstrap ja , dann aber über anderen +Mirror z.B.: + +.. code:: wiki + + debootstrap --foreign --arch=mipsel squeeze /var/media/ftp/uStor01/squeeze http://ftp.de.debian.org/debian + chroot /var/media/ftp/uStor01/squeeze /debootstrap/debootstrap --second-stage + +.. _CommentbykriegaexonMo12Dez201123:05:51CET: + +Comment by kriegaex on Mo 12 Dez 2011 23:05:51 CET +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Also ich kriege nach dem Erstellen von Debootstrap auf dem PC und dem +Kopieren auf die 7170 via NFS beim chroot nur die Fehlermeldung: "FATAL: +kernel too old" + +.. _CommentbyzockyonDo26Jul201218:43:38CEST: + +Comment by zocky on Do 26 Jul 2012 18:43:38 CEST +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +zu diesem zu alter fb kernel problem + +7170 Firmware-Version 29.04.76 hatte ich auch alles was höer als etch is +die meldung "FATAL: kernel too old" da must einfach ne ältere dist +nehmen bis es geht + +die sources.list muss dan eventl auf archive server angepasst werden + +in meinem fall funktioniert das im moment mit diesem einträgen : + +| deb http://archive.debian.org/debian-archive/debian/ etch main contrib + non-free +| deb-src http://archive.debian.org/debian-archive/debian/ etch main + contrib non-free + +aba das kann sich je nach dist und aktuellem zeitraum ändern + +AddComment? + +- Tags +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/deco.rst b/wiki/packages/deco.rst new file mode 100644 index 0000000..956b70c --- /dev/null +++ b/wiki/packages/deco.rst @@ -0,0 +1,27 @@ +packages/deco +============= +.. _DemosCommander: + +Demos Commander +=============== + +DECO ist ein Dateimanager für das Betriebssystem UNIX, das zu den +Motiven des weit bekannten Norton Commander entwickelt wurde. Der "Demos +Commander" ist dabei weit resourcensparender als etwa der `Midnight +Commander <mc.html>`__ und bietet sich daher insbesondere an, wenn im +Image nur noch wenig Platz verfügbar ist, der für den `Midnight +Commander <mc.html>`__ ("mc") nicht mehr reicht. Natürlich reicht der +DeCo damit auch nicht an die Funktionalitäten des `Midnight +Commanders <mc.html>`__ heran. + +Anzumerken wäre ferner, dass (laut +`​Projektseite <http://deco.sourceforge.net/>`__) die Entwicklung des +"Demos Commander" zugunsten des "Bash Commander" eingestellt wurde - +daher ist hier kaum damit zu rechnen, dass eventuelle "Feature Requests" +noch Berücksichtigung finden werden. Auch eventuell gefundene Bugs darf +man wahrscheinlich behalten… + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/digitemp.rst b/wiki/packages/digitemp.rst new file mode 100644 index 0000000..d5b1cff --- /dev/null +++ b/wiki/packages/digitemp.rst @@ -0,0 +1,144 @@ +packages/digitemp +================= +.. _Wasistdigitemp: + +**Was ist digitemp?** +~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: /screenshots/120.jpg + :alt: DigiTemp screenshot + + DigiTemp screenshot + +Digitemp ist eine Software zum Auslesen von 1-Wire Temperatursensoren +als auch anderen von Dallas zur Verfügung gestellten 1-Wire Komponenten, +z.B. DS1820. + +.. _WichtigerHinweis: + +Wichtiger Hinweis +~~~~~~~~~~~~~~~~~ + +| |/!\\| Egal was in irgendeiner Anleitung im Internet steht, es MÜSSEN + alle 3 Beinchen der Sensoren verbunden werden! +| Ob es nun eine eigene Stromversorgung oder Masse ist, bleibt euch + überlassen. Ansonsten befinden sich die Sensoren in einem nicht + definierten Zustand und melden je nach Wetter Fantasiewerte. + +.. _TippbeiVerwendungmehrererUSB-RS232-AdapteraneinerFritzbox: + +Tipp bei Verwendung mehrerer USB-RS232-Adapter an einer Fritzbox +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wer mehrere USB-RS232-Adapter an seiner Fritzbox verwendet und das +Problem hat, dass diese mal */dev/ttyUSB0*, mal */dev/ttyUSB1* usw. +heißen, kann mit folgendem Eintrag in *rc.custom* einen Adapter mit +pl2303-Chip fest auf ein Device legen (mittels Softlink - danke an kuppe +für diesen Tipp in +`​diesem <http://www.ip-phone-forum.de/showthread.php?p=1586380#post1586380>`__ +bzw. `​diesem <http://www.ip-phone-forum.de/showthread.php?t=221189>`__ +Thread!): + +.. code:: wiki + + # digitemp-Link erstellen (pl2303) + USBNR=$(grep 2303 /proc/tty/driver/usbserial | cut -d ":" -f1) + ln -s /dev/ttyUSB$USBNR /dev/digitemp + +Die Device ID findet man mit *lsusb-freetz* heraus (Package selection → +Debug helpers → usbutils). Ein Blick nach */proc/tty/driver/usbserial* +hilft auch weiter, z.B. könnte das Resultat so aussehen (bei 2 Adaptern +mit je einem pl2303- bzw. einem ftdi-Chipsatz): + +.. code:: wiki + + root@fb1 /var/mod/root $ cat /proc/tty/driver/usbserial + usbserinfo:1.0 driver:v2.0 + 0: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-ahci_hcd-1.1 + 1: module:pl2303 name:"PL-2303" vendor:067b product:2303 num_ports:1 port:1 path:usb-ahci_hcd-1.2 + +Falls man also statt eines pl2303-Chip Adapters einen mit FTDI-Chip fest +verdrahten will, müsste obiger Code so aussehen: + +.. code:: wiki + + # digitemp-Link erstellen (ftdi) + USBNR=$(grep ftdi /proc/tty/driver/usbserial | cut -d ":" -f1) + ln -s /dev/ttyUSB$USBNR /dev/digitemp + +Bei RRDstats → Einstellungen ist unter "Serieller Port:" dann natürlich +entsprechend */dev/digitemp* zu wählen (statt */dev/ttyUSB0* o.ä.). + +.. _Datenbank: + +Datenbank +~~~~~~~~~ + +| Bis zu `r11010 </changeset/11010>`__ konnte mit einem Intervall von 60 + Sekunden 146 Tage aufgezeichnet werden, mit 150 Sekunden 1 Jahr. Ab + dieser Revision werden die Datenbanken von DigiTemp und + RRDstats-Kabelsegment mit 2 Jahren bei 60 Sekunden \*erstellt*. Damit + wachsen die einzelnen Dateien von ~85kB auf ~150kB. +| Existierende rrd-Datenbanken kann man so neue RRAs hinzufügen (für + experimentierfreudige): + +.. code:: wiki + + ## box + rc.rrdstats stop + rc.rrdstats backup + for x in *.rrd; do rrdtool dump $x > ${x%rrd}xml; done + #rm -rf *.rrd + + ## pc + rm -rf rrdtoolx.py 2>/dev/null + wget 'http://minkirri.apana.org.au/~abo/projects/rrdcollect/rrdtoolx.py' + chmod +x rrdtoolx.py + # fix for parsing '<min> 0.0000000000e+00 </min>' => '(0, 0.0)' -> 0 + sed "s/+ cmd/&.replace\('\(0, 0.0\)','0'\)/g" -i rrdtoolx.py + # fix for parsing '<min> -6.7000000000e+01 </min>' => '(-6, 70000000000.0)' -> -67 + sed "s/+ cmd/&.replace\('\(-6, 70000000000.0\)','-67'\)/g" -i rrdtoolx.py + # fix for parsing '<min> 2.5700000000e+02 </min>' => '(2, 570000000000.0)' -> 257 + sed "s/+ cmd/&.replace\('\(2, 570000000000.0\)','257'\)/g" -i rrdtoolx.py + + # xml > rrd + for x in *.xml; do rrdtool restore $x ${x%xml}rrd; done + rm -rf *.xml + # rrd > out + for x in *.rrd; do ./rrdtoolx.py addrra $x ${x%rrd}out RRA:MIN:0.5:360:2920 RRA:AVERAGE:0.5:360:2920 RRA:MAX:0.5:360:2920; done + rm -rf *.rrd + # out > xml + for x in *.out; do rrdtool dump $x > ${x%out}xml; done + rm -rf *.out + # fix newer dump format + sed '1,2d' -i *.xml + + ## box + for x in *.xml; do rrdtool restore $x ${x%xml}rrd; done + rm -rf *.xml + rc.rrdstats restore + rc.rrdstats start + +.. _WeiterführendeLinks: + +Weiterführende Links +~~~~~~~~~~~~~~~~~~~~ + +- Anleitung zur Hardware: + `​http://lena.franken.de/hardware/temperaturmessung.html <http://lena.franken.de/hardware/temperaturmessung.html>`__ +- Einbau einer zusätzlichen Stromversorgung: + `​http://public.rz.fh-wolfenbuettel.de/~hamannm/general/digitempd.html <http://public.rz.fh-wolfenbuettel.de/~hamannm/general/digitempd.html>`__ +- Anleitung digitemp und rrdtool: + `​http://www.arbeitsplatzvernichtung-durch-outsourcing.de/marty44/rrdtool.html <http://www.arbeitsplatzvernichtung-durch-outsourcing.de/marty44/rrdtool.html>`__ +- Thread "`​[Trunk #3003] Visualisierung von + DigiTemp <http://www.ip-phone-forum.de/showthread.php?t=183491>`__" + im IP-Phone-Forum (nicht auf Trunk #3003 beschränkt, sondern stetig + aktualisiert) + +- Tags +- `homeautomation </tags/homeautomation>`__ +- `packages <../packages.html>`__ +- `usb </tags/usb>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/dns2tcp.rst b/wiki/packages/dns2tcp.rst new file mode 100644 index 0000000..5650b07 --- /dev/null +++ b/wiki/packages/dns2tcp.rst @@ -0,0 +1,92 @@ +packages/dns2tcp +================ +.. _Dns2Tcp: + +Dns2Tcp +======= + +**Dns2tcp** wurde entwickelt, um TCP Connections über DNS Traffic zu +"tunneln". Die Datenkapselung erfolgt bereits auf dem TCP Level, sodass +kein gesonderter Treiber (TUN/TAP) benötigt wird. Der *Dns2tcp* Client +muss nicht mit besonderen Rechten laufen. + +*Dns2tcp* besteht aus zwei Teilen: Einem Server- und einem +Client-seitigen Tool. Aus seiner Konfigurationsdatei kennt der Server +eine Liste von Resourcen, wobei jede Resource ein lokaler oder +entfernter Dienst ist, der auf TCP Connections "horcht" ("Listener"). +Der Client hört auf einen vordefinierten TCP Port, und leitet jede +eingehende Verbindung über DNS an den Zieldienst weiter. + +.. _UsingwithFreeDNS: + +Using with FreeDNS +~~~~~~~~~~~~~~~~~~ + +None of my hosting providers allowed me to set NS records, not even for +a subdomain, which seems to be common. I found out it is also possible +to use FreeDNS for this purpose. + +Assuming you have a (`​DynDNS <http://www.dyndns.com/>`__) domain name +pointing to your Fritz!Box, lets say *fabulous.fritzbox.org*, you can do +this: + +#. Register at `​FreeDNS <http://freedns.afraid.org/>`__ +#. Create a FreeDNS subdomain: + + - Type: *NS* + - Subdomain: anything you like, for example *dns2tcp* + - Domain: anything you like, for example *strangled.ne*\ t + - Destination: for example *fabulous.fritzbox.org* + +#. Set *dns2tcp.strangled.net* as DNS name using the *dns2tcp* WebIF +#. On the client you should be able to create a DNS tunnel like this + now: + + .. code:: wiki + + dns2tcpc -r ssh -l 2222 -z dns2tcp.strangled.net fabulous.fritzbox.org + +#. If you want a local `​SOCKS <http://en.wikipedia.org/wiki/SOCKS>`__ + server to browse the internet: + + .. code:: wiki + + ssh root@localhost -p 2222 -D 8765 + +#. | If you want to use Polipo? as http proxy: + + .. code:: wiki + + ssh root@localhost -p 2222 -L 8123:localhost:8123 + +A few notes: + +#. Don't forget to forward port UDP 53 to *dns2tcpd*, for example using + `AVM-Firewall <avm-firewall.html>`__ +#. *dns2tcp* works with `dnsmasq <dnsmasq.html>`__, if you forward to a + port other than 53 +#. Use `dropbear <dropbear.html>`__ or *OpenSSH* as SSH server +#. Security advice: disable SSH password login and use a certificate to + login +#. You can setup dynamic DNS using the regular Fritz!Box interface: + + - Advanced settings \| Internet \| Permit Access \| Dynamic DNS + +#. There is no Windows client available (you could try + `iodine <iodine.html>`__) + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Dns2Tcp Homepage <http://www.hsc.fr/ressources/outils/dns2tcp/>`__ +- `​Artikel: TCP over DNS mit + dns2tcp <https://netzhure.de/2007/10/22/127-TCP-over-DNS-mit-dns2tcp.html>`__ +- `​IPPF Forumsdiskussion zu + Dns2Tcp <http://www.ip-phone-forum.de/showthread.php?t=156586>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/dnsd.en.rst b/wiki/packages/dnsd.en.rst new file mode 100644 index 0000000..86594ee --- /dev/null +++ b/wiki/packages/dnsd.en.rst @@ -0,0 +1,30 @@ +packages/dnsd.en +================ +dnsd +==== + +Small static DNS server daemon (BusyBox applet) + +.. _Links: + +Links +----- + +- `​Man page <http://www.busybox.net/downloads/BusyBox.html#dnsd>`__ +- `​DNS <http://en.wikipedia.org/wiki/Domain_Name_System>`__ + (wikipedia) + +.. _Exampleusecase: + +Example use case +---------------- + +I forward port 53 from outside to 10053, using `AVM firewall +CGI <avm-firewall.html>`__, where `iodine <iodine.html>`__ runs. +*iodine* forwards requests for unknown domains to port 5353 where *dnsd* +runs. *dnsd* answers requests for just a few sub-domains I want to use +too. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/dnsd.rst b/wiki/packages/dnsd.rst new file mode 100644 index 0000000..2082fdf --- /dev/null +++ b/wiki/packages/dnsd.rst @@ -0,0 +1,27 @@ +packages/dnsd +============= +dnsd +==== + +Schlanker DNS-Server für statische Namensauflösung (BusyBox Applet) + +.. _Links: + +Links +----- + +- `​Man page <http://www.busybox.net/downloads/BusyBox.html#dnsd>`__ + +.. _Beispielkonfiguration: + +Beispielkonfiguration +--------------------- + +Port 53 mit `AVM firewall CGI <avm-firewall.html>`__ nach 10053 mappen +wo `iodine <iodine.html>`__ läuft. Dieses leitet Anfragen unbekannter +Domains auf Port 5353 weiter wo *dnsd* läuft. *dnsd* beantwortet für ein +paar Subdomains diese Anfragen. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/dnsmasq.rst b/wiki/packages/dnsmasq.rst new file mode 100644 index 0000000..f835218 --- /dev/null +++ b/wiki/packages/dnsmasq.rst @@ -0,0 +1,519 @@ +packages/dnsmasq +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Installation <dnsmasq.html#Installation>`__ +#. `Konfiguration <dnsmasq.html#Konfiguration>`__ +#. `DNS Server <dnsmasq.html#DNSServer>`__ + + #. `mit iptables den DNS-Port + umleiten <dnsmasq.html#mitiptablesdenDNS-Portumleiten>`__ + +#. `Kommandozeilen-Optionen <dnsmasq.html#Kommandozeilen-Optionen>`__ + + #. `Beispiel 1 <dnsmasq.html#Beispiel1>`__ + #. `Beispiel 2 <dnsmasq.html#Beispiel2>`__ + +#. `DHCP Server <dnsmasq.html#DHCPServer>`__ + + #. `Beispiel <dnsmasq.html#Beispiel>`__ + +#. `Einträge in der + Hosts-Liste <dnsmasq.html#EinträgeinderHosts-Liste>`__ +#. `DHCP Boot <dnsmasq.html#DHCPBoot>`__ +#. `TFTP Server <dnsmasq.html#TFTPServer>`__ + + #. `Beispiel <dnsmasq.html#Beispiel3>`__ + +#. `Komplett eigene + Konfiguration <dnsmasq.html#KompletteigeneKonfiguration>`__ +#. `Weiterführende Links <dnsmasq.html#WeiterführendeLinks>`__ + +dnsmasq +======= + +.. figure:: /screenshots/200.png + :alt: Konfiguration + + Konfiguration + +Dnsmasq ermöglicht es, auf der FRITZBox + +- einen **DNS-Server**, der die IP- und Namensauflösung zentral + vornimmt, +- einen **DHCP-Server**, der Clienten eine IP-Adresse und einen + Hostnamen übermittelt, und +- einen **TFTP-Server**, der z. B. das Booten via + `​PXE <http://de.wikipedia.org/wiki/Preboot_Execution_Environment>`__ + ermöglicht, + +zu betreiben. + +Dnsmasq läuft komplett auf der FRITZBox, man braucht also keine +gesonderten Rechner als DHCP-Server und als DNS-Server. + +Das Besondere ist, dass dnsmasq statische DHCP-Leases beherrscht, was +die FRITZBox ohne Freetz nur eingeschränkt kann. So ist es jetzt möglich +einem Client eine selbst definierte feste IP zu geben und nicht nur eine +bereits durch den DHCP vergebene IP fest mit dem Client zu verbinden. + +.. _Installation: + +Installation +------------ + +Dnsmasq ist als Paket im Rahmen von Freetz realisiert und kann bei +dessen Erzeugung einfach ausgewählt werden. + +.. _Konfiguration: + +Konfiguration +------------- + +Zur Konfiguration gibt es im Web-Interface von Freetz die Seiten: + +- *Pakete / Dnsmasq*: Optionen zum Startverhalten, DNS-Server und + DHCP-Server (DHCP-Ranges) +- *Einstellungen / Hosts*: Liste fest vorgegebener Hostnamen +- *Einstellungen / Dnsmasq: extra*: Textfeld zur Eingabe zusätzlicher + Optionen (dnsmasq long options ohne führende ``--``) + +|/!\\| Wenn der DHCP-Server von dnsmasq genutzt werden soll, dann ist +der FRITZBox-interne DHCP-Server aus der Original-Firmware unter +*System* → *Netzwerkeinstellungen* → *IP-Adressen* zu deaktivieren + +.. _DNSServer: + +DNS Server +---------- + +Im Abschnitt *Der DNS Server ist gebunden an: Port:* trägt man den Port +ein, an den der DNS-Server gebunden ist. Der Default-Wert ist hier Port +53. + +Im Feld *Domain* kann die Domain (Domain-Teil des Hostnamens) für den +DHCP-Server angegeben werden. + +Das hat zwei Effekte. Erstens veranlasst es den DHCP-Server, diese +Domain an Hosts zurückzugeben, die sie anfordern. Zweitens bestimmt es +die Domain, die legitimiert ist, von DHCP-konfigurierten Hosts +angefordert zu werden. + +Dahinter steckt die Absicht, einen Hostnamen zu erzwingen, so kann ein +nicht vertrauenswürdiger Host im LAN seinen Namen über DHCP z. B nicht +als "ip-phone-forum.de" angeben. + +Wenn unter *Domain* nichts angegeben wurde, wird jeder DHCP-Hostname, +der einen Domain-Teil enthält, zurückgewiesen. Wenn jedoch im Feld +*Domain* ein Name angegeben wurde, dann sind Hostnamen, die einen +Domain-Teil enthalten, erlaubt, vorausgesetzt, dieser Domain-Teil und +der Name im Feld *Domain* stimmen überein. + +Wenn ein Name unter *Domain* angegeben wurde und somit Hostnamen ohne +Domain-Teil erlaubt sind, kann außerdem der Name im *Domain*-Feld als +optionaler Domain-Teil hinzugefügt werden. + +Wenn man z. B. im Feld *Domain* "fritz.box" einträgt und außerdem ein +Rechner mit dem DHCP-Hostnamen "Laptop" vorhanden ist, dann ist mit +dnsmasq die IP-Adresse dieses Rechners sowohl als "Laptop" als auch als +"laptop.fritz.box" verfügbar. + +Gibt man die Domain als "**#**" an, dann wird die Domain von der ersten +"search"-Direktive in ``/etc/resolv.conf`` gelesen. + +*Anmerkung 1:* Diese Funktion entspricht den dnsmasq-Parametern +``-E -s <domainname>`` + +| *Anmerkung 2:* Achtung, die bereits in + `​resolv.conf <http://www.freebsd.org/doc/de/books/handbook/configtuning-configfiles.html>`__ + bestehenden Einträge +| ``nameserver 192.168.x.x`` oder auch ``nameserver 127.0.0.1`` +| kommen von AVM und dürfen nicht gelöscht werden, sonst funktioniert + die Namensauflösung von AVM (z.B. Internettelefonie) nicht mehr (egal, + ob die Box per DSL oder hinter einem Kabelmodem am Internet hängt). + Gegebenfalls sind aber die Adressen (z.B. per Telnet) auf den oder die + jetztigen DNS Server zu setzen. + +.. _mitiptablesdenDNS-Portumleiten: + +mit iptables den DNS-Port umleiten +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Dazu den Port von dnsmasq auf 50053 ändern und die Optionen 'vor + multid starten' und 'multid restarten' deaktivieren. +| Im menuconfig müssen diese Optionen von iptables ausgewählt sein + (|/!\\| je nach Kernelversion variieren die Namen etwas): + +bei Kernel 2.6.28 (zb Fritzbox 7320): + +.. code:: wiki + + nf_conntrack nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter iptable_nat ip_tables ipt_REDIRECT + x_tables xt_tcpudp + libipt_REDIRECT + libxt_standard libxt_tcp libxt_udp + +Die Module durch eintragen in 'modules' beim Start von Freetz laden. + +Diese iptables Regeln mittels rc.custom ausführen: + +.. code:: wiki + + rport=50053 + + iptables -t nat -F dns 2>/dev/null + iptables -t nat -N dns + + iptables -t nat -D PREROUTING -p tcp --dport 53 -j dns 2>/dev/null + iptables -t nat -I PREROUTING -p tcp --dport 53 -j dns + iptables -t nat -D PREROUTING -p udp --dport 53 -j dns 2>/dev/null + iptables -t nat -I PREROUTING -p udp --dport 53 -j dns + + iptables -t nat -D OUTPUT -o lo -p tcp --dport 53 -j REDIRECT --to-port $rport 2>/dev/null + iptables -t nat -I OUTPUT -o lo -p tcp --dport 53 -j REDIRECT --to-port $rport + iptables -t nat -D OUTPUT -o lo -p udp --dport 53 -j REDIRECT --to-port $rport 2>/dev/null + iptables -t nat -I OUTPUT -o lo -p udp --dport 53 -j REDIRECT --to-port $rport + + for _if in $(ifconfig | sed -nr 's/^([^ ]*) .*/\1/p' | grep -vE "lo|dsl|:|eth"); do + _ip="$(ifconfig $_if 2>/dev/null | sed -n 's/.*inet addr:\([0-9\.]*\).*/\1/p')" + [ -z "$_ip" ] && continue + iptables -t nat -I dns -i $_if -p tcp -d $_ip -j REDIRECT --to-port $rport + iptables -t nat -I dns -i $_if -p udp -d $_ip -j REDIRECT --to-port $rport + done + +So kann der multid Port 53 belegen, aber es wird trotzdem dnsmasq zur +Namensauflösung genutzt. Außerdem sind so Restarts von multid nicht mehr +nötig. + +.. _Kommandozeilen-Optionen: + +Kommandozeilen-Optionen +----------------------- + +| Unter *Zusätzliche Kommandozeilen-Optionen (für Experten)* lassen sich + weitere dnsmasq-Optionen eintragen. Einige dieser Optionen sind in den + folgenden Beispielen erläutert. Alle Parameter finden sich auf der + `​originalen Man-Page von + dnsmasq <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html>`__. + Alle Optionen können anstelle der Kommandozeilen-Option auch unter + *Einstellungen* → *Dnsmasq-extra* als Liste eingetragen werden (dann + das führende Zeichen ``-`` weglassen). Das ist wesentlich bequemer und + man kann auch mit # Kommentare zufügen. Eine Beispiel-Konfiguration + findet man + hier:\ `​dnsmasq.conf.example <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example>`__. +| Nach Speichern der Änderungen wird dnsmasq automatisch neu gestartet, + damit die Änderungen wirksam werden. (Ansonsten manuell über *Dienste* + → *dnsmasq restart*) + +.. _Beispiel1: + +Beispiel 1 +~~~~~~~~~~ + +Durch (Kommandozeilen-Optionen) + +.. code:: wiki + + -O 44,192.168.178.1 -O 45,192.168.178.1 -O 46,8 + +oder alternativ (als Liste) + +.. code:: wiki + + #options to DHCP clients + dhcp-option=44,192.168.178.1 + dhcp-option=45,192.168.178.1 + dhcp-option=46,8 + +| wird unter der Adresse 192.168.178.1 ein WINS- und ein NBDD-Server mit + dem NetBIOS-Knotentyp "h-Knoten" beim Client eingetragen. +| *-O* bezeichnet spezielle Optionen für DHCP-Clients, hier für NetBIOS + über TCP/IP; dem Code *44* folgt die IP-Adresse für WINS-Server, *45* + die für NBDD-Server, und *46* der Knotentyp. + +Die meisten DHCP-Optionen sind in der +`​RFC2132 <http://www.faqs.org/rfcs/rfc2132.html>`__ festgelegt. +Allgemeine Informationen zu DHCP in deutscher Sprache findet man bei +`​Microsoft +DHCP <http://technet.microsoft.com/de-de/library/cc778368%28WS.10%29.aspx>`__. + +.. _Beispiel2: + +Beispiel 2 +~~~~~~~~~~ + +Durch (Kommandozeilen-Optionen) + +.. code:: wiki + + -R -S 208.67.222.222 -S 208.67.220.220 + +oder alternativ (als Liste) + +.. code:: wiki + + #don't read resolv file + no-resolv + #dns server + server=208.67.222.222 + server=208.67.222.220 + +werden eigene DNS-Einträge genutzt, im Beispiel diejenigen von +`​www.OpenDNS.com <http://www.opendns.com/>`__. *-S* nutzt den DNS mit +der angegebenen IP-Adresse. Dieser Schalter unterdrückt nicht das Lesen +der Datei ``resolv.conf``, das muss zusätzlich mit *-R* erledigt werden. + +.. _DHCPServer: + +DHCP Server +----------- + +Im Bereich *DHCP Range (eine pro Zeile)* werden die Bereiche in +folgender Form eingetragen: + +.. code:: wiki + + [[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<default lease time>] + +(Die `​dnsmask +Direktive <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html>`__ +dazu lautet: ``dhcp-range``. Man findet findet übrigens fast alle +gespeicherten Einstellungen im File: ``/mod/etc/dnsmasq.conf``) + +Dabei werden Adressen aus dem Bereich von <start-addr> bis <end-addr> +zuzüglich der statisch definierten Adressen aus den **Einträgen in der +Hosts-Liste** vergeben. + +Wenn eine Lease-Time ("Leihzeit") angegeben wird, dann werden Leases für +diese Zeitspanne vergeben. Die Lease-Time kann in Sekunden (z. B. +**30**) oder Minuten (z. B. **45m**) oder Stunden (z. B. **1h**) oder +durch das Wort **infinite** (unendlich) angegeben werden. Diese Option +kann mit unterschiedlichen Adressen wiederholt werden, um den +DHCP-Service zu mehr als einem Netz zu ermöglichen. + +Eine Liste der vergebenen Leases findet man in den Files +``/var/tmp/dnsmasq.leases`` und ``/var/tmp/multid.leases``. Sollte man +mal 'komische' Zuordnungen von Leases oder IP-Adressen in Netz +feststellen, lohnt sich ein Blick auf diese Files allemal. Mit Telnet +kann man diese notfalls auch komplett löschen. Mit einen Neustart von +dnsmasq werden die Files automatisch neu erstellt. + +Für direkt verbundene Netze (d. h. Netze, zu denen die FRITZBox mit +laufendem dnsmasq eine Schnittstelle hat) ist netmask optional. Es wird +jedoch für Netze verlangt, die den DHCP-Service über einen Relay-Agenten +empfangen. + +Die Broadcast-Adresse ist immer optional. Die optional freigestellte +Network-ID ist ein alphanumerisches Label, das dieses Netz kennzeichnet, +damit DHCP-Optionen auf einer Per-Netzwerk-Basis spezifiziert werden +können. Wenn *net:* davor gesetzt wird, ändert sie ihre Bedeutung von +Setzen eines Tag zu Matching. Nur ein Tag kann gesetzt werden, mehr als +ein Tag können jedoch gematchet werden. Die Endadresse kann durch das +Schlüsselwort *static* ersetzt werden, das weist dnsmasq an, DHCP für +das spezifizierte Netz zu ermöglichen, aber IP-Adressen nicht dynamisch +zuzuteilen. Nur Hosts, die statisch vergebene Adressen entsprechend der +*Einträge in der Hosts-Liste* haben, werden bedient. + +.. _Beispiel: + +Beispiel +~~~~~~~~ + +Mit dem Eintrag + +.. code:: wiki + + 192.168.178.20,192.168.178.200,12h + +werden Adressen von IP 192.168.178.20 bis IP 192.168.178.200 mit einer +Lease-Time von 12 Stunden vergeben. + +.. _EinträgeinderHosts-Liste: + +Einträge in der Hosts-Liste +--------------------------- + +.. code:: wiki + + <ipaddr>|* <hwaddr>|[id:]<client_id>|* [net:]<netid>|* <hostname>|* [ignore] + +Die Einträge in der Liste fest vorgegebener Hostnamen erlauben, dass +einem Rechner mit einer bestimmten Hardwareadresse immer die gleichen +Hostname, IP-Adresse, Lease-Time zugeteilt werden können. Ein hier +spezifizierter Hostname wird über den DHCP-Client auf den Rechner +geliefert. Hier statisch vergebene IP-Adressen werden logischerweise bei +der dynamischen IP-Vergabe ausgespart. + +Hostnamen mit Punkten im Namen sind ab Release 1.6 (dnsnasq 2.40) nicht +mehr zulässig! Dies quittiert dnsmasq mit der Fehlermeldung + +.. code:: wiki + + fritz daemon.err dnsmasq[ ]: bad name at /etc/ethers line ... + +Eine Zuordnung aus der Hosts-Liste ist dann nicht mehr möglich, und es +werden einfach andere Adressen zugeordnet. + +Es ist auch zulässig, die Hardwareadresse auszulassen und dafür den +Hostnamen mit anzugeben, in diesem Fall treffen IP-Adresse und +Lease-Time auf jeden möglichen Rechner zu, der diesen Hostnamen liefert. +Z. B. weist ``00:20:e0:3b:13:af wap infinite`` dnsmasq an, dem Rechner +mit der Hardwareadresse ``00:20:e0:3b:13:af`` den Namen wap und eine +unendliche DHCP-Lease-Time zuzuteilen. + +``lap 192.168.0.199`` weist dnsmasq an, dem Rechner lap immer die +IP-Adresse 192.168.0.199 zuzuteilen. Die Adressen, die so zugeteilt +werden, werden nicht auf den durch die dhcp-range-Option angegebenen +Bereich begrenzt, aber sie müssen im Netz, das durch den DHCP-Server +bedient wird, vorhanden sein. + +Um Hosts zu kennzeichnen, kann man statt der Hardwareadresse auch die +Client-ID verwenden, indem man ``id:`` vorsetzt. So bezieht sich +``id:01:02:03:04 .....`` auf den Host mit Client-ID !01:02:03:04. Man +kann auch die Client-ID als Text spezifizieren: +``id:clientidastext .....`` Die spezielle Option ``id:*`` bedeutet alle +möglichen Client-IDs ignorieren und ausschließliche Nutzung der +Hardwareadressen. Dies ist nützlich, wenn ein Client meistens eine feste +Client-ID hat, manchmal aber eine andere. + +Nur wenn ein Eintrag in der Hosts-Liste mit dem entsprechenden Namen +vorhanden ist, kann die zugehörige IP-Adresse über einen DHCP-Lease +zugeteilt werden. + +Das spezielle Schlüsselwort ``ignore`` weist dnsmasq an, einem Rechner +nie einen DHCP-Lease anzubieten. Dieser Rechner kann durch seine +Hardwareadresse, Client-ID oder Hostnamen, zum Beispiel +``00:20:e0:3b:13:af ignore`` spezifiziert werden. Dies ist nützlich, +wenn es einen anderen DHCP-Server im Netz gibt, der von einigen Rechnern +benutzt werden soll. + +Die Option ``net:<network-id>`` setzt das Netzwerk-ID-Tag, wenn diese +DHCP-Host-Richtlinie genutzt wird. Das kann verwendet werden, um +DHCP-Optionen für diesen Host selektiv zu senden. Ethernet-Adressen +(aber nicht Client-IDs) können Wildcard-Bytes wie etwa +``00:20:e0:3b:13:* ignore`` enthalten. Das veranlasst dnsmasq, eine +Range der Hardwareadressen zu ignorieren. + +Hardwareadressen können normalerweise irgendeinen Netz(ARP)-Typ +aufweisen, aber es ist auch möglich, sie auf einzelne ARP-Typen +einzuschränken, indem man ihnen den ARP-Typ (in HEX) und - voranstellt. +So bezeichnet ``06-00:20:e0:3b:13:af 1.2.3.4`` nur eine +Token-Ring-Hardware-Adresse, da die ARP-Adresse für Token Ring 6 ist. + +*Anmerkung:* Die ``/etc/hosts`` ist ein Symlink auf ``/var/tmp/hosts``. +Diese wiederum wird aus ``hosts`` mit den MAC-Adressen etc. beim Start +von dnsmasq generiert. + +.. _DHCPBoot: + +DHCP Boot +--------- + +Der DHCP-Boot-Eintrag wird für Optionen des +`​BOOTP <http://de.wikipedia.org/wiki/Bootstrap_Protocol>`__-Protokolls +gebraucht. Zusammen mit dem TFTP-Server können damit datenträgerlose +Arbeitsstationen konfiguriert werden. + +(Die `​dnsmask +Direktive <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html>`__ +dazu lautet: ``dhcp-boot``. ) + +.. _TFTPServer: + +TFTP Server +----------- + +Für einen TFTP-Server lauten die `​dnsmask +Direktiven <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html>`__: +``enable-tftp`` und ``tftp-root``. + +.. _Beispiel3: + +Beispiel +~~~~~~~~ + +Der integrierte TFTP-Server für einen Zugriff auf die Daten unter +``/var/ftpd`` wird wie folgt aktiviert: + +.. code:: wiki + + --enable-tftp --tftp-root=/var/ftpd + +Man sollte also zusätzlich zum Parameter ``--enable-tftp`` (der den +integrierten TFTP-Server aktiviert) mittels +``--tftp-root=/irgendein_pfad_auf_der_box`` angeben, wo die Dateien +liegen, auf die per TFTP zugegriffen werden darf. Soll ein +Client-Rechner via BOOTP (Bootstrap Protocol — die erweiterte +automatische Methode per PXE [Preboot Execution Environment] ist hier +nicht möglich) und TFTP gebootet werden, muss noch das entsprechende +Bootimage definiert werden. Das geschieht mit folgendem Parameter: + +.. code:: wiki + + -M [net:<network-id>,]<filename>,[<servername>[,<serveraddress>]] + +Dieser setzt die durch den DHCP-Server zurückgegebenen BOOTP-Optionen. +Dabei sind *Servername* und *Serveraddress* optional, ist hier nichts +angegeben, wird der Name leer gelassen und die Adresse auf die Adresse +der FRITZBox, auf der dnsmasq läuft, gesetzt. Für den von dnsmasq mit +``--enable-tftp`` zur Verfügung gestellten TFTP-Dienst ist hier nur der +Dateiname erforderlich der das Booten ermöglicht. Sollten optionale +Netzwerk-IDs angegeben werden, müssen diese mit der zu sendenden +Konfiguration zusammenpassen und außerdem den Vorsatz *net:* aufweisen. + +Nutzen kann man das Ganze zum Beispiel, um den Debian-Etch-Installer via +Netzwerk zu booten. Dazu ist auf einem USB-Datenträger das Verzeichnis +``tftp`` zu erstellen und von einem Debian-Mirror die Datei +``netboot.tar.gz`` herunterzuladen (z. B. vom `​Debian-Mirror der TU +Chemnitz <http://ftp.tu-chemnitz.de/pub/linux/debian/debian/dists/etch/main/installer-i386/current/images/netboot/netboot.tar.gz>`__) +und in das soeben erstellte Verzeichnis zu entpacken. Ist der +Datenträger mit NTFS oder FAT32 formatiert, muss der komplette Ordner +``debian-installer/i386/pxelinux.cfg`` und die Datei +``debian-installer/i386/pxelinux.0`` auf die gleiche Ebene wie +``debian-installer`` verschoben werden. Anschließend konfiguriert man +dnsmasq wie folgt (Pfad eventuell noch anpassen, je nach Konfiguration +beim Bauen von Freetz): + +.. code:: wiki + + --enable-tftp --tftp-root=/var/media/ftp/uStor01/tftp -M pxelinux.0 + +Wenn der TFTP-Server auf einem anderen Rechner läuft, z. B. hier auf +192.168.178.10 mit dem Bootfile ``pxelinux.0``, dann ist dieser +anzugeben: + +.. code:: wiki + + -M pxelinux.0,192.168.178.10,192.168.178.10 + +.. _KompletteigeneKonfiguration: + +Komplett eigene Konfiguration +----------------------------- + +Es lassen sich auch komplett eigene Konfigurationen nutzen. Dazu +erstellt man eine leere, ausführbare Datei mit dem Namen +*/tmp/flash/dnsmasq_conf* und trägt dann im Freetz-Web-Interface unter +*Einstellungen* → *Dnsmasq: extra* die gewünschte Konfiguration ein. +Informationen zur Syntax finden sich unter +`​Beispiel-Konfiguration <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example>`__. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Website von + dnsmasq <http://www.thekelleys.org.uk/dnsmasq/doc.html>`__ +- `​Deutsche + Beschreibung <http://www.martin-bock.de/pc/pc-0604.html>`__ +- `​Man-Page <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html>`__ +- `​Beispiel-Konfiguration <http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/downloader.rst b/wiki/packages/downloader.rst new file mode 100644 index 0000000..998659c --- /dev/null +++ b/wiki/packages/downloader.rst @@ -0,0 +1,59 @@ +packages/downloader +=================== +.. _Downloader-CGI: + +Downloader-CGI +============== + +| Das **Downloader-CGI** ist ausführlich in `​diesem + Forumsthread <http://www.ip-phone-forum.de/showthread.php?t=134934>`__ + beschrieben. Es hilft beim `​Platz sparen im Dateisystem der + Fritz!Box <http://wiki.ip-phone-forum.de/software:ds-mod:development:platz_sparen>`__, + indem es benötigte Pakete zur Laufzeit aus dem Netz lädt - sodass man + diese nicht fest auf der Box installieren muss. Interessant ist + Downloader in erster Linie für die Boxen ohne USB-Host und wird letzte + Zeit immer seltener gebraucht. +| Das Vorbereitungsskript für External wurde um eine automatische + Vorbereitungsroutine für den Downloader erweitert. Somit werden sowohl + die eigentlichen Dateien für die Auslagerung als separate gz-Archive + vorbereitet als auch eine Datei mit der Konfiguration für + Downloader-CGI während der make-Prozedur angelegt. Die Sektion + befindet sich in menuconfig unter den External-Optionen. +| Das Verhalten von External und Downloader unterscheidet sich um + Einiges: + +#. Downloader benutzt ausgelagerte Binaries als separate gz-Archive. + External packt dagegen alle Dateien zu einem gemeinsamen + tar.bz2-Archiv. +#. Downloader braucht eine Downloader-CGI, mit einem Dienst, der beim + Starten der Box die benötigten Dateien von einem externen HTTP- oder + FTP-Server ins RAM der Box holt. Beim External gibt es diesen Schritt + nicht. Die Dateien sind im Falle von External sofort nach dem mounten + vom USB-Medium verfügbar. +#. Beim Downloader werden Symlinks beim Bauen der Firmware vom Flash + nach RAM hingelegt. Beim External zeigen diese Symlinks auf eine + zuvor vereinbarte Stelle auf dem USB-Medium. + +Die Screenshots stammen zwar noch aus den Zeiten von ds-mod. Bis auf die +Namensänderung in Freetz und einige kosmetische Änderungen hat sich +allerdings seit dieser Zeit nicht viel geändert. + +**Hauptseite:** + +.. figure:: /screenshots/18.jpg + :alt: Downloader: Hauptseite + + Downloader: Hauptseite + +**Downloader-Logs beim Hochfahren der Box:** + +.. figure:: /screenshots/19.jpg + :alt: Downloader: Startlog + + Downloader: Startlog + +- Tags +- `cgi </tags/cgi>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/dropbear.en.rst b/wiki/packages/dropbear.en.rst new file mode 100644 index 0000000..d9ee682 --- /dev/null +++ b/wiki/packages/dropbear.en.rst @@ -0,0 +1,55 @@ +packages/dropbear.en +==================== +.. _Dropbear: + +Dropbear +-------- + +| Drobear is a small ssh server, client with keygenerator and scp + support. +| More information about dropbear can be found at + `​http://matt.ucc.asn.au/dropbear/dropbear.html <http://matt.ucc.asn.au/dropbear/dropbear.html>`__ + +.. _CreatingaFeetzImagewithDropbrear: + +Creating a Feetz Image with Dropbrear +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Follow the directions from the `Wiki <../index.en.html#>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected: + +.. code:: wiki + + Package selection ---> Standard packages ---> [*] Dropbear 0.53.1 + Package selection ---> Standard packages ---> [ ] Without scp & ssh client (NEW) + Package selection ---> Standard packages ---> [ ] With zlib Compression (NEW) + Package selection ---> Standard packages ---> [*] Disable DNS reverse-lookup of the client (NEW) + Package selection ---> Standard packages ---> [ ] Build static binary (NEW) + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Using the Dropbear setup page you can enable Dropbear to start + automatically at bootup. + +.. figure:: /screenshots/249.jpg + :alt: Dropbear setup + + Dropbear setup + +| From the setup page you can also select to edit authorized_keys file + which allows you to access the router with pre-shared keys i.s.o. just + a password. +| Selecting to edit the authorized_keys file will redirect you to SSH > + authorized_keys +| Look at the `authorized_key <authorized-keys.html>`__ page for more + info. diff --git a/wiki/packages/dropbear.rst b/wiki/packages/dropbear.rst new file mode 100644 index 0000000..3bb91ee --- /dev/null +++ b/wiki/packages/dropbear.rst @@ -0,0 +1,481 @@ +packages/dropbear +================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Grundbegriffe <dropbear.html#Grundbegriffe>`__ +#. `Web-Config <dropbear.html#Web-Config>`__ +#. `SSH-Zugang mit Passwort (Password-based + Authentication) <dropbear.html#SSH-ZugangmitPasswortPassword-basedAuthentication>`__ + + #. `Zugang mit OpenSSH <dropbear.html#ZugangmitOpenSSH>`__ + #. `Zugang mit Putty <dropbear.html#ZugangmitPutty>`__ + +#. `SSH-Zugang ohne Passwort (Public Key + Authentication) <dropbear.html#SSH-ZugangohnePasswortPublicKeyAuthentication>`__ + + #. `Zugang mit OpenSSH <dropbear.html#ZugangmitOpenSSH1>`__ + #. `Zugang mit Putty <dropbear.html#ZugangmitPutty1>`__ + +#. `Zugang zur Fritzbox von + außerhalb <dropbear.html#ZugangzurFritzboxvonaußerhalb>`__ +#. `Zugang zum Webinterface der Fritzbox oder anderen Diensten im + Heimnetz von + … <dropbear.html#ZugangzumWebinterfacederFritzboxoderanderenDienstenimHeimnetzvonaußerhalbz.B.hintereinemProxy>`__ +#. `Zugang zu anderen Rechnern mit der + Fritzbox <dropbear.html#ZugangzuanderenRechnernmitderFritzbox>`__ +#. `mögliche Anwendung von + ssh <dropbear.html#möglicheAnwendungvonssh>`__ +#. `mögliche Probleme <dropbear.html#möglicheProbleme>`__ +#. `Verbindungsaufbau + beschleunigen <dropbear.html#Verbindungsaufbaubeschleunigen>`__ + +.. _Dropbear: + +Dropbear +======== + + | "Dropbear is a relatively small SSH 2 server and client. [… …] + Dropbear is particularly useful for "embedded"-type Linux (or other + Unix) systems, such as wireless routers." + | `​http://matt.ucc.asn.au/dropbear/dropbear.html <http://matt.ucc.asn.au/dropbear/dropbear.html>`__ + +Dropbear ist ein SSH Server und Client + SCP. Es gibt zwei Pakete: +dropbear Server, Client und scp - sowie ein auf den dropbear Server +beschränktes Paket. Dropbear wurde so modifiziert, dass nur root Logins +erlaubt sind. + +.. _Grundbegriffe: + +Grundbegriffe +------------- + +- **SSH** (Secure Shell): ermöglicht eine Verbindung zwischen zwei + Rechnern (als sichere Alternative zu z.B. telnet). Dabei baut ein + *SSH-Client (z.B. PuTTY, OpenSSH, Dropbear)* eine verschlüsselte + Verbindung zu einem *SSH-Server (z.B. OpenSSH, Dropbear)* nach einer + erfolgreichen Authentifizierung auf. + Die Howtos beziehen sich größtenteils auf 2 SSH-Clients: + + #. OpenSSH für `​Windows (über eine + Cygwin-Installation <http://www.cygwin.com/>`__) oder `​Linux und + andere Betriebssysteme <http://www.openssh.com/de/>`__ + #. `​Putty mit Puttygen für Windows und + Linux <http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html>`__ + +- **SCP** (Secure Copy): ermöglicht verschlüsselte Übertragung von + Dateien zwischen zwei Rechnern. Dabei baut ein *SCP-Client (z.B. + PSCP, OpenSSH, Dropbear)* eine verschlüsselte Verbindung zu einem + *SCP-Server (z.B. OpenSSH, Dropbear)* über SSH auf. +- **Password-based Authentication**: SSH-Verbindung kommt zustande, + nachdem sich der (SSH-)Client mit einem Passwort authentifiziert hat. + + .. code:: wiki + + # ssh user@host + user@host's password: + + # scp [user@host:]file_to_copy [user@host:]target_path + user@host's password: + file_to_copy 100% 20KB/s 00:10 + +- **Public Key Authentication**: SSH-Verbindung kommt zustande, nachdem + sich der (SSH-)Client mit einem *Private Key (geheimen Schlüssel)* + gegenüber einem auf dem (SSH-)Server abgelegten *Public Key + (öffentlichen Schlüssel)* authentifiziert hat. Ein Vorteil ist, dass + man zur Anmeldung kein Passwort mehr eingeben muss. + + .. code:: wiki + + # ssh user@host + Authenticating with public key "rsa-key-XXXXXXXX" + + # scp [user@host:]file_to_copy [user@host:]target_path + Authenticating with public key "rsa-key-XXXXXXXX" + file_to_copy 100% 20KB/s 00:10 + +- **Host-based Authentication**: SSH definiert auch eine optionale + Host-basierte Authentifizierung. Diese wird jedoch selten verwendet + und von dropbear nicht unterstützt. + +.. _Web-Config: + +Web-Config +---------- + +.. figure:: /screenshots/201.png + :alt: Dropbear Konfiguration + + Dropbear Konfiguration + +- *Starttyp*: wahlweise bei Systemstart (**automatisch**) oder + **manuell** +- *Authorized keys*: Liste bekannter Public Keys für die Public Key + Authentication. Entspricht in der Syntax und Funktion genau der Datei + ``~/.ssh/authorized_keys`` bei einer normalen Unix-Installation. + Weitere Details sind + `​hier <http://www.lrz.de/services/security/ssh/>`__ beschrieben. Das + Format der *Authorized keys* im Web-GUI sollte (für root) so aussehen + (hier durch … abgekürzt): + + .. code:: wiki + + ---root + ssh-rsa AAAAB3...o1b0=0 + +- *Port des SSH-Servers* (default: 22): Änderung des Standardports hat + zur Folge, dass bei SSH-Clients explizit der Port angegeben werden + muss. +- *Passwort Login*: **aktiviert** oder **deaktiviert** Password-based + Authentication. Sollte deaktiviert werden, wenn Public Key + Authentication verwendet wird. +- *Zusätzliche Kommandozeilen-Optionen*: Dropbear wird mit bestimmten + Optionen gestartet. Übersicht über Optionen mit + ``dropbear -?`` + +.. _SSH-ZugangmitPasswortPassword-basedAuthentication: + +SSH-Zugang mit Passwort (Password-based Authentication) +------------------------------------------------------- + +Das ist die Standardeinstellung im Dropbear. Ohne weitere Einstellungen +kann die Fritzbox folgendermaßen über SSH erreicht werden: + +.. _ZugangmitOpenSSH: + +Zugang mit OpenSSH +~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + # ssh root@fritz.box + root@fritz.box's password: freetz + +.. _ZugangmitPutty: + +Zugang mit Putty +~~~~~~~~~~~~~~~~ + +#. Einstellungen setzen + ``Session/Host`` Name: ``fritz.box`` + ``Session/Port: 22`` (bzw. die Einstellung unter *Pakete* → + *Dropbear*) + ``Session/Protocol: SSH`` + ``Connection/Data/Auto-login username: root`` +#. Einstellungen speichern (optional) + bei *Session* → *Saved Sessions* beliebigen Namen (z.B. *fritzbox + ssh*) eingeben und *Save* drücken. Ab sofort kann dann per + Doppelklick auf den Namen die Verbindung aufgebaut werden (oder die + Einstellungen mit *Load* geladen werden) +#. *Open* +#. ``root@fritz.box's password: fritzbox`` + +**Wichtig:** Bei den neuen freetz Paketen ist das Standard root Passwort +nicht mehr fritzbox, sondern freetz und muss nach dem ersten Einloggen +geändert werden. + +.. _SSH-ZugangohnePasswortPublicKeyAuthentication: + +SSH-Zugang ohne Passwort (Public Key Authentication) +---------------------------------------------------- + +.. _ZugangmitOpenSSH1: + +Zugang mit OpenSSH +~~~~~~~~~~~~~~~~~~ + +#. ``ssh-keygen``, alle Abfragen mit Enter bestätigen +#. ``cat ~/.ssh/id_rsa.pub`` +#. Ausgabe von ``cat`` kopieren + *Vorsicht: Je nach verwendeter Kommandozeile können Zeilenumbrüche + mitkopiert werden, welche mit Hilfe eines Editors (Key in Editor + kopieren, Zeilenumbrüche entfernen, Key wieder kopieren) entfernt + werden sollten.* +#. Webinterface von Freetz öffnen, nach *Einstellungen* → *Authorized + keys* wechseln +#. vorher kopierten Key einfügen, *Übernehmen* +#. nun sind die serverseitigen Einstellungen abgeschlossen. Es gibt nun + 2 Möglichkeiten zum Einloggen: + + - Zugang vom selben PC und User, unter dem ``ssh-keygen`` ausgeführt + worden ist + ``ssh root@fritz.box`` + - Zugang von anderen PC oder User als ``ssh-keygen`` ausgeführt + worden ist + Wurde ``ssh-keygen`` als *user1@pc1* ausgeführt, man möchte jetzt + jedoch als *user2@pc2* Zugang über SSH auf die Fritzbox erhalten, + liegt das Problem darin, dass Dropbear *user2@pc2* nicht kennen + kann. Deshalb braucht user2 einen Ausweis, den ``ssh-keygen`` + standardmäßig im Heimatverzeichnis von user1 ``~/.ssh/id_rsa`` + ablegt und user2 zugänglich gemacht werden muss. ``id_rsa`` kann + dann beliebig umbenannt werden. Zum Einloggen über SSH auf die + Fritzbox kann nun über + ``ssh -i PfadZumIdentityFile root@fritz.box`` erfolgen (z.B. + ``ssh -i id_rsa root@fritz.box``). + Soll es jedoch genauso einfach gehen wie für *user1@pc1*, muss + einfach nur für jede Konstellation (*user1@pc2*, *user2@pc1*, …) + ssh-keygen genutzt werden um neue Schlüsselpaare zu erzeugen. Die + öffentlichen Schlüssel davon (i.d.R. ``id_rsa.pub``) sind dann + wieder in Freetz einzutragen. Jeder Schlüssel in eine eigene + Zeile. Es können quasi unendlich viele Schlüssel aufgelistet + werden. + +.. _ZugangmitPutty1: + +Zugang mit Putty +~~~~~~~~~~~~~~~~ + +#. ``puttygen`` starten +#. *Key/Generate Key Pair* +#. Maus über die leere Fläche bewegen +#. aus der Box *Public Key for pasting into …* Key komplett kopieren +#. *Save Private Key*, Warnung übergehen und in einem beliebigem + Verzeichnis mit beliebigem Namen speichern +#. Freetz Webinterface öffnen, nach *Einstellungen* → *Authorized keys* + wechseln +#. vorher kopierten Key einfügen, *Übernehmen* +#. ``putty`` starten +#. Einstellungen setzen + *Session/Host Name: fritz.box + Session/Port: 22* (bzw. die Einstellung unter *Pakete*, *Dropbear*) + *Session/Protocol: SSH* + *Connection/Data/Auto-login username: root* + *Connection/SSH/Auth/Private key file for authentication: Pfad zum + vorher gespeichertem Private Key* +#. Einstellungen speichern (optional) + bei *Session* → *Saved Sessions* beliebigen Namen (z.B. *fritzbox + ssh*) eingeben und *Save* drücken. Ab sofort kann dann per + Doppelklick auf den Namen die Verbindung aufgebaut werden (oder die + Einstellungen mit *Load* geladen werden) +#. *Open* + +.. _ZugangzurFritzboxvonaußerhalb: + +Zugang zur Fritzbox von außerhalb +--------------------------------- + +Um den SSH-Port von außen zu erreichen muß "lediglich" eine +Portweiterleitung eingerichtet werden. Leider verbietet mittlerweile das +AVM-Webinterface eine Weiterleitung auf die Box selbst. Es gibt aber ein +CGI-Paket namens AVM-Firewall, welches diese Restriktionen nicht hat: + +#. Paket CGI/AVM-Firewall mitinstallieren +#. im Menüpunkt AVM-Firewall im Freetz-Webinterface unter Ansicht "Port + Forwarding" auswählen +#. netterweise ist das was wir wollen schon voreingestellt: tcp + 0.0.0.0:22 0.0.0.0:22, also ein Forwarding von Port 22 auf Port 22 +#. die Buttons Hinzufügen und dann Übernehmen anklicken +#. den dsld, unter AVM-Dienste zu finden, neustarten + +Es kann Sinn machen Dropbear auf anderen Ports lauschen zu lassen, z.B. +um aus restriktiven Netzen herauszukommen. Dafür bieten sich Port +80(HTTP) und 443(HTTPS) an, da diese am notwendigsten sind. Wenn die +auch zu sind, ist Port 53(DNS) noch einen Versuch wert. Es können +alternativ oder zusätzlich zur obrigen Regel noch weitere für andere +Ports hinzugefügt werden. Hierzu den gewünschten Port in die obere, +etwas unglücklich, mit "(Start-)Port" Beschriftete Box eintragen. + +.. _ZugangzumWebinterfacederFritzboxoderanderenDienstenimHeimnetzvonaußerhalbz.B.hintereinemProxy: + +Zugang zum Webinterface der Fritzbox oder anderen Diensten im Heimnetz von außerhalb (z.B. hinter einem Proxy) +-------------------------------------------------------------------------------------------------------------- + +**Achtung, das Tunneln durch Proxies in Firmennetzen kann u.a. zur +Abmahnung oder sogar zur Kündigung führen. Entsprechende +Betriebsvereinbarungen bzw. Vertragsbestandteile sind unbedingt zu +berücksichtigen. Das Befolgen dieser Tipps erfolgt auf eigene Gefahr!** + +Wer von unterwegs Zugriff auf die Freetz-Oberfläche (Freetz-GUI) bzw. +die AVM-Oberfläche (AVM-GUI) benötigt, kann dafür ebenfalls PuTTY +verwenden (analog auch andere SSH-Tools). + +In Putty trägt man unter Proxy den Proxy ein. Unter Tunnels folgendes +(für das Freetz-GUI): + +.. code:: wiki + + Source Port: 1081 {ein beliebiger, freier, lokaler Port} + Destination: 192.168.178.1:81 {die IP der Box im LAN) + +Nach dem Hinzufügen erscheint im PuTTY-Fenster unter "Forwarded Ports": + +.. code:: wiki + + L1081 192.168.178.1:81 + +Entsprechend kann man sich das für das AVM-GUI (Port 80) einrichten: + +.. code:: wiki + + Source Port: 1080 {ein beliebiger, freier, lokaler Port} + Destination: 192.168.178.1:80 {die IP der Box im LAN) + +Nach dem Starten der SSH-Session und dem Login ruft man dann das +Freetz-GUI so auf: + +.. code:: wiki + + http://localhost:1081/ + +… und das AVM-GUI so: + +.. code:: wiki + + http://localhost:1080/ + +Anmerkung: + +Damit der Zugriff auf das AVM-GUI (Port 80) funktioniert, muss man den +Referer unterbinden. Unter Firefox ist dazu der Wert für +`​network.http.sendRefererHeader <http://kb.mozillazine.org/Network.http.sendRefererHeader>`__ +unter about:config auf 0 (Null) zu setzen. Inwieweit dies auch für das +Freetz-GUI (Port 81) nötig ist, müsste noch ausgiebiger getestet werden. +Wer den Referer nicht benötigt, schaltet ihn wie oben beschrieben besser +ab. + +Es lassen sich auch Weiterleitungen auf beliebige Maschinen und Dienste +im Lan schalten. Z.B. Remotedesktopverbindung für eine Maschine im LAN: + +.. code:: wiki + + Source Port: 3399 {ein beliebiger, freier, lokaler Port} + Destination: 192.168.178.21:3389 (die IP der gewünschten Maschine im LAN; statische DHCP-Leases sind hier vorteilhaft) + +im Remotedesktopclient dann: + +.. code:: wiki + + localhost:3399 + +Noch mehr Spass bereitet die Tunneloption "Dynamic": Hier muss nur noch +der lokale, frei wählbare Quellport (z.B. 8888) angegeben werden. +Solange die SSH-Session offen ist, steht dann ein SOCKS-Proxy auf dem +angegebenen Port. Wenn man den Browser oder andere Programme mit diesem +Proxy konfiguriert (localhost:8888 in diesem Beispiel), lässt sich so +der gesamte Netzverkehr durch den Tunnel schieben. Das wird durch den +geringen Upstream üblicher DSL-Anschlüsse zwar etwas langsam, führt den +Netzverkehr aber sicher aus einem unsicheren Netz wie z.B. einem freien +WLAN heraus. + +.. _ZugangzuanderenRechnernmitderFritzbox: + +Zugang zu anderen Rechnern mit der Fritzbox +------------------------------------------- + +**Anmerkung**: In der folgenden Beschreibung wird der Host-Key, der für +den Server benötigt wird, gleichzeitig als Benutzer-Key (für den +Benutzer root) genutzt. Üblicher wäre es, dafür einen eignen +Benutzer-Key anzulegen. + +Freetz legt automatisch beim ersten Systemstart einen RSA und DSS +private key für die Fritzbox an. Diese liegen in ``/var/mod/etc/ssh/`` +in ``dss_host_key`` und ``rsa_host_key`` (als symlinks zu +``/tmp/flash``). Um nun auf einen anderen Rechner per public Key +authentication zugreifen zu können, ist erst einmal der public Key +nötig, den man mit ``# dropbearkey -f /tmp/flash/rsa_host_key -y`` zB +für den RSA key, auf dem Terminal ausgegeben bekommt. Diesen dann in die +``authorized_keys`` Datei des anderen Rechners kopieren, wie es bei SSH +üblich ist. + +Der nachfolgende Befehl kopiert den RSA key auf das Remote-System mit +der IP 192.168.178.2 für den User:user01 in die Datei +~/.ssh/authorized_keys + +.. code:: wiki + + # dropbearkey -f /tmp/flash/rsa_host_key -y | ssh user01@192.168.178.2 'umask 077; cat >> .ssh/authorized_keys' + +Für einen Login ohne Passwort Angabe, muss das Keyfile wie im Beispiel +als Parameter angegeben werden. + +.. code:: wiki + + # ssh -i /tmp/flash/rsa_host_key user@machine + +Dies liefert dann einen passwortlosen Login auf 'machine' wenn dort +vorher der public key hin kopiert wurde. + +.. _möglicheAnwendungvonssh: + +mögliche Anwendung von ssh +-------------------------- + +- Ausführen eines auf der Fritzbox abgelegten Skriptes + ``ssh root@fritz.box [command]`` bzw. + ``ssh -i identityfile root@fritz.box [command]`` (z.B. + ``ssh root@fritz.box '/var/tmp/flash/testscript.sh'`` zum Ausführen + von ``/var/tmp/flash/testscript.sh``) + +.. _möglicheProbleme: + +mögliche Probleme +----------------- + +- Sollte die Verbindung nach korrekter Passwortangabe auf Modellen mit + 4MB Flash Speicher abbrechen und auch Telnet Login scheitern ist es + wahrschinlich das das Kernel ohne pty devices gebaut ist. Hier hilft + die Aktivierung des Menüpunktes *Replace Kernel*. Getestet mit FBF + 5140 FW 43.04.67-freetz-1.1.3. +- *folgende Fehlermeldung nach Anmeldung mit ``ssh root@fritz.box``: + ``Permission denied (publickey).`` + Falls man sich mit einem Passwort einloggen möchte, muss + Password-Based Authentication aktiviert sein, was unter dem + Menüpunkt* Pakete *→* Dropbear *unter* Passwort Login\ *,* Aktiviert + *einstellen kann.* +- *folgende Warnung nach Anmeldung mit ``ssh root@fritz.box``: br] + \`The authenticity of host 'fritz.box (<deine Fritzbox IP>)' can't be + established.\` [[BR? ``RSA key fingerprint is XX:XX:...:XX:XX.`` + ``Are you sure you want to continue connecting (yes/no)?`` + Einfach mit* yes *bestätigen. Wird genau dann gefragt, wenn man sich + zum ersten Mal mit dem User auf die Fritzbox verbindet (bzw. der Host + in* ~/.ssh/known_hosts *nicht bekannt ist).* +- *folgende Warnung nach Anmeldung mit* ssh root@…\ *:* + + .. code:: wiki + + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! + Someone could be eavesdropping on you right now (man-in-the-middle attack)! + It is also possible that the RSA host key has just been changed. + The fingerprint for the RSA key sent by the remote host is XX:XX:...:XX:XX. + Please contact your system administrator. + Add correct host key in ~/.ssh/known_hosts to get rid of this message. + ... + + Einfach die *~/.ssh/known_hosts* löschen (wird automatisch neu + angelegt), oder die *~/.ssh/known_hosts* öffnen und entsprechende + Zeile, wo *fritz.box* erwähnt wird, löschen. Beim nächsten + Verbindungsversuch erscheint die oben erwähnte Warnung über eine + Unsicherheit über die Authentizität des Hosts, einfach mit *yes* + bestätigen. + +.. _Verbindungsaufbaubeschleunigen: + +Verbindungsaufbau beschleunigen +------------------------------- + +Wem der Aufbau einer Verbindung zu Dropbear nicht schnell genug geht, +hier ein paar Tipps: (Bei meiner Fritzbox 7050 hat es in letzter Zeit 5 +bis 6 Sekunden gedauert; Hauptursache sind laut einigen Einträgen auf +der Dropbear-Mailingliste wohl die aufwendigen Berechnungen bei +Schlüsselaustausch.) + +- Nutzt man OpenSSH als Client, gibt es die Möglichkeit, eine + bestehende Verbindung für weitere Zugriffe (ssh, scp) zu nutzen: + Siehe die Optionen ControlMaster, ControlPath, ControlPersist; + `​http://www.debian-administration.org/articles/290 <http://www.debian-administration.org/articles/290>`__ + +- In ``/etc/profile`` wird die Datei ``/etc/init.d/rc.conf`` gelesen, + was recht lange dauert. Als Alternative kann man deren Cache-Version + ``/var/env.cache`` lesen, die in ``rc.mod`` erstellt wird. + +Mit diesen beiden Maßnahmen verbinde ich mich nun (beim zweiten bis +n-ten Mal) in Sekundenbruchteilen mit meiner Fritzbox. + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ diff --git a/wiki/packages/dtach.rst b/wiki/packages/dtach.rst new file mode 100644 index 0000000..23b7b2d --- /dev/null +++ b/wiki/packages/dtach.rst @@ -0,0 +1,67 @@ +packages/dtach +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Bedienung <dtach.html#Bedienung>`__ +#. `Weiterführende Links <dtach.html#WeiterführendeLinks>`__ + +dtach +===== + +*"dtach is a free (GPL'ed) program for POSIX-compliant OSs intended to +provide similar functionality to that of the GNU Project's Screen, but +stripping out what the developer (Ned T. Crigler) considers to be +unneeded features to provide a much slimmer product; in addition, it is +intended to interfere less with key bindings than Screen does."* +(source: Wikipedia - see below) + +*Dtach* is a tiny program that emulates the detach feature of +`screen <screen.html>`__, allowing you to run a program in an +environment that is protected from the controlling terminal and attach +to it later. It was introduced in Freetz trunk +`2636 </changeset/2636>`__ by whoopie. It is smaller than the +aforementioned *screen*. + +.. _Bedienung: + +Bedienung +--------- + +Erstellen einer neuen dtach-Session am Beispiel von +`mcabber <mcabber.html>`__: + +.. code:: wiki + + dtach -c /tmp/mcabber.dtach mcabber + +Erstellen einer neuen dtach-Session, aber direkt wieder die Session +verlassen bzw. im Hintergrund starten: + +.. code:: wiki + + dtach -n /tmp/mcabber.dtach mcabber + +Mit "*Strg + \\*" kann man die Session verlassen. + +Wieder in die Session "einklinken": + +.. code:: wiki + + dtach -a /tmp/mcabber.dtach + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Sourceforge-Projektseite + (Englisch) <http://dtach.sourceforge.net>`__ +- `​Wikipedia (Englisch) <http://en.wikipedia.org/wiki/Dtach>`__ +- `​Thread for discussion in + IP-Phone-Forum.de <http://www.ip-phone-forum.de/showthread.php?t=176923>`__ + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/dtmfbox.rst b/wiki/packages/dtmfbox.rst new file mode 100644 index 0000000..70d496c --- /dev/null +++ b/wiki/packages/dtmfbox.rst @@ -0,0 +1,292 @@ +packages/dtmfbox +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Features <dtmfbox.html#Features>`__ +#. `Einrichtung <dtmfbox.html#Einrichtung>`__ +#. `Konfiguration <dtmfbox.html#Konfiguration>`__ + + #. `Accounts <dtmfbox.html#Accounts>`__ + #. `Internes Menü <dtmfbox.html#InternesMenü>`__ + #. `Menü/Skripte bearbeiten <dtmfbox.html#MenüSkriptebearbeiten>`__ + #. `eSpeak anpassen <dtmfbox.html#eSpeakanpassen>`__ + +#. `Weiterführende Links <dtmfbox.html#WeiterführendeLinks>`__ + +.. _DTMFBox: + +DTMFBox +======= + +Der Name lässt es bereits vermuten: Eine "Box", die was mit "DTMF" macht +(*D*\ ual *T*\ one *M*\ ultiple *F*\ requency, siehe +`​Wikipedia <http://de.wikipedia.org/wiki/Mehrfrequenzwahlverfahren>`__), +welches sich durch Drücken auf die Telefontasten auslösen lässt. Somit +lässt sich ein Sprachmenü auf der FritzBox realisieren, welches Skripte +und Programme aufruft per "Knopfdruck". Mittels `eSpeak <espeak.html>`__ +kann man Texte auf dem Telefon ausgeben/abspielen. + +DTMFBox unterstützt SIP und CAPI. Ein Registrar ist ebenfalls +integriert, um Telefoniegeräte per SIP anzubinden +(`​Softswitch <http://de.wikipedia.org/wiki/Softswitch>`__). + +DTMFBox unterliegt der GPL - jeder ist also herzlich eingeladen, es zu +nutzen **und dazu beizusteuern** (indem z.B. selbst erstellte +Skripte/Aktionen auch für andere Nutzer verfügbar gemacht werden). + +**Derzeit funktioniert dieses Packet in den neueren Versionen nicht +mehr, die letzte Trunk version in der dieses Packet einwandfrei läuft +ist 5236** + +.. _Features: + +Features +-------- + +Mit *DTMFBox* wird uns ein mächtiges Werkzeug an die Hand gegeben. Hat +man sie ins Image eingebunden, ist noch eine einmalige "Installation" +nötig (dadurch hat man die Möglichkeit, das Ganze wahlweise im RAM oder +auf dem an die Box angeschlossenen USB-Stick unterzubringen). Alles, was +jetzt noch zu tun bleibt, ist die Einrichtung und Aktivierung von +Accounts (damit DTMFBox weiß, auf welche Rufnummern es reagieren soll) - +und schon stehen zahlreiche Funktionen zur Verfügung, z.B.: + +- Anrufbeantworter (der braucht noch seine Ansage als ``*.wav`` Datei - + oder man verwendet `eSpeak <espeak.html>`__) + + - Auflisten der Nachrichten im Freetz WebIF + - Versand eingehender Nachrichten per Mail und/oder Streaming per + FTP + - "Scheduling" (also z.B. "AB nur von 18:00 bis 09:00 Uhr (außerhalb + der Bürozeiten)" + +- Info-Menü z.B. zum + + - Erfragen der Uhrzeit + - Erfragen der aktuellen IP Adresse (wenn z.B. DDNS mal hängt) + - Mail Check ("Es gibt x neue Nachrichten") + - Webradio + - Wetterdienst + +- CallThrough/CallBack nach PIN-Eingabe +- SIP-Registrar (ISDN/Analog Telefone per SIP anbinden) +- Webphone (Java-App) zum telefonieren ohne Telefon - dafür mit Headset + am PC + +All diese Dienste sind bereits weitgehend vorkonfiguriert - man muss sie +meist nur noch Aktivieren (per Default sind die meisten Sachen +deaktiviert, sofern sie automatische Aktionen auslösen würden - wie z.B. +der Anrufbeantworter). + +Ansonsten sind der Fantasie kaum Grenzen gesetzt, wozu sich DTMFBox noch +verleiten ließe. Als Beispiel für zusätzliche Features sei die +"CallCenter Bremse" genannt, mit Hilfe derer man sich vor anonymen +"WolleRoseKaufe" Anrufern ein wenig schützen kann (wie das geht, findet +sich in `​diesem +Forumsbeitrag <http://www.ip-phone-forum.de/showthread.php?p=1169484>`__), +oder das Starten von Programmen nach PIN-Eingabe. + +.. _Einrichtung: + +Einrichtung +----------- + +Wie bereits oben angedeutet, sind zunächst ein paar vorbereitende +Schritte notwendig: + +- Einbinden ins Image + für Sprachfunktionen kann hier zusätzlich das `eSpeak + Paket <espeak.html>`__ ausgewählt, und bei DTMFBox der eSpeak Support + aktiviert werden. Ohne dies geht es auch über Webstream, der + allerdings eine Internet-Verbindung voraussetzt)) +- Image installieren (oh, wirklich?) +- Im Freetz-Menü einen der DTMFBox Menüpunkte auswählen, und DTMFBox + wahlweise im RAM oder auf USB installieren +- Accounts einrichten +- DTMFBox manuell starten +- ggf. DTMFBox für automatischen Start konfigurieren, damit es nach + einem Neustart der Box auch ohne Eingreifen des Besitzers/Betreibers + wieder aktiv wird + +.. _Konfiguration: + +Konfiguration +------------- + +Was und wie das geht, verrät Euch die gute und umfangreiche +Online-Hilfe. Sicher ließe sich diese auch nochmal komplett im Wiki +unterbringen - das hieße dann aber, sie an zwei Stellen pflegen zu +müssen; dabei bleibt erfahrungsgemäß eine Kopie "weniger aktuell". Die +Hilfe im Paket selbst wird vom Autoren mitgepflegt - für Details sei +also auf jene verwiesen. Hier wollen wir nur einen kurzen Einblick +geben, wie einfach die Konfiguration zu bewerkstelligen ist. Ich beziehe +mich damit auf Version 0.5.0 des Paketes - für spätere Versionen mag das +hier beschriebene u.U. zumindest teilweise "überholt" sein. + +Die Konfiguration erfolgt primär, wer hätte das gedacht, bequem über das +Freetz WebIF. "Primär" heißt hier nicht, dass man noch woanders tätig +werden *muss* - sondern dass der "versierte Anwender" auch über das +Dateisystem an Konfigurationsdatei und/oder Skripten arbeiten *kann*. + +.. _Accounts: + +Accounts +~~~~~~~~ + +Das hier ist ein *Muss* - ohne bleibt DTMFBox funktionslos, und wenn man +es noch so oft startet… + +Wie das meiste, sind auch die "Accounts" bereits ein wenig +vorkonfiguriert - es ist also wirklich nicht viel zu tun. Im Menüpunkt +"Basis" klappt man die Drop-Down Box auf, und wählt z.B. "acc1" +("Account `#1 </ticket/1>`__") aus. Nun werden auf der Seite die Details +angezeigt. Was nun getan werden muss, ist eigentlich nur dem Account +einen Namen zu geben (damit man ihn später "erkennt"), die zugehörige +Rufnummer (ohne Vorwahl - also die "MSN") eintragen (Achtung - nur wenn +die Anlage am ISDN-Bus hängt, für analoge Anschlüsse kommt die "MSN" in +den Namen, und bei Nummer trägt man "unknown" ein), und den Account +aktiviert - das war's im Wesentlichen. + +Nach dem Einrichten der Accounts (und ggf. weiterer Konfiguration - auf +jeden Fall vor dem Verlassen der "Basis" Seite) das Speichern nicht +vergessen, sonst war alles umsonst… + +Hier habe ich nur das Einrichten von ISDN bzw. Analoganschlüssen +beschrieben. DTMFBox kann aber auch mit VoIP (über CAPI sowie über SIP) +umgehen, und man kann sogar ISDN/Analoges über SIP abwickeln. Passende +Informationen finden sich in der Online-Hilfe, und würden diesen Artikel +sprengen - daher entfallen sie hier. + +Ruft man nun bei sich selbst an, und gibt den Menücode ein (Beispiel: +**600), können die bereits vorkonfigurierten Aktionen +(siehe**\ `oben <dtmfbox.html#Features>`__\ **) benutzt werden.** + +.. _InternesMenü: + +Internes Menü +~~~~~~~~~~~~~ + +Das interne Menü kann über die Kurzwahl des Accounts erreicht werden. +Standardmäßig gilt dies zunächst nur für ISDN. Die DTMFBox empfängt die +Meldungen auf Controller 3 und kann somit das Gespräch bei Eingabe der +Kurzwahl an das interne Menü weiterleiten. + +Bei Analog geht dies nicht, da keine Meldungen auf dem internen S0 +eintreffen! Man kann das Menü aber dennoch, mithilfe des +Registrar-Modus, erreichen: + +- Registrar-Modus aktivieren (Basiseinstellungen → voip) +- Registrierungsdaten im Account hinterlegen und aktivieren + (Basiseinstellungen → accX) +- Im AVM-Webinterface einen Internet-Telefonieaccount anlegen. Z.B.: + + - Internettelefonie-Anbieter: (anderer Anbieter) + - Internetrufnummer: 81 + - Registrar: 192.168.178.1:5061 (IP der FB und SIP-Port der DTMFBox + angeben) + - Benutzername: (Benutzername) + - Passwort: (Passwort) + - Rufnummernformat anpassen: (nichts auswählen) + +Jetzt die DTMFBox neu starten und den SIP-Account anwählen + Kurzwahl. + +Bei dem ersten Internettelefonie-Account und der Kurzwahl 801 wäre das: +\*121#801 + +.. _MenüSkriptebearbeiten: + +Menü/Skripte bearbeiten +~~~~~~~~~~~~~~~~~~~~~~~ + +Natürlich lassen sich die vorkonfigurierten Menüs auch anpassen und/oder +erweitern. So können neue Aktionen und/oder Skripte hinzugefügt, +bestehende angepasst, oder auch "ungewollte" gelöscht werden. Alles +völlig unkompliziert über das WebIF. Trotz der umfangreichen +Möglichkeiten, die DTMFBox bietet, ist dies alles weit weniger +kompliziert, als man befürchten mag. + +Wie man bestehende Aktionen erweitert oder weitere Funktionalitäten +hinzufügt, geht über diesen Artikel hinaus - für ein Beispiel sei +nochmals auf den `​Forums-Artikel zum +CallCenter-Bremser <http://www.ip-phone-forum.de/showthread.php?p=1169484>`__ +hingewiesen, der das recht gut erläutert - und natürlich auf die +Online-Hilfe. + +.. _eSpeakanpassen: + +eSpeak anpassen +~~~~~~~~~~~~~~~ + +Wem die Sprachausgabe in der Standard-Konfiguration nicht so recht +zusagt, der kann sie freilich auch noch anpassen. Die entsprechenden +Informationen finden sich hinter dem Link **dtmfbox-skript**, wenn man +etwas weiter nach unten scrollt. Folgende Optionen stehen da zur +Disposition: + ++-----------------------------------+-----------------------------------+ +| \| Option | \| Erklärung | ++-----------------------------------+-----------------------------------+ +| Modus | Hier lässt sich einstellen, | +| | welcher Modus verwendet werden | +| | soll - was natürlich abhängig von | +| | den installierten Optionen ist. | +| | Von der Qualität sind | +| | **Webstream** und **installiert** | +| | gleich - wobei **installiert** | +| | logischerweise nur ausgewählt | +| | werden sollte, wenn eSpeak auch | +| | direkt auf der Box installiert | +| | ist. Bei **Beep** wird lediglich | +| | ein Piepton ausgegeben. | ++-----------------------------------+-----------------------------------+ +| Language | Was das wohl ist? Tipp: | +| | ISO-Kürzel für Deutsch ist "de" | ++-----------------------------------+-----------------------------------+ +| Typ | Sprecher-Auswahl. Hier stehen | +| | verschiedene männliche (m1..mx) | +| | und weibliche (w1..wx) Stimmen | +| | zur Verfügung. | ++-----------------------------------+-----------------------------------+ +| Lautstärke | keine Ahnung |;-)| | ++-----------------------------------+-----------------------------------+ +| Geschwindigkeit | Von "nnaaaa jjaaaa" bis | +| | "kommstenochmit" (z.B. 170) | ++-----------------------------------+-----------------------------------+ +| Pitch | Tonhöhe - hier lassen sich aus | +| | männlichen Stimmen Soprane und | +| | aus weiblichen bärtige Ladies | +| | machen (z.B. 50) | ++-----------------------------------+-----------------------------------+ +| Pfade | Bei der standalone Version finden | +| | sich espeak, madplay usw. unter | +| | /var/dtmfbox/extras, sodass | +| | dieser Pfad hier voreingestellt | +| | ist. Bei der in Freetz | +| | integrierten Version liegen die | +| | Dinge wo anders |(*)|: | +| | **espeak:** ``/usr/bin``, | +| | **madplay:** ``/usr/bin``, | +| | **checkmaild:** ``/mod/etc`` | ++-----------------------------------+-----------------------------------+ +| | \*Achtung, das espeak Binary | +| | heisst "speak" - falls jemand | +| | danach sucht und sich wundert, | +| | dass man es unter ``/usr/bin`` | +| | nicht als "espeak" findet. | ++-----------------------------------+-----------------------------------+ + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://web.archive.org/web/20110830124914/http://dtmfbox.v3v.de/ <http://web.archive.org/web/20110830124914/http://dtmfbox.v3v.de/>`__ + +- Tags +- `packages <../packages.html>`__ +- `phone </tags/phone>`__ + +.. |;-)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png +.. |(*)| image:: ../../chrome/wikiextras-icons-16/asterisk.png + diff --git a/wiki/packages/e2fsprogs.rst b/wiki/packages/e2fsprogs.rst new file mode 100644 index 0000000..ed39eb1 --- /dev/null +++ b/wiki/packages/e2fsprogs.rst @@ -0,0 +1,31 @@ +packages/e2fsprogs +================== +e2fsprogs +========= + +**e2fsprogs** ist eine Tool-Sammlung zur Wartung von *ext2* and *ext3* +Dateisystemen. Diese Dateisysteme werden für gewöhnlich als Standard bei +den meisten Linux-Distributionen eingesetzt. Die Sammlung beinhaltet für +gewöhnlich: + +- **e2fsck** zum Überprüfen und ggf. reparieren der Dateisysteme +- **mke2fs** um *ext2*/*ext3* Dateisysteme zu erstellen +- **resize2fs** zum Vergrößern/Verkleinern von Dateisystemen +- **tune2fs** zur Einstellung von Dateisystem Parametern +- **dumpe2fs** zur Ausgabe von Superblock und Blockgruppen Information +- **debugfs** zur manuellen Anzeige bzw. Bearbeitung von Dateisystem + Strukturen + +Anders als es der Name vermuten lässt, ist diese Sammlung nicht auf +*ext2* beschränkt - sondern arbeitet auch mit *ext3*, welches ja +letztendlich auch nur eine Erweiterung von *ext2* darstellt. + +Weitere Informationen finden sich auf der `​e2fsprogs +Homepage <http://e2fsprogs.sourceforge.net/>`__, bei +`​Wikipedia <http://en.wikipedia.org/wiki/E2fsprogs>`__ und im +inoffiziellen `​FRITZ!Box +Wiki <http://wehavemorefun.de/fritzbox/PACKAGE_E2FSPROGS>`__. + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/emailrelay.rst b/wiki/packages/emailrelay.rst new file mode 100644 index 0000000..8ab67e3 --- /dev/null +++ b/wiki/packages/emailrelay.rst @@ -0,0 +1,34 @@ +packages/emailrelay +=================== +.. _E-MailRelay: + +E-MailRelay +=========== + +.. figure:: /screenshots/274.jpg + :alt: E-MailRelay + + E-MailRelay + +Von der Webseite des Herstellers: + + E-MailRelay is a simple SMTP proxy and store-and-forward message + transfer agent (MTA). When running as a proxy all e-mail messages can + be passed through a user-defined program, such as a spam filter, + which can drop, re-address or edit messages as they pass through. + When running as a store-and-forward MTA incoming messages are stored + in a local spool directory, and then forwarded to the next SMTP + server on request. + + E-MailRelay can also run as a POP3 server. Messages received over + SMTP can be automatically dropped into several independent POP3 + mailboxes. + +.. _HilfefürdieKonfiguration: + +Hilfe für die Konfiguration +--------------------------- + +| `​User guide <http://emailrelay.sourceforge.net/userguide.html>`__ +| `​Reference <http://emailrelay.sourceforge.net/reference.html>`__ +| `​Manpage <http://emailrelay.sourceforge.net/emailrelay-man.html>`__ diff --git a/wiki/packages/empty.rst b/wiki/packages/empty.rst new file mode 100644 index 0000000..5bafee0 --- /dev/null +++ b/wiki/packages/empty.rst @@ -0,0 +1,24 @@ +packages/empty +============== +.. _Empty: + +Empty +===== + +**Empty** stellt eine Schnittstelle bereit, um mit Programmen in +Pseudo-Terminal Sessions +(`​PTYs <http://de.wikipedia.org/wiki/Pseudoterminal>`__) zu +kommunizieren. Sehr nützlich ist dies z.B. bei der Programmierung von +Shell-Skripten, die mit interaktiven Programmen wie +`​Telnet <http://de.wikipedia.org/wiki/Telnet>`__, +`SSH <dropbear.html>`__, +`​FTP <http://de.wikipedia.org/wiki/File_Transfer_Protocol>`__, usw. +arbeiten sollen. In einigen Fällen kann *Empty* der einfachste Ersatz +für `​TCL/expect <http://expect.nist.gov/>`__ und ähnliche +Programmiertools sein. + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/espeak.rst b/wiki/packages/espeak.rst new file mode 100644 index 0000000..4aa2574 --- /dev/null +++ b/wiki/packages/espeak.rst @@ -0,0 +1,82 @@ +packages/espeak +=============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Installation <espeak.html#Installation>`__ +#. `Aufruf <espeak.html#Aufruf>`__ +#. `Hinweis <espeak.html#Hinweis>`__ +#. `Weiterführende Links <espeak.html#WeiterführendeLinks>`__ + +.. _eSpeak: + +eSpeak +====== + +eSpeak ist ein "Text to Speech" Generator - oder, anders ausgedrückt, +ein "Vorlese-Programm", welches ASCII Texte mit synthetischer Stimme +wiedergeben ("vorlesen") kann. Bei Freetz wird es u.a. von +`DTMFBox <dtmfbox.html>`__ genutzt. + +.. _Installation: + +Installation +------------ + +Zur Installation ist das Paket einfach im Paket-Menü von +``make menuconfig`` auszuwählen. Unterstützung für zahlreiche +zusätzliche Sprachen lassen sich nochmals (als "Bundle") auswählen, +sobald das Paket selbst ausgewählt wird. Dies macht spätestens dann +Sinn, wenn man auch mehrere Sprachen benötigt. + +Wer die Sprachausgabe lediglich für DTMFBox benötigt, muss das +eSpeak-Paket nicht zwangsweise installieren: DTMFBox unterstützt auch +sogenanntes "WebStreaming" (die Audio-Daten werden dann auf einem +anderen Server generiert) - was allerdings eine bestehende +Internet-Verbindung voraussetzt. + +.. _Aufruf: + +Aufruf +------ + +An dieser Stelle nur ein paar **kurze** Tipps zum Aufruf von eSpeak - +Details finden sich auf der +`​Projektseite <http://espeak.sourceforge.net/commands.html>`__: + +``espeak "Hallo Welt"`` sagt einfach "Hallo Welt" mit den +Default-Einstellungen. Das kann recht komisch klingen, wenn z.B. +Englisch als Default-Sprache eingestellt ist. Daher kann man sowohl +Sprache als auch Sprecher per Parameter übergeben: +``espeak -vde+f3 "Hallo Welt"`` lässt den gleichen Text von einer +deutschen Frauenstimme säuseln - richtig geraten: "-vde" wählt Deutsch +("-ven" Englisch), das "+f" steht für "feminin" (wovon es mindestens ++f1, +f2, +f3 verschiedene "Modelle" gibt), und es gibt auch (+m1, +m2, ++m3) "maskuline" Stimmen. Den "+XX" Teil kann man ebenfalls weglassen, +wenn nur die Sprache festgelegt werden soll. + +Sollte sich die Stimme überschlagen, so kann man mit dem Parameter +``-s`` am "Speed" drehen (``-s 170`` ist ein guter Ausgangswert). Auch +die Stimmhöhe lässt sich beeinflussen: ``-p 50`` setzt den "Pitch" auf +50 (guter Ausgangswert). Höhere Werte machen männliche Stimmen zu +Eunuchen - niedrigere transformieren "anwesendes Weibsvolk" zu "bärtigen +Ladies". + +.. _Hinweis: + +Hinweis +------- + +Das Executeable findet sich auf der Box unter ``/usr/bin/speak``. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://espeak.sourceforge.net <http://espeak.sourceforge.net>`__ + +- Tags +- `audio </tags/audio>`__ +- `packages <../packages.html>`__ +- `phone </tags/phone>`__ diff --git a/wiki/packages/fhem.rst b/wiki/packages/fhem.rst new file mode 100644 index 0000000..b529f1f --- /dev/null +++ b/wiki/packages/fhem.rst @@ -0,0 +1,45 @@ +packages/fhem +============= +.. _FHEM: + +FHEM +==== + +`​FHEM <http://www.koeniglich.de/fhem>`__ ist ein Open Source Programm +zur Verwaltung von Geräten zur *Home Automation*. Der Focus liegt dabei +auf Geräten der FS20 Spezifikation von +`​Contronics <http://www.contronics.de/>`__ - es werden aber auch +weitere Systeme unterstützt. *FHEM* ist überwiegend in Perl geschrieben, +und nutzt den Apache Web Server zur Bereitstellung eines Web-Frontends, +mit dem sich die verfügbaren Geräte verwalten und Steuern lassen. + +.. _Installation: + +Installation +------------ + +Eine aktuelle Installationsanleitung findet sich unter +`​http://www.koeniglich.de/fhem/fritzbox.html <http://www.koeniglich.de/fhem/fritzbox.html>`__, +und setzt auf Freetz auf. Da die dortige Seite vom Entwickler selbst +gepflegt (und somit aktuell gehalten) wird, möchte ich diese +Informationen hier nicht duplizieren. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://www.fs20-forum.de/ <http://www.fs20-forum.de/>`__ — Das + Forum rund um FS20 +- `​http://www.fhz-forum.de/ <http://www.fhz-forum.de/>`__ — Forum für + die FS20 Steuer-Zentralen FHZxxxx +- `​http://fhz4linux.info/tiki-index.php <http://fhz4linux.info/tiki-index.php>`__ + — FHZxxxxPC unter Linux +- `fhzctrl <fhzctrl.html>`__ ist eine resourcenschonendere, aber auch + weniger mächtige Variante + +- Tags +- `addons </tags/addons>`__ +- `homeautomation </tags/homeautomation>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/fhzctrl.rst b/wiki/packages/fhzctrl.rst new file mode 100644 index 0000000..23e7fb3 --- /dev/null +++ b/wiki/packages/fhzctrl.rst @@ -0,0 +1,27 @@ +packages/fhzctrl +================ +fhzctrl +======= + +`​fhzctrl <http://fhzctrl.sourceforge.net/>`__ ist ein Unix-Tool zum +Management von *Home Automation* Anlagen der FS20 Spezifikation von +`​Contronics <http://www.contronics.de/>`__. Es unterstützt "normale" +i386 Architekturen und MIPS AR7 Router wie die FritzBox. + +Für *fhzctrl* gibt es (noch) kein Freetz-Paket - es wäre aber sicher +eine gute Sache, und wird bald vorhanden sein (hoffe ich). + +Wie der Name bereits suggeriert, setzt *fhzctrl* eine Zentrale +(**F**\ S20 **H**\ aus **Z**\ entrale) aus der Baureihe *FHZ1x00PC* +voraus. Es ist auch bei weitem nicht so mächtig wie etwa +`packages/fhem <fhem.html>`__ - dafür aber auch weit +resourcenschonender; es wird z.B. kein Apache benötigt. + +Weiteres bitte den gesetzten Links entnehmen, bis jemand diesen Artikel +ggf. entsprechend erweitert. + +- Tags +- `addons </tags/addons>`__ +- `homeautomation </tags/homeautomation>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/fortune.rst b/wiki/packages/fortune.rst new file mode 100644 index 0000000..cc700e1 --- /dev/null +++ b/wiki/packages/fortune.rst @@ -0,0 +1,90 @@ +packages/fortune +================ +fortune +======= + +| Das Computerprogramm Fortune ist traditionell auf Computern mit Unix + oder Linux als Betriebssystem zu finden. Es existieren aber auch für + Windows entsprechende Programme. +| Seine Funktion besteht darin, "fortune cookies" (Glückskekse) und + andere humorvolle Aphorismen anzuzeigen. +| Dank an `​zyrill <http://www.ip-phone-forum.de/member.php?u=234921>`__ + für dieses sinnfreie aber äußerst lustige Paket. So macht Konsole + wieder Spaß. + +.. _Paketkonfigurieren: + +Paket konfigurieren +------------------- + +.. figure:: /screenshots/220.png + :alt: Fortune Einstellungen + + Fortune Einstellungen + +| Falls man das Paket fortune im menuconfig ausgewählt hat kann man es + über das Webinterface konfigurieren. Dazu ist nur der Pfad mit den + Keksen anzugeben und nach dem Speichern kann man sich sofort an den + Sprüchen erfreuen. Solche fortune-Dateien findet man zum Beispiel + `​hier <http://www.freebsd.org/cgi/cvsweb.cgi/src/games/fortune/datfiles/>`__. + +.. _AnzeigenvonfortunesbeimKonsolen-Login: + +Anzeigen von fortunes beim Konsolen-Login +----------------------------------------- + +| Meist werden fortunes automatisch beim Systemstart oder Einloggen + gestartet. Das Unix-Shell-Kommando für Fortune ist **fortune** +| Um dies zu bewerkstelligen, müssen die entsprechenden Befehle in die + *.profile* im HOME-Directory des users eingefügt werden. +| Dies kann zum einen über das Freetz-Webinterface unter + *Freetz:.profile* geschehen, oder über die Konsole in der + */var/mod/root/.profile* +| Folgendes reicht dafür aus: + +.. code:: wiki + + echo + /usr/bin/fortune + echo + +| +| Nach erfolgtem Login auf der Box per telnet bzw. ssh begrüßt die Box + euch mit einem zufällig gewählten Glückskeks: + +.. code:: wiki + + __ _ __ __ ___ __ + |__ |_) |__ |__ | / + | |\ |__ |__ | /_ + + The fun has just begun... + + BusyBox v1.15.3 (2010-01-21 20:22:22 CET) built-in shell (ash) + Enter 'help' for a list of built-in commands. + + ermittle die aktuelle TTY + tty is "/dev/pts/0" + Console Ausgaben auf dieses Terminal umgelenkt + + GRAMMAR IS NOT A TIME OF WASTE + GRAMMAR IS NOT A TIME OF WASTE + GRAMMAR IS NOT A TIME OF WASTE + GRAMMAR IS NOT A TIME OF WASTE + + Bart Simpson on chalkboard in episode AABF10 + + /var/mod/root # + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​fortune auf + Wikipedia <http://en.wikipedia.org/wiki/Fortune_%28Unix%29>`__ +- `​fortune man page <http://linux.die.net/man/6/fortune>`__ +- `​IPPF-Thread <http://www.ip-phone-forum.de/showthread.php?t=196686>`__ + +- Tags +- `packages <../packages.html>`__ diff --git a/wiki/packages/fritzload.rst b/wiki/packages/fritzload.rst new file mode 100644 index 0000000..fee2671 --- /dev/null +++ b/wiki/packages/fritzload.rst @@ -0,0 +1,54 @@ +packages/fritzload +================== +.. _FritzLoad: + +FritzLoad +========= + +`​FritzLoad <http://sourceforge.net/apps/trac/avmload/>`__ ist eine +Software die automatisiert Dateien von bzw. zu Sharehostern herunter- +und hochladen kann und diese auf einem gemounteten Medium (z.B. +USB-Stick) ablegt. + +| |/!\\| Es ist kein Bestandteil von Freetz und wird nicht von Freetz + supportet! +| Bei Fragen oder Problemen bitte auf der `​FritzLoad + Homepage <http://sourceforge.net/apps/trac/avmload/>`__ oder im + passenden + `​IPPF-Thread <http://www.ip-phone-forum.de/showthread.php?t=147334>`__ + nachschauen. + +.. _ProblememitFreetz: + +Probleme mit Freetz +------------------- + +Es hat sich gezeigt, dass FritzLoad + +- das Starten der Fritzbox durch eine Warteschleife verzögert + (`​Link <http://sourceforge.net/apps/trac/avmload/ticket/1320>`__) +- Probleme mit external und onlinechanged verursacht +- es sich nicht ordnungsgemäß beendet und damit das Aushängen von + Datenträgern verhindert (`#910 </ticket/910>`__) + +|/!\\| Deshalb: Vor einer Ticketerstellung bitte ohne FritzLoad testen. + +.. _GründeundmöglicheLösungen: + +Gründe und mögliche Lösungen +---------------------------- + +FritzLoad installiert in rc.custom das selbe Script das ohne Freetz in +debug.cfg genutzt würde. Dadurch werden unnötige Warteschleifen +hinzugefügt und rc.custom läuft dauerhaft. + +Eine bessere und Freetz-konformere Lösung wäre hier ein separates +Init-Script für Freetz dem Paket hinzuzufügen das in autorun.sh +gestartet und in autostop.sh gestoppt würde. Auf jegliche Installation +jenseits Entpacken auf den Stick könnte dann auch verzichtet werden, und +FritzLoad wäre zur Fehlersuche jederzeit im Handumdrehen "abziehbar". + +Diese Lösung sollte dann auch vom FritzLoad Autor gepflegt werden. + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/fstyp.rst b/wiki/packages/fstyp.rst new file mode 100644 index 0000000..e787feb --- /dev/null +++ b/wiki/packages/fstyp.rst @@ -0,0 +1,17 @@ +packages/fstyp +============== +fstyp +===== + +**fstyp** erlaubt es einem Anwender, den Dateisystem-Typ eines +eingebundenen oder auch nicht eingebundenen Dateisystems zu ermitteln. + +| In Freetz wird fstyp von freetzmount genutzt, um das Dateisystem zu + erkennen und korrekt zu mounten. +| Hinweis: Bei Verwendung der Option "mount-by-Label" wird das ganze + durch **blkid** erledigt (und fstyp wird hierfür überflüssig). Hat + aber den Nachteil, dass das Image etliche Kilobyte größer wird. + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/fuse.rst b/wiki/packages/fuse.rst new file mode 100644 index 0000000..3aaca36 --- /dev/null +++ b/wiki/packages/fuse.rst @@ -0,0 +1,47 @@ +packages/fuse +============= +.. _FUSE: + +FUSE +==== + +`​FUSE <http://de.wikipedia.org/wiki/Filesystem_in_Userspace>`__ +(`​Filesystem <http://de.wikipedia.org/wiki/Dateisystem>`__ in +`​Userspace <http://de.wikipedia.org/wiki/Userspace>`__) ist ein +`​Kernel-Modul <http://de.wikipedia.org/wiki/Kernel-Modul>`__, das es +ermöglicht, Dateisystem-Treiber aus dem +`​Kernel-Mode <http://de.wikipedia.org/wiki/Betriebssystemkern>`__ in +den `​User-Mode <http://de.wikipedia.org/wiki/Ring_(CPU)>`__ zu +verlagern. Auf diese Weise können auch nicht-priviligierte Benutzer +(also jene, die nicht *root* heißen) Dateisysteme einbinden bzw. +erstellen. Die *FUSE* Module agieren quasi als "Bridge" zu den +Kernel-Schnittstellen. + +*FUSE* lässt sich besonders gut einsetzen, um virtuelle Dateisysteme zu +verwirklichen. Anders als bei traditionellen Dateisystemen, die sich um +das Speichern und Laden von Daten auf der Disk zu kümmern haben, +speichern virtuelle Dateisysteme selbst keine Daten. Sie sind vielmehr +eine "View" oder "Übersetzung" eines bereits existierenden Datei- oder +Speichersystems. Im Prinzip kann jede für *FUSE* verfügbare Resource als +Dateisystem exportiert werden. + +In Freetz basiert z.B. das `NTFS <ntfs-3g.html>`__ Paket auf *FUSE*. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia: + FUSE <http://de.wikipedia.org/wiki/Filesystem_in_Userspace>`__ +- `​FUSE Project Homepage <http://fuse.sourceforge.net/>`__ + (Sourceforge) +- `​Official list of FUSE + filesystems <http://fuse.sourceforge.net/wiki/index.php/FileSystems>`__ +- `​Develop your own filesystem with + FUSE <http://www.ibm.com/developerworks/linux/library/l-fuse/>`__ +- s3fslite für Freetz: `#796 </ticket/796>`__ + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/gw6.rst b/wiki/packages/gw6.rst new file mode 100644 index 0000000..3e09068 --- /dev/null +++ b/wiki/packages/gw6.rst @@ -0,0 +1,23 @@ +packages/gw6 +============ +gw6 +=== + +gw6 ist ein IPv6 Client für +`​gogo6/freenet6 <http://gogonet.gogo6.com/page/freenet6-services>`__ + +| Eine anonyme Nutzung ohne Registrierung ist möglich, mit einem Account + hingegen bekommt man ein ganzes Subnetz zugeteilt. +| Falls es Probleme beim Einloggen gibt kann man einen eigenen + Broker-Server einstellen, z.B. amsterdam.freenet6.net + +.. _Alternativen: + +Alternativen +------------ + +- `Aiccu <aiccu.html>`__ für SixXS + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/haserl.rst b/wiki/packages/haserl.rst new file mode 100644 index 0000000..62717d7 --- /dev/null +++ b/wiki/packages/haserl.rst @@ -0,0 +1,88 @@ +packages/haserl +=============== +.. _Haserl: + +Haserl +====== + +"*Haserl is a small program that uses shell or Lua script to create cgi +web scripts. It is intended for environments where PHP or ruby are too +big.* + +*It was written for Linux, but is known to run on FreeBSD. A typical use +is to run cgi scripts in an embedded environment, using a small web +server, such as mini-httpd, lighty, or the server built into busybox.*" + +.. _Usingbusyboxhttpdinet: + +Using busybox httpd / inet +-------------------------- + +Inetd custom config: + +.. code:: wiki + + #:httpd-start: test web interface + 8088 stream tcp nowait root /var/media/ftp/uFlash/httpd/httpd-start httpd-start -i + +httpd-start: + +.. code:: wiki + + #!/bin/sh + + export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin + export LD_LIBRARY_PATH=/mod/lib + + homedir=/var/media/ftp/uFlash/httpd/www + config=/var/media/ftp/uFlash/httpd/httpd.conf + + cd "$homedir" + exec httpd "$@" -p 8088 -c "$config" -h "$homedir" -r "Freetz" 2>/dev/null + +Allow execution: + +.. code:: wiki + + chmod +x httpd-start + +httpd.conf can be an empty file: + +.. code:: wiki + + touch httpd.conf + +/var/media/ftp/uFlash/httpd/www/cgi-bin/info.cgi: + +.. code:: wiki + + #!/usr/bin/haserl --shell=lua + Content-Type: text/html; charset=UTF-8 + + <html> + <body> + <h1>Info</h1> + <% for n,v in pairs(ENV) do print(n, v, '<br />') end %> + </body> + </html> + +Allow execution: + +.. code:: wiki + + chmod +x info.cgi + +Test: +`​http://fritz.box:8088/cgi-bin/info.cgi <http://fritz.box:8088/cgi-bin/info.cgi>`__ + +.. _Links: + +Links +----- + +- `​Homepage <http://haserl.sourceforge.net/>`__ +- `Patch for LUA support </ticket/1326>`__ + +- Tags +- `packages <../packages.html>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/hd-idle.rst b/wiki/packages/hd-idle.rst new file mode 100644 index 0000000..468af9e --- /dev/null +++ b/wiki/packages/hd-idle.rst @@ -0,0 +1,24 @@ +packages/hd-idle +================ +hd-idle +======= + +`​hd-idle <http://hd-idle.sourceforge.net/>`__ ist ein Tool, um externe +Festplatten nach einer festgelegten "Idle-Zeit" (also "Nix-Tun") +herunterzufahren ("Spin-Down"). Da die meisten externen +IDE-Festplatten-Gehäuse das Setzen eines "Idle-Timers" nicht erlauben, +wird ein Utility wie *hd-idle* (oder das mit Freetz ebenfalls verfügbare +`spindown-CGI <spindown.html>`__) benötigt, um den Job zu erledigen. + +Es gibt, herstellerabhängig 3 verschiedene Powermodes: + +.. code:: wiki + + active/idle (normal operation) + standby (low power mode, drive has spun down) + sleeping (lowest power mode, drive is completely shut down) + +- Tags +- `filesystem </tags/filesystem>`__ +- `hardware </tags/hardware>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/hiawatha.rst b/wiki/packages/hiawatha.rst new file mode 100644 index 0000000..d234844 --- /dev/null +++ b/wiki/packages/hiawatha.rst @@ -0,0 +1,69 @@ +packages/hiawatha +================= +hiawatha +======== + +"*Hiawatha is a webserver for Unix and has been build with security in +mind. This resulted in a highly secure webserver, in both code and +features. This webserver runs on Linux, BSD, MacOS X and Windows. +Although it can run any kind of CGI / FastCGI application, it has been +optimized for usage with PHP.*" + +.. _Quickcompare: + +Quick compare +------------- + ++------------+---------------------+---------------------+ +| | **Memory** :sup:`1` | **Binary** :sup:`2` | ++------------+---------------------+---------------------+ +| *hiawatha* | ~1320 kB | ~105 kB | ++------------+---------------------+---------------------+ +| *lighttpd* | ~1768 kB | ~409 kB | ++------------+---------------------+---------------------+ + +#. After one request "*Hello world!* " +#. Minimal menuconfig, including libraries, excluding *pthread*, + *md5sum* + +.. code:: wiki + + -rwxr-xr-x 1 root root 105788 Apr 25 20:29 hiawatha + -rwxr-xr-x 1 root root 150324 Apr 25 10:56 lighttpd + -rwxr-xr-x 1 root root 5496 Apr 25 10:56 mod_access.so + -rwxr-xr-x 1 root root 16772 Apr 25 11:11 mod_dirlisting.so + -rwxr-xr-x 1 root root 6320 Apr 25 10:56 mod_indexfile.so + -rwxr-xr-x 1 root root 10584 Apr 25 10:56 mod_staticfile.so + -rwxr-xr-x 1 root root 219916 Apr 24 08:54 libpcre.so.0.0.1 + +.. _Security: + +Security +-------- + +You might want to add this or similar to the extra configuration: + +.. code:: wiki + + BanOnGarbage = 300 + BanOnMaxPerIP = 60 + BanOnMaxReqSize = 300 + KickOnBan = yes + RebanDuringBan = yes + +And you might want to limit the number of simultaneous connections too: + +.. code:: wiki + + ConnectionsTotal = 5 + ConnectionsPerIP = 3 + +.. _Links: + +Links +----- + +- `​Homepage <http://www.hiawatha-webserver.org/>`__ +- `Ticket with patches </ticket/1139>`__ +- `​Linux magazine about + hiawatha <http://www.linux-magazine.com/Issues/2009/107/Hiawatha>`__ diff --git a/wiki/packages/hol.rst b/wiki/packages/hol.rst new file mode 100644 index 0000000..0ad5f6a --- /dev/null +++ b/wiki/packages/hol.rst @@ -0,0 +1,70 @@ +packages/hol +============ +| Halt-on-Lan ist ein Paket zum Steuern vom Rechner im lokalen Netz von + der FritzBox heraus. Es basiert auf + `​poweroff.exe <http://users.telenet.be/jbosman/poweroff/poweroff.htm>`__ + einem Skript für Windows-Rechner, redet seine Sprache und ermöglicht + den Rechner herunterzufahren, neu zu starten und einige weitere + Aktionen. +| Seit `r5024 </changeset/5024>`__ ist HOL-Paket im trunk. +| Langfristig ist angedacht HOL mit WOL zu verbinden und HOL-Aktionen + aus dem erweiterten WOL-WebIF zu ermöglichen. Momentan ist es noch + nicht implementiert und man sollte sich mit der Kommandozeile + befreunden: + +.. code:: wiki + + /var/mod/root # hol + hol v1.0 Halt-On-Lan script + Author hermann72pb <http://www.ip-phone-forum.de/member.php?u=80424> + + Usage: hol HOST [ACTION TIME MESSAGE] + HOST Hostname or ip address: e.g. my.computer or 192.168.178.20 + ACTION Actions for poweroff: e.g. shutdown, reboot, logoff, lock, etc. + TIME time in seconds for warning before the action: + e.g. 10 or 0 for no warning + MESSAGE Warning message: e.g. Please close all your files + /var/mod/root # hol 192.168.178.20 + /var/mod/root # hol 192.168.178.20 lock + /var/mod/root # hol MeinPC monitor_off 15 + /var/mod/root # hol DeinNotebook monitor_off 15 "Hey, du\nschalte aus!" + +Man kann aber schon jetzt die HOL-Aufrufe als callmonitor-Aktionen oder +als cron-Einträge benutzen. Zur Konfiguration der Default-Aktionen und +sonstiger Parameter gibt es eine Konfigurationsseite zum Paket HOL im +FREETZ-WebIF. Aus dieser Konfigurationseite ist es jedoch nicht möglich, +die Aktionen zu initiieren. + +| Weitere Informationen und Diskussion zum HOL-Paket können dem + entsprechenden + `​Thread <http://www.ip-phone-forum.de/showthread.php?t=211366>`__ in + IPPF entnommen werden. +| Um den Rechner von der FritzBox ansteuern zu können, muss auf dem + Rechner eine poweroff.exe-kompatible Anwendung laufen. Das kann z.B. + `​poweroff.exe <http://users.telenet.be/jbosman/poweroff/poweroff.htm>`__ + selbst sein. Da + `​poweroff.exe <http://users.telenet.be/jbosman/poweroff/poweroff.htm>`__ + leider nicht richtig und nicht zuverlässig zu funktionieren scheint, + wurde vom Benutzer + `​linuxkasten <http://www.ip-phone-forum.de/member.php?u=217599>`__ + aus IPPF eine Alternative dafür + (`​remotehalt <http://www.nefkom.info/crats/software/remotehalt/>`__) + für Windows geschrieben. Es wird empfohlen ab jetzt + `​remotehalt <http://www.nefkom.info/crats/software/remotehalt/>`__ + anstatt von + `​poweroff.exe <http://users.telenet.be/jbosman/poweroff/poweroff.htm>`__ + zu benutzen. +| Auch für Linux-Anweder werden gerade passende Lösungen erarbeitet. Zum + einen existiert eine getarte + `​Sammlung <http://www.ip-phone-forum.de/showpost.php?p=1501078&postcount=1>`__ + zum entpacken und selbst installieren, zum anderen gibt es dafür auch + eine + `​inetd-Variante <http://www.ip-phone-forum.de/showpost.php?p=1553804&postcount=39>`__. +| Sobald alle rechnerseitigen Anwendungen vollständig implementiert und + ausreichend getestet sind, werden hier die + `Download <../Download.html>`__-Informationen dafür überarbeitet. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/hp-utils.rst b/wiki/packages/hp-utils.rst new file mode 100644 index 0000000..67330cb --- /dev/null +++ b/wiki/packages/hp-utils.rst @@ -0,0 +1,39 @@ +packages/hp-utils +================= +hp-utils +======== + +`​hp-utils <http://www.michaeldenk.de/projects/hp-utils/>`__ ist eine +Portierung einiger Tools von `​HPLIP <http://hplipopensource.com/>`__ +von Python nach C. hp-utils greift dabei auf die Bibliothek libhpmud +zurück und setzt das Paket `HPLIP <hplip.html>`__ voraus. + +hp-utils stellt Commandline-Tools zur Verfügung und bietet auch ein +Web-Interface (standardmäßig unter +`​http://fritz.box:83/ <http://fritz.box:83/>`__), das derzeit den +Druckerstatus und Tintenstand anzeigt und mit dem man eine +Druckkopfreinigung starten kann. + +Folgende Tools sind enthalten: + ++-----------------------------------+-----------------------------------+ +| **hp-probe** | Probe connected HP devices. | ++-----------------------------------+-----------------------------------+ +| **hp-status** | Display current status for | +| | supported HPLIP printers. | ++-----------------------------------+-----------------------------------+ +| **hp-levels** | Display bar graphs of current | +| | supply levels for supported HPLIP | +| | printers. | ++-----------------------------------+-----------------------------------+ +| **hp-clean** | Cartridge cleaning utility for | +| | HPLIP supported inkjet printers. | ++-----------------------------------+-----------------------------------+ +| **hp-printserv** | Simple print server. | ++-----------------------------------+-----------------------------------+ +| **hp-timedate** | Set the time and date on an HP | +| | Officejet. | ++-----------------------------------+-----------------------------------+ +| **hp-faxsetup** | Setup fax settings on an HP | +| | Officejet. | ++-----------------------------------+-----------------------------------+ diff --git a/wiki/packages/hplip.rst b/wiki/packages/hplip.rst new file mode 100644 index 0000000..babb70c --- /dev/null +++ b/wiki/packages/hplip.rst @@ -0,0 +1,18 @@ +packages/hplip +============== +.. _HPLIP: + +HPLIP +===== + +`​HP Linux Imaging and Printing <http://hplipopensource.com/>`__ (HPLIP) +ermöglicht das Drucken und Scannen auf HP-Geräten unter Linux +(`​unterstütze +Geräte <http://hplipopensource.com/hplip-web/supported_devices/index.html>`__). + +Da die Druckfunktionalität sowieso schon über den AVM-Printserver +möglich ist, wird durch dieses Paket lediglich die Scanfunktionalität +zur Verfügung gestellt. Außerdem bietet das Paket die nötige +Infrastruktur für `hp-utils <hp-utils.html>`__, womit man z.B. den +Tintenstand und den Druckerzustand in einem Web-Interface anzeigen +lassen kann. diff --git a/wiki/packages/htpdate.rst b/wiki/packages/htpdate.rst new file mode 100644 index 0000000..e46c38d --- /dev/null +++ b/wiki/packages/htpdate.rst @@ -0,0 +1,15 @@ +packages/htpdate +================ +htpdate +======= + +Dieses Paket kann dazu genutzt werden die Uhrzeit der Fritzbox zu +synchronisieren. Dazu wird das HTTP Protokoll genutzt und dessen Header +ausgewertet. Eine Synchronisierung über Proxyserver ist möglich. + +.. _Links: + +Links +----- + +Manpage: `​htpdate(8) <http://linux.die.net/man/8/htpdate>`__ diff --git a/wiki/packages/httptunnel.rst b/wiki/packages/httptunnel.rst new file mode 100644 index 0000000..b4a7bc3 --- /dev/null +++ b/wiki/packages/httptunnel.rst @@ -0,0 +1,51 @@ +packages/httptunnel +=================== +httptunnel +========== + +`​httptunnel <http://www.nocrew.org/software/httptunnel.html>`__ +erstellt eine virtuell, bi-direktionale Datenverbindung, welche über das +HTTP Protokoll getunnelt wird. Die erforderlichen HTTP-Requests können +bei Bedarf auch über Proxies geleitet werden. + +Dieser Ansatz ist hilfreich für all jene, die hinter einer restriktiven +Firewall sitzen. Sofern WWW Zugriff erlaubt ist - und sei es auch nur +über einen Proxy -, kann *httptunnel* verwendet werden, um z.B. per +Telnet auf einen Rechner außerhalb der Firewall zuzugreifen. + +Ein etwas anschaulicheres Beispiel anbei von +`​sweetie-pie <http://www.ip-phone-forum.de/member.php?u=62645>`__ aus +`​diesem +Thread <http://www.ip-phone-forum.de/showthread.php?p=536622#post536622>`__: + +.. code:: wiki + + PC in der Firma Proxy in der Firma Fritzbox + + +-------+ Verbunden auf +-------+ Heimnetz + |Putty |--+ 127.0.0.1:22 |sshd |--> via ssh-Tunnel + |-------| | +-----+ | |<-+ (Port 22) + |htc |<-+ Port 22 |HTTP | |-------| | + | |------------------>|Proxy|------------->|hts |--+ + +-------+ +-----+ Port 9999 +-------+ + +Derzeit ist httptunnel nur als Binary (3.3) für Freetz verfügbar, d.h. +es gibt noch kein WebGUI für grafische Einstellungen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​httptunnel + Homepage <http://www.nocrew.org/software/httptunnel.html>`__ +- `​Mini-HowTo bei LinuxWiki.org <http://linuxwiki.org/HttpTunnel>`__ +- `​Wikipedia Artikel zum HTTP + Tunneling <http://en.wikipedia.org/wiki/HTTP_tunnel>`__ (Englisch) +- `​Thread im + IP-Phone-Forum <http://www.ip-phone-forum.de/showthread.php?t=167980>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/igmpproxy.rst b/wiki/packages/igmpproxy.rst new file mode 100644 index 0000000..1acdbc5 --- /dev/null +++ b/wiki/packages/igmpproxy.rst @@ -0,0 +1,86 @@ +packages/igmpproxy +================== +igmpproxy +========= + +`​igmpproxy <http://sourceforge.net/projects/igmpproxy/>`__ ist ein +einfacher multicast routing Daemon der für multicast forwarding zwischen +Netzwerken z.B. für IPTV benutzt wird. + +.. code:: wiki + + Usage: igmpproxy [-h] [-d] [-v [-v]] <configfile> + + -h Display this help screen + -d Run in debug mode. Output all messages on stderr + -v Be verbose. Give twice to see even debug messages. + +Configfile: + +.. code:: wiki + + ######################################################## + # + # Example configuration file for the IgmpProxy + # -------------------------------------------- + # + # The configuration file must define one upstream + # interface, and one or more downstream interfaces. + # + # If multicast traffic originates outside the + # upstream subnet, the "altnet" option can be + # used in order to define legal multicast sources. + # (Se example...) + # + # The "quickleave" should be used to avoid saturation + # of the upstream link. The option should only + # be used if it's absolutely nessecary to + # accurately imitate just one Client. + # + ######################################################## + + ##------------------------------------------------------ + ## Enable Quickleave mode (Sends Leave instantly) + ##------------------------------------------------------ + quickleave + + ##------------------------------------------------------ + ## Configuration for nas0 (Upstream Interface) + ##------------------------------------------------------ + phyint nas0 upstream ratelimit 0 threshold 1 + altnet 10.1.12.0/24 + + ##------------------------------------------------------ + ## Configuration for lan (Downstream Interface) + ##------------------------------------------------------ + phyint lan downstream ratelimit 0 threshold 1 + + ##------------------------------------------------------ + ## Configuration for Disabled Interfaces + ##------------------------------------------------------ + phyint dsl disabled + phyint lo disabled + +Damit igmpproxy auf der FritzBox läuft muss multid mit der option "-i" +(disable IGMP-Proxy) gestarted werden. Die Namen der Interfaces sind +abhängig von der Konfiguration der Box und müssen angepasst werden. Im +Beispiel wird das von `br2684ctrl <br2684ctl.html>`__ erzeugte "nas0" +als Upstream Interface verwendet. + +Derzeit ist igmpproxy nur als Binary (0.1) für Freetz verfügbar, d.h. es +gibt noch kein WebGUI für grafische Einstellungen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​igmpproxy + SourceForge <http://sourceforge.net/projects/igmpproxy/>`__ +- `​IPPF-Thread: AONTV mit der + FritzBox <http://www.ip-phone-forum.de/showthread.php?t=208004&highlight=aontv>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ diff --git a/wiki/packages/imapproxy.en.rst b/wiki/packages/imapproxy.en.rst new file mode 100644 index 0000000..acddf8f --- /dev/null +++ b/wiki/packages/imapproxy.en.rst @@ -0,0 +1,43 @@ +packages/imapproxy.en +===================== +.. _ImapProxy: + +ImapProxy +========= + +"*ImapProxy is a caching IMAP proxy server intended for use with WebMail +clients that cannot maintain persistent connections to an IMAP server.*" + +.. _Setup: + +Setup +----- + +Just start it and point your IMAP (web) client to fritz.box:143. + +If you want to use the proxy remote, you have to forward port 143 using +the `AVM-Firewall <avm-firewall.html>`__. Beware that if you don't +restrict the ip addresses everyone can use your proxy. + +One of the features is that ImapProxy is patched to use Yahoo! IMAP. +This feature is automatically used if your email address contains lower +case "yahoo". + +.. _Links: + +Links +----- + +- `​ImapProxy homepage <http://imapproxy.org/>`__ +- `​Ticket with patch <http://trac.freetz.org/ticket/847>`__ +- `​IPPF + thread <http://www.ip-phone-forum.de/showthread.php?t=216517>`__ +- `​Free IMAP and SMTPs + access <http://en.wikipedia.org/wiki/Yahoo!_Mail#Free_IMAP_and_SMTPs_access>`__ + (wikipedia about Yahoo!) + +- Tags +- `mail </tags/mail>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `proxy </tags/proxy>`__ diff --git a/wiki/packages/inadyn-mt.en.rst b/wiki/packages/inadyn-mt.en.rst new file mode 100644 index 0000000..03a7a21 --- /dev/null +++ b/wiki/packages/inadyn-mt.en.rst @@ -0,0 +1,102 @@ +packages/inadyn-mt.en +===================== +.. _Inadyn: + +Inadyn +------ + +| Inadyn is an update client that keeps your IP address up to date at + your DNS name provider. +| But also if you have a free Host Service from dyn.com you can use the + update client to update your account within every 30 days to prevent + it from being deleted. +| Just using the service is not sufficient to prevent your account from + getting expired. +| An update client prevents your account from becoming expired, and also + makes sure a IP address change is updated for your host service. +| More info about Inadyn can be found via: + `​http://dyn.com/support/clients/linux/ <http://dyn.com/support/clients/linux/>`__ +| For general update client information you can look here: + `​http://dyn.com/support/clients/ <http://dyn.com/support/clients/>`__ + +It appears from the forum that it is not possible anymore to apply for a +new free account. But on page +`​http://dyn.com/legal/account-ownership-and-recovery-policy/ <http://dyn.com/legal/account-ownership-and-recovery-policy/>`__ +there is a reference that a new account can be created via +`​https://account.dyn.com/entrance/ <https://account.dyn.com/entrance/>`__ +Just give it a try. + +|/!\\| From 7-May-2014 + + | From 7-May the free Dyn account will stop. See `​Dyn + blog <http://dyn.com/blog/why-we-decided-to-stop-offering-free-accounts/>`__. + +| + +|/!\\| Since 14-May-2013 + + Starting now, if you would like to maintain your free Dyn account, + you must log into your account once a month. Failure to do so will + result in expiration and loss of your hostname. This activity helps + us eliminate hostnames that are no longer needed and/or dormant. Note + that using an update client will no longer suffice for this monthly + login. + +Dyn users should have a look at the following (german): +`​http://www.ip-phone-forum.de/showthread.php?t=260356 <http://www.ip-phone-forum.de/showthread.php?t=260356>`__ +and `OpenDD <opendd.html>`__ + +.. _CreatingaFeetzImagewithInadyn: + +Creating a Feetz Image with Inadyn +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Follow the directions from the `/wiki/WikiStart.en# + Wiki <../index.en.html#%20Wiki>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected: + +.. code:: wiki + + [*] Show advanced options + +.. code:: wiki + + Package selection ---> Testing ---> [*] Inadyn-mt 02.24.36 + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| To update your account within the default 30 days you can use the + parameter forced_update_period followed by the update period in + seconds. +| E.g. for one day you can use 86400 or for 10 days 864000. + +.. figure:: /screenshots/238.jpg + :alt: Howto Inadyn Setup + + Howto Inadyn Setup + +If you have enabled the syslog you can verify the syslog messages. E.g. +via a telnet or ssh connection you can using the following command: + +.. code:: wiki + + logread + +Or via the Freetz web interface: Status > Syslog You can filter on +INADYN to show only Inadyn related messages. You will see that the every +10 minutes by default the IP address is verified for changes. Only if +the IP address changed, your account at your DNS provider is updates +with this new IP address. + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/inadyn-mt.rst b/wiki/packages/inadyn-mt.rst new file mode 100644 index 0000000..e7455ee --- /dev/null +++ b/wiki/packages/inadyn-mt.rst @@ -0,0 +1,50 @@ +packages/inadyn-mt +================== +.. _Inadyn-MT: + +Inadyn-MT +========= + +Inadyn-MT ist ein kleiner DynDNS-Client der es erlaubt, unkompliziert +bis zu 5 DynDNS-Accounts mit der FritzBox zu nutzen. + +.. figure:: /screenshots/109.png + :alt: inadyn Konfiguration + + inadyn Konfiguration + +| Zu den einzelnen Menüpunkten: + +| **Starttyp:** Automatisch (mit dem Starten der Box), oder Manuell + (starten des Dienstes von Hand). + +| **Verbose Level (0-5):** Hier wird eingestellt, in wie weit Einträge + in den Syslog gemacht werden sollen. +| **Account0 bis Account4:** Auswahl für mehrere Accounts + +| **DNS Service:** Auswahl des Serviceanbieters (alternativ auch + "Benutzerdefiniert") +| **Custom URL:** Hauptsächlich für Provider gedacht, die nicht in der + Auswahlliste stehen. Im Falle von z.B. *dyndns* bleibt diese Zeile + leer. +| **Username:** Username +| **Passwort:** Passwort +| **Alias:** Hier kommt die Adresse hin, für die man sich registriert + hat. +| **Optionen:** Hier können weitere Optionen (falls Notwendig) angegeben + werden, ist aber auch haupsächlich für Provider gedacht, die nicht in + der Auswahlliste stehen. + +Folgende DynDNS-Anbieter stehen in der Auswahlliste zur Verfügung: + +- `​http://dyndns.org <http://dyndns.org>`__ +- `​http://afraid.org <http://afraid.org>`__ +- `​http://zoneedit.com <http://zoneedit.com>`__ +- `​http://no-ip.com <http://no-ip.com>`__ + +Weitere Provider können über *Benutzerdefiniert* eingerichtet werden. + +- Tags +- `dyndns </tags/dyndns>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/inetd.rst b/wiki/packages/inetd.rst new file mode 100644 index 0000000..127b678 --- /dev/null +++ b/wiki/packages/inetd.rst @@ -0,0 +1,101 @@ +packages/inetd +============== +inetd +===== + +.. figure:: /screenshots/206.png + :alt: Inetd Webinterface + + Inetd Webinterface + +Hier handelt es sich nur um ein virtuelles **inetd** Paket, welches das +benötigte Konfigurations-Framework bereitstellt. Ein kompatibles +``inetd`` Binary wird zusätzlich benötigt - wobei derzeit nur der +Busybox-\ *inetd* unterstützt wird (der aktuelle Stand kann in der Hilfe +zu diesem Paket in +`menuconfig <../help/howtos/common/install/menuconfig.html>`__ +eingesehen werden). + +Aus dem Hilfetext des Paketes (siehe "make menuconfig"): + + *This feature is required by the Inetd Freetz package, otherwise you + may deactivate it. ATTENTION, this feature is NOT deactivated + automatically if the Inetd Freetz package is unselected.* + +Es ist zu beachten, dass BusyBox-\ *inetd* eine bestimmte Box als +Standardbox mit *inetd* im Image hat (z.B. 7270). Wenn man die +voreingestellte Box auf eine andere umändert, bei welcher kein inetd +verwendet wird/verwendet werden kann (z.B. 3170), dann bleibt *inetd* +trotzdem ausgewählt. Man kann es manuell abwählen (Advanced options ⇒ +BusyBox options ⇒ inetd) oder nach dem Beenden von "make menuconfig" und +Speichern der Einstellungen mittels "make config-clean-deps" (Details +`hier <../help/fritz_faq.html>`__) abwählen. Dabei werden aber alle +Sachen deaktiviert, zu denen es keine abhängigen, angewählten Patches, +Pakete etc. gibt. Danach müsste man ggf. also noch einmal "make +menuconfig" aufrufen, und das noch einmal überprüfen. + +.. _Benutzerdefiniert: + +Benutzerdefiniert +----------------- + +| Es können eigene Daemons eingetragen werden die inetd anbieten soll. + Auch können auch in inetd integrierte Services angegeben werden. +| Beispiele: + +.. code:: wiki + + 31337 stream tcp nowait root /var/media/ftp/uStor01/binary binary -i + + echo stream tcp nowait root internal + echo dgram udp wait root internal + + discard stream tcp nowait root internal + discard dgram udp wait root internal + + daytime stream tcp nowait root internal + daytime dgram udp wait root internal + + chargen stream tcp nowait root internal + chargen dgram udp wait root internal + + time stream tcp nowait root internal + time dgram udp wait root internal + +Hinweis: Es können nur Servicenamen benutzt werden die in /etc/services +hinterlegt sind + +.. _Konfiguration: + +Konfiguration +------------- + +Hier wird der Inhalt der /etc/inetd.conf angezeigt wie sie von Freetz +generiert wurde. Sie kann hier nicht geändert werden. + +.. _a: + +.. _WeiterführendeLinks: + +Weiterführende Links +~~~~~~~~~~~~~~~~~~~~ + +- `​Wikipedia Artikel zu + ''inetd'' <http://de.wikipedia.org/wiki/Inetd>`__ +- `​Linuxfibel: ''inetd'' + Grundlagen <http://de.linwiki.org/index.php/Linuxfibel_-_Netzwerk_Grundlagen_-_Internet_Service_D%C3%A4mon>`__ + +.. _FürEntwickler: + +Für Entwickler +~~~~~~~~~~~~~~ + +- Ein einfaches Webinterface mit inetd-Unterstützung + `oidentd </browser/trunk/make/oidentd/files>`__ +- Erweiterung eines Paketes mit 2 Diensten, wobei der Webserver + inetd-fähig wird (vnstat-cgi): `r4926 </changeset/4926>`__ + +- Tags +- `daemons </tags/daemons>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/inotify-tools.rst b/wiki/packages/inotify-tools.rst new file mode 100644 index 0000000..bc60de2 --- /dev/null +++ b/wiki/packages/inotify-tools.rst @@ -0,0 +1,344 @@ +packages/inotify-tools +====================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Inotify und Inotify-Tools + allgemein <inotify-tools.html#InotifyundInotify-Toolsallgemein>`__ +#. `Dateizugriffe der FritzBox ab dem Start + beobachten <inotify-tools.html#DateizugriffederFritzBoxabdemStartbeobachten>`__ +#. `Was wird von rc.inotify_tools + protokolliert? <inotify-tools.html#Waswirdvonrc.inotify_toolsprotokolliert>`__ +#. `Ausgabeformat <inotify-tools.html#Ausgabeformat>`__ +#. `Log-Datei regelmäßig konsolidieren, um Platz zu + sparen <inotify-tools.html#Log-DateiregelmäßigkonsolidierenumPlatzzusparen>`__ +#. `Schlußwort <inotify-tools.html#Schlußwort>`__ + +.. _Inotify-Tools: + +Inotify-Tools +============= + +**Inotify** ist eine Kernel-Schnittstelle zur Überwachung von +Dateizugriffen, verbunden mit einem Event-Mechanismus, von dem man sich +über bestimmte Ereignisse benachrichtigen lassen kann. Siehe dazu den +`​deutschen +(kurz) <http://de.wikipedia.org/wiki/Linux_%28Kernel%29#Inotify>`__ und +`​englischen (ausführlich) <http://en.wikipedia.org/wiki/Inotify>`__ +Wikipedia-Artikel. + +.. _InotifyundInotify-Toolsallgemein: + +Inotify und Inotify-Tools allgemein +----------------------------------- + +Die `​Inotify-Tools <http://inotify-tools.sourceforge.net>`__ sind eine +kleine Sammlung von Werkzeugen bzw. Programmierschnittstellen, um +bequemer diesen mächtigen Mechanismus nutzen zu können. Wir stellen als +Freetz-Paket zwei ausführbare Werkzeuge und eine Bibliothek zur +Verfügung, und zwar + +- inotifywait, +- inotifywatch und +- libinotifytools + +Verwendungsbeispiele gibt es ebenfalls auf der +`​Sourceforge-Projektseite <http://inotify-tools.sourceforge.net/#info>`__. +**Inotifywait** wartet auf ein Ereignis, für das man sich vorher +registriert hat und kehrt dann zurück, wenn es eintritt. Das Ganze geht +auch im Hintergrundbetrieb, wenn man Ereignisse nicht nur einmalig, +sondern dauerhaft beobachten möchte. **Inotifywatch** hingegen sammelt +und summiert statistische Daten zu Dateisystem-Ereignissen und stellt +sie in tabellarischer Textdarstellung zur Verfügung. + +.. _DateizugriffederFritzBoxabdemStartbeobachten: + +Dateizugriffe der FritzBox ab dem Start beobachten +-------------------------------------------------- + +Eine besondere Anwendung, für die das Startskript ``rc.S`` durch einen +speziellen, immer eingebauten Patch vorbereitet wird, ist das +Protokollieren sämtlicher Dateisystemzugriffe beim Starten der Box. +``rc.S`` ist das erste Skript, welches von ``init`` ausgeführt wird, +d.h. die Protokollierung beginnt wirklich sehr früh (direkt nach dem +Start des Watchdogs), man verpaßt nichts Wichtiges. Da es keinen Sinn +macht, diese Protokollierung immer durchzuführen, kann man sie ein- und +ausschalten. Dafür verwendet man das kernel_args-API?. Vor dem zu +protokollierenden Startvorgang, also vor dem Reboot, aktiviert man die +Protokollierung: + +:: + + # API laden + . /usr/bin/kernel_args + # Aktivieren (Achtung, kein "=", zwei Parameter!) + ka_setValue InotifyBootAnalysis y + # Prüfen, ob Variable gesetzt + ka_getArgs + # Ergebnis z.B. idle=4 foo=bar InotifyBootAnalysis=y + +Anstatt den Wert "y" kann man auch einen positiven Ganzzahlwert +zuordnen, der automatisch bei jedem Start um 1 vermindert wird, bis er +schließlich 0 werden würden, was zum Folgewert "n" und zur automatischen +Deaktivierung der Funktion führt. So kann man erstens das Deaktivieren +nicht auf Dauer vergessen und zweitens mögliche Probleme beim Hochfahren +der Box durch das Logging eliminieren, indem man sie einfach oft genug +neu startet, bis die Funktion wieder inaktiv ist. + +Deaktivieren kann man die Funktion auch manuell, indem man in obiger +Code-Sequenz eine Zeile austauscht: + +:: + + # Deaktivieren + ka_setValue InotifyBootAnalysis n + +Auch ganz löschen kann man die Variable aus dem Bootloader Environment: + +:: + + # Variable ganz löschen + ka_removeVariable InotifyBootAnalysis + +Wenn das Logging erst einmal gestartet wurde, läuft es immer weiter, bis +man es manuell stoppt, nachdem der Startvorgang abgeschlossen ist bzw. +auch danach noch man so viel protokolliert hat, wie man möchte. Es +könnte ja sein, daß man außer dem Startvorgang noch einige Stunden oder +Tage die Box weiter beobachten möchte, um festzustellen, welche Dateien +überhaupt benutzt werden oder nicht, um sie dann in Verbindung mit dem +`Downloader-CGI <downloader.html>`__ auszulagern und nachzuladen oder +ganz aus der Firmware zu entfernen, um Platz zu schaffen für mehr oder +größere Pakete, was gerade bei Boxen mit nur 4 MB Flash-Größe eine Kunst +für sich ist. Die 8-MB-Boxen sind da weniger eingeengt, aber auch dort +kann es interessant sein, falls man unter "Featuritis" leidet. + +Wie also stoppt man die Protokollierung, bevor einem der Speicher +volläuft? + +:: + + # Protokollierung anhalten + /etc/init.d/rc.inotify_tools stop + +Ob die Protokollierung gerade läuft, kann man so feststellen: + +:: + + # Status prüfen ("running" oder "stopped") + /etc/init.d/rc.inotify_tools status + +Es ist auch jederzeit im laufenden Betrieb möglich, die Protokollierung +einzuschalten, um bei Bedarf zur Laufzeit alle Dateizugriffe zu +beobachten: + +:: + + # Protokollierung (neu) starten + /etc/init.d/rc.inotify_tools start + +Achtung, ein kleiner Ausflug ins noch Technischere: Man sollte wissen, +daß ``rc.inotify_tools start`` eine evtl. bereits laufende +Protokollierung kurzzeitig stoppt und sie dann sofort neu startet. Das +ist etwas ungewohnt, kann aber nützlich sein in Situationen, wo Init von +einem Skript aufgrund z.B. ``kill -1 1``, wie ``rc.mini_fo`` es +verwendet, um in mehreren Durchgängen sein Overlay-Dateisystem +aufzuziehen, beendet wird, um dann neu gestartet zu werden und nochmals +die Startskripten aufzurufen. Dazwischen kann die Protokollierung +entweder noch laufen oder abgebrochen worden sein. Jedenfalls startet +Inotify-Tools in diesem Fall neu, ggf. jetzt mit Ausgabe auf das frisch +gemountete *mini_fo* (vorher auf das nun überdeckte, darunter liegende +Dateisystem). + +.. _Waswirdvonrc.inotify_toolsprotokolliert: + +Was wird von rc.inotify_tools protokolliert? +-------------------------------------------- + +Wir könnten alles protokollieren, aber das wäre eine große Datenmenge, +weil bestimmte Zugriffe, z.B. auf häufig verwendete Dateien wie +``busybox``, ``uClibc`` oder ``libcrypt`` das Log zumüllen. Daß sie +verwendet werden, sollte sowieso selbstverständlich sein, und wir werden +sie auch ganz bestimmt nicht aus der Firmware auslagern. Also werden sie +bei der Protokollierung nicht berücksichtigt. So sieht in ``rc.S`` die +Passage aus, wo die Protokollierung gestartet wird: + +:: + + echo "starting inotifywait" + inotifywait -c -r -m / \ + @/dev @/proc @/var @/rom @/sto \ + --exclude 'busybox|uClibc|libcrypt-0' \ + >> /var/iw.log 2> /dev/null & + sleep 3 + +Es wird also kontinuierlich geloggt, und zwar rekursiv alles ab dem +Wurzel-Verzeichnis ("/" als Parameter am Ende der ersten Aufruf-Zeile). +Ausgeschlossen sind die virtuellen oder für interne *Mini_fo*-Zwecke +verwandten Verzeichnisse ``/dev``, ``/proc``, ``/rom``, ``/sto`` sowie +die RAM-Disk ``/var``, desweiteren Dateien, welche die Zeichenketten +"busybox", "uClibc" oder "libcrypt-0" enthalten - die "-0" am Ende +grenzt übrigens ``libcrypt`` von ``libcrypto`` ab. + +Das Log wird geschrieben in die RAM-Disk nach ``/var/iw.log`` - "iw" wie +"inotifywait". + +.. _Ausgabeformat: + +Ausgabeformat +------------- + +Was steht nun drin in ``/var/iw.log`` bzw. wie sieht es aus? Ein kleiner +Ausschnitt: + +.. code:: wiki + + /etc/,"CLOSE_NOWRITE,CLOSE",.subversion + /lib/,"CLOSE_NOWRITE,CLOSE",libgcc_s.so.1 + /lib/,"CLOSE_NOWRITE,CLOSE",libgcc_s.so.1 + /lib/,OPEN,libgcc_s.so.1 + /lib/,ACCESS,libgcc_s.so.1 + /lib/modules/2.6.13.1-ohio/modules/,DELETE_SELF, + /lib/modules/2.6.13.1-ohio/modules/,IGNORED, + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avm_event/,DELETE_SELF, + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avm_event/,IGNORED, + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avalanche_led/,DELETE_SELF, + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avalanche_led/,IGNORED, + /lib/,"CLOSE_NOWRITE,CLOSE",libgcc_s.so.1 + /usr/share/images/,OPEN,edge_lt.png + /usr/share/images/,ACCESS,edge_lt.png + /usr/share/images/,"CLOSE_NOWRITE,CLOSE",edge_lt.png + +Mit dem Aufruf aus ``rc.S`` heraus wurde dafür gesorgt, daß in einem +leicht woanders (Tabellenkalkulation, Datenbank) importierbaren, +kommagetrennten CSV-Format protokolliert wird. Wie die einzelnen Daten +zu interpretieren sind, entnimmt man der Dokumentation der +Inotify-Tools, das ist nicht Freetz-spezifisch. + +Falls man andere Daten sammeln möchte, z.B. Zugriffe auf die RAM-Disk +mit protokolliert haben möchte, nur ein bestimmtes Verzeichnis +beobachten möchte, nur Schreibvorgänge beobachten möchte usw., kann man +``inotifywait`` immer noch manuell starten oder für vorgefertigte +Statistiken auch mal ``inotifywatch`` bemühen. + +.. _Log-DateiregelmäßigkonsolidierenumPlatzzusparen: + +Log-Datei regelmäßig konsolidieren, um Platz zu sparen +------------------------------------------------------ + +Zum Zweck des Platzsparens in Firmware-Images interessiert uns +vermutlich weniger, auf welche Dateien in welcher Reihenfolge, wie oft, +auf welche Weise (lesen, schreiben, anlegen, löschen etc.) zugegriffen +wurde, sondern lediglich, auf welche Dateien *überhaupt* zugegriffen +wurde - bzw. auf welche nicht, denn die würden dann im Log fehlen. Dafür +wäre eine kumulierte Ausgabe praktisch, welche + +- das Log bei Überschreiten einer bestimmten Größe kondensiert auf eine + Liste reiner Pfad- und Dateinamen, alphabetisch nach Pfad sortiert, +- diese kondensierte Liste mit einer evtl. vorhandenen vorherigen + Version vereinigt und Dubletten entfernt, +- das große Log löscht und zu diesem Zweck kurz zwischendurch die + Protokollierung anhält, +- die Protokollierung ins große Log neu startet, bis die Maximalgröße + wieder erreicht wird + +usw. immer im Kreis. Folgendes Skript habe ich in meiner +``/var/tmp/flash/rc.custom``, sie wird also nach dem Ende des +Freetz-Startvorgangs ausgeführt: + +:: + + # Create script for continuous file access logging and log file consolidation + cat << 'EOF' > /var/tmp/iw_continuous + #!/bin/sh + + # If inotify logging is inactive, start it + if [ "$(/etc/init.d/rc.inotify_tools status)" != "running" ]; then + /etc/init.d/rc.inotify_tools start + fi + + MAX_LOG_SIZE=$(( 10 * 1024 )) + while true; do + sleep 60 + if [[ $(( $MAX_LOG_SIZE - $(cat /var/iw.log | wc -c) )) -gt 0 ]]; then + #echo "current size of iw.log < $MAX_LOG_SIZE - continue logging" + continue; + fi + #echo "current size of iw.log >= $MAX_LOG_SIZE - consolidate file list and restart logging" + cat /var/iw.log | grep '^/' | sed 's/,.*,//' | sort | uniq | sed 's/\/\//\//' > /var/iw-unique.tmp + touch /var/iw-unique.log + cat /var/iw-unique.log >> /var/iw-unique.tmp + cat /var/iw-unique.tmp | sort | uniq > /var/iw-unique.log + rm -f /var/iw-unique.tmp /var/iw.log + /etc/init.d/rc.inotify_tools start + done + EOF + + chmod +x /var/tmp/iw_continuous + + # If inotifywait is already running, start continuous logging script + if [ "$(/etc/init.d/rc.inotify_tools status)" == "running" ]; then + /var/tmp/iw_continuous > /dev/null 2>&1 & + fi + +Das Skript erzeugt ein weiteres, ausführbares Skript, welches im +Hintergrund gestartet wird und die eigentliche kontinuierliche +Konsolidierung des großen Logs übernimmt. Die konsolidierte Liste der +Dateien wird regelmäßig aktualisiert in ``/var/iw-unique.log``, wo man +sie jederzeit einsehen kann. Sie sieht in etwa so aus (Ausschnitt): + +.. code:: wiki + + / + /etc/.subversion + /etc/default.callmonitor/system.cfg + /etc/init.d/rc.bftpd + /etc/init.d/rc.cifsmount + /etc/init.d/rc.crond + /etc/init.d/rc.dropbear + /etc/init.d/rc.inotify_tools + /etc/init.d/rc.mini_fo + /etc/init.d/rc.nfsroot + /etc/init.d/rc.samba + /etc/init.d/rc.swap + /etc/init.d/rc.syslogd + /etc/init.d/rc.telnetd + /etc/init.d/rc.webcfg + /etc/init.d/rc.wol + /etc/static.pkg + /lib/libgcc_s.so.1 + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avalanche_led/ + /lib/modules/2.6.13.1-ohio/kernel/drivers/char/avm_event/ + /lib/modules/2.6.13.1-ohio/modules/ + /usr + /usr/ + /usr/lib/callmonitor/applets/rc.callmonitor.sh + +.. _Schlußwort: + +Schlußwort +---------- + +Damit steht ein mächtiges und nun im nachhinein auch dokumentiertes +Analyse-Werkzeug zur Verfügung, mit dem die Möglichkeiten der +"Platzspar-Jünger" sich hoffentlich etwas erweitern werden. Viel Spaß +beim Ausprobieren. Geduld, Ihr kommt dahinter, bei mir hat es auch +gedauert - leider hatte ich diese Doku aus naheliegenden Gründen nicht. +|;-)| + +Im Forum war der Ursprung dieses Pakets meine Idee und Anfrage +`​dort <http://www.ip-phone-forum.de/showthread.php?t=134151>`__, +aktuell kann über das Paket und diesen Artikel diskutiert werden im +neuen Thema `​Paket Inotify-Tools + +Anwendungen <http://www.ip-phone-forum.de/showthread.php?t=150597>`__ + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ + +- Tags +- `init </tags/init>`__ +- `monitoring </tags/monitoring>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ + +.. |;-)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/iodine.rst b/wiki/packages/iodine.rst new file mode 100644 index 0000000..c693420 --- /dev/null +++ b/wiki/packages/iodine.rst @@ -0,0 +1,102 @@ +packages/iodine +=============== +iodine +====== + +`​iodine <http://code.kryo.se/iodine/>`__ erlaubt es, IPv4 Daten über +DNS zu tunneln. Eine hilfreiche Sache, wenn man z.B. hinter einer +restriktiven Firewall sitzt - da DNS Traffic in den seltensten Fällen +geblockt wird |;)| + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​iodine Homepage <http://code.kryo.se/iodine/>`__ +- `​iodine Man page <http://linux.die.net/man/8/iodine>`__ +- `​iodine documentation <http://code.kryo.se/iodine/README.html>`__ + +.. _UsingwithFreeDNS: + +Using with FreeDNS +------------------ + +See package `dns2tcp <dns2tcp.html>`__ for signing up with FreeDNS and +some other details. + +Put this in your *rc.custom* (there is no WebIF): + +.. code:: wiki + + mkdir /tmp/iodine + chown nobody /tmp/iodine + iodined -c -P <password> -u nobody -t /tmp/iodine 10.0.0.1 -p 10053 dns2tcp.strangled.net + +(assuming user *nobody* exists) + +The trunk version of Freetz has an iodine WebIF now (changeset #6657; +thanks oliver!) + +Create a tunnel from the client like this: + +.. code:: wiki + + sudo ./bin/iodine -f -P <password> dns2tcp.strangled.net + +To connect to Polipo?: + +.. code:: wiki + + ssh root@10.0.0.1 -L 8123:localhost:8123 + +The advantages over `dns2tcp <dns2tcp.html>`__ are: + +- There is an iodine Windows client available +- It is possible to run iodine on Android +- Traffic can easily be route through the tunnel + +Building `​iodine for +Android <http://blog.bokhorst.biz/5123/computers-en-internet/iodine-for-android/>`__. + +.. _Security: + +Security +-------- + +Install `iptables <iptables.html>`__ and add these rules to allow only +traffic to the internet and not your local net: + +.. code:: wiki + + iptables -I OUTPUT -o dns0 -s 192.168.178.0/24 -j DROP + iptables -I INPUT -i dns0 -d 192.168.178.0/24 -j DROP + iptables -A FORWARD -i dns0 -o dsl -j ACCEPT + iptables -A FORWARD -i dns0 -j DROP + +Of course you can always allow specific traffic from tunnel to your +local net, for example to a SSH server by using something like: + +.. code:: wiki + + iptables -I INPUT -i dns0 -p tcp --dport 22 -j ACCEPT + +.. _Forwarding: + +Forwarding +---------- + +iodine can forward DNS requests for unknown (sub)domains to a real +DNS-server on another port with this switch: + +.. code:: wiki + + -b 5353 + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ + +.. |;)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/iptables-cgi.rst b/wiki/packages/iptables-cgi.rst new file mode 100644 index 0000000..68e619f --- /dev/null +++ b/wiki/packages/iptables-cgi.rst @@ -0,0 +1,160 @@ +packages/iptables-cgi +===================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Installation <iptables-cgi.html#Installation>`__ +#. `Häufige Fragen / Howto <iptables-cgi.html#HäufigeFragenHowto>`__ + + #. `Activation <iptables-cgi.html#Activation>`__ + #. `iptables add/remove + rule <iptables-cgi.html#iptablesaddremoverule>`__ + #. `Services <iptables-cgi.html#Services>`__ + #. `Rules <iptables-cgi.html#Rules>`__ + #. `Löschen von Regeln <iptables-cgi.html#LöschenvonRegeln>`__ + +#. `Zu Beachten <iptables-cgi.html#ZuBeachten>`__ + +iptables-cgi +============ + +**iptables-CGI** ist ein Web-Frontend für +`​iptables <http://de.wikipedia.org/wiki/Iptables>`__. Mittels iptables +lassen sich Firewallregeln umsetzen, indem einzelne Portregeln erstellt +bzw. gelöscht werden. Genutzt wird iptables u.a. von +`knockd <knock.html>`__. + +.. _Installation: + +Installation +------------ + +iptables-cgi kann in ``make menuconfig`` angewählt werden, wenn man +iptables markiert. + +.. _HäufigeFragenHowto: + +Häufige Fragen / Howto +---------------------- + +Die Funktionen und die Geschichte von iptables wird hier nicht +wiederholt bzw. erzählt, denn dazu gibt es schon genug Dokumentation in +Internet. Eine sehr gute Seite ist z.B. folgende: +`​http://de.wikipedia.org/wiki/Iptables <http://de.wikipedia.org/wiki/Iptables>`__ + +Hier wird nur auf das Webinterface von iptables eingegangen und mit +einfachen Sätzen erklärt, wie man damit arbeitet. + +.. _Activation: + +Activation +~~~~~~~~~~ + +Wenn hier "Active" ausgewählt wird, dann werden die iptables Module beim +Starten der Box geladen. + +Beim "Stop" unter Dienste werden die Regeln und die Module entladen. + +.. _iptablesaddremoverule: + +iptables add/remove rule +~~~~~~~~~~~~~~~~~~~~~~~~ + ++-----------------------------------+-----------------------------------+ +| **Bezeichnug** | **Funktion** | ++-----------------------------------+-----------------------------------+ +| Add | Fügt eine neue Regel hinzu | ++-----------------------------------+-----------------------------------+ +| Insert | Fügt eine neue Regel in die unter | +| | "Position" angegebene Stelle ein | ++-----------------------------------+-----------------------------------+ +| Position (ID) | Dieses Feld ist nur in Verbindung | +| | mit Insert nutzbar | ++-----------------------------------+-----------------------------------+ +| Chain | Gibt an, in welche Tabelle die | +| | Regel abgelegt werden soll | ++-----------------------------------+-----------------------------------+ +| Source Address | Bestimmt die ausgehende | +| | IP-Adresse (host) | ++-----------------------------------+-----------------------------------+ +| Destination Address | Bestimmt die Ziel IP-Adresse | +| | (host) | ++-----------------------------------+-----------------------------------+ +| Port | Gibt den Source / Destination | +| | Port an (ANY = Alle) | ++-----------------------------------+-----------------------------------+ +| Protokoll | Das verwendete Protokoll = tcp, | +| | udp, icmp (ping) | ++-----------------------------------+-----------------------------------+ +| Interface | Gibt das Interface an, auf das | +| | die Regel wirken soll | ++-----------------------------------+-----------------------------------+ +| NAT | Network Address Translation / | +| | Maskierung der Adresse | ++-----------------------------------+-----------------------------------+ +| Action | Gibt an, ob Erlaubt (Accept) oder | +| | Verbot (Drop) oder Loggen (LOG) | ++-----------------------------------+-----------------------------------+ + +Für die Felder **Source Address** und **Destination Address** können +auch in der HOSTS gespeicherte Hostnamen eingetragen werden. Die Box +macht eine automatische Namensauflösung. + +.. _Services: + +Services +~~~~~~~~ + +Die unter **Port** auswählbaren Services (Dienste) sind unter +*Einstellungen → Iptables: Services* gespeichert und können beliebig +erweitert werden. Dabei bitte den folgenden Syntax verwenden: + +.. code:: wiki + + Service:Port z.B. SSH:22 + +.. _Rules: + +Rules +~~~~~ + +Die Regeln werden fest in den Flash-Speicher der Box gespeichert und +gehen also nicht verloren. Diese Regel-Liste kann auch unter +*Einstellungen → Iptables: Rules* händig verändert werden. Beim +speichern dieser Liste werden die regeln sofort angewendet. + +.. _LöschenvonRegeln: + +Löschen von Regeln +~~~~~~~~~~~~~~~~~~ + +Regeln können entweder über den *Remove* Link rechts neben der +entsprechenden Regel gelöscht werden, oder manuell unter *Einstellungen +→ Iptables: Rules* + +.. _ZuBeachten: + +Zu Beachten +----------- + +In diversen Foren kursiert die Halbwahrheit, dass IPTables instabil sei +und die Box zu unprovozierten Reboots verleitet. Dies ist so nicht ganz +korrekt: IPTables selbst läuft stabil. Die Probleme werden durch das +**conntrack** Modul verursacht, sofern es geladen ist. Da es für die +allgemeine Funktion von IPTables jedoch nicht unbedingt benötigt wird, +muss man es auch nicht installieren. + +|/!\\| Bei der Auswahl von iptables-cgi in ``make menuconfig`` wird +*conntrack* u.U. rekursiv mit ausgewählt. Man kann es jedoch manuell +abwählen, sodass dessen Installation unterbleibt. + +- Tags +- `cgi </tags/cgi>`__ +- `firewall </tags/firewall>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/iptables.en.rst b/wiki/packages/iptables.en.rst new file mode 100644 index 0000000..2b64ff3 --- /dev/null +++ b/wiki/packages/iptables.en.rst @@ -0,0 +1,416 @@ +packages/iptables.en +==================== +Table of contents +^^^^^^^^^^^^^^^^^ + +#. `Current state (largely + broken) <iptables.en.html#Currentstatelargelybroken>`__ +#. `What is iptables and who needs + it? <iptables.en.html#Whatisiptablesandwhoneedsit>`__ +#. `What is the difference between AVM Firewall and iptables, can they + … <iptables.en.html#WhatisthedifferencebetweenAVMFirewallandiptablescantheyco-existonthesamesystem>`__ +#. `How to build iptables for + Freetz? <iptables.en.html#HowtobuildiptablesforFreetz>`__ + + #. `Configuration: After successful firmware build and + upload <iptables.en.html#Configuration:Aftersuccessfulfirmwarebuildandupload>`__ + #. `Hints regarding FritzBox + 7270: <iptables.en.html#HintsregardingFritzBox7270:>`__ + #. `What is the difference of INPUT, OUTPUT and FORWARD + chains <iptables.en.html#WhatisthedifferenceofINPUTOUTPUTandFORWARDchains>`__ + #. `Hints regarding the example + code <iptables.en.html#Hintsregardingtheexamplecode>`__ + #. `Isolate guest network from + LAN <iptables.en.html#IsolateguestnetworkfromLAN>`__ + +#. `More Links <iptables.en.html#MoreLinks>`__ +#. `Questions <iptables.en.html#Questions>`__ + +iptables +======== + +.. _Currentstatelargelybroken: + +Current state (largely broken) +------------------------------ + +| For the 7390 and later, but also for the 7270 with releases from the + last years, iptables doesn't work with 'connection tracking' and + 'state matching'. +| Without these two options a lot of configuration scenarios are not + possible. If you look for an iptables/ip6tables solution without the + use of connection tracking or state matching you can try to add ip + tables form the Freetz menu configuration (make menuconfig), but read + on for additional information. + +| What I understood the reason for connection tracking & state matching + not working is two fold. +| For connection tracking and state matching specifically, AVM has its + own connection tracking solution, which uses the same symbol names, + causing a conflict with the iptables modules. Secondly the behavior of + Packet Acceleration (PA) causes packets not to be handled by the + kernel, but by the PA kernel module + (`​Avm_pa.ko <http://www.wehavemorefun.de/fritzbox/Avm_pa.ko>`__). + Packet Acceleration is a feature that AVM introduced years back (end + 2011). + +| An reason not to use an older firmware for e.g. the 7270 is a + significant vulnerability that was publically misused around February + 2014 (`​vulnerability + info <https://www.heise.de/newsticker/meldung/Angriffe-auf-Fritzboxen-AVM-empfiehlt-Abschaltung-der-Fernkonfiguration-2106542.html>`__). + AVM released firmware fixes for most boxes. + +.. _Whatisiptablesandwhoneedsit: + +What is iptables and who needs it? +---------------------------------- + +| **iptables** is a command line user interface for managing and + configuring the built-in Linux kernel netfilter firewall. + +| It targets users, who want to achieve full control over their network + traffic and efficiently protect their private networks from Internet + hacker attacks and spy-ware. + +Properly configured, the iptables / netfilter package on the FritzBox +router protects all devices behind from unwanted access. This filter is +able to check, dump, forward, prioritize or manipulate network packages +and implement a border line defense against DoS attacks, port scans and +unwanted traffic. It can e.g. stop "home calling" of installed software +packages etc. This package leverages the FritzBox hardware to a +feature-rich, powerful Firewall solution, comparable to expensive +professional business grade devices. + +The basic netfilter filter engine is built-in into the Linux kernel - +this has implications to the different FritzBox types since the 72xx +boxes all have a more recent kernel than the 71xx variants. So some +features of iptables are only available in the newer 7270. + +- the older boxes (71xx) have issues with the conntrack module (limited + RAM and the old Linux kernel leads to Memory overflows of the + tracking tables resulting in unexpected reboots of the box) +- There is no Web UI for iptables on the 7270 yet. +- 7270 has more RAM and a more recent kernel - conntrack works great + (conntrack = connection tracking module, implements stateful firewall + package rules, e.g. for ftp, VoIP, etc.) +- some syntax of iptables commands / abilities differ between 71xx and + 7270 boxes. +- the command / abilities depend on loaded modules (iptables is a + modular system!), some error messages result from missing / not yet + loaded modules. + +.. _WhatisthedifferencebetweenAVMFirewallandiptablescantheyco-existonthesamesystem: + +What is the difference between AVM Firewall and iptables, can they co-exist on the same system? +----------------------------------------------------------------------------------------------- + +- The `AVM Firewall <avm-firewall.html>`__ is an integrated part of the + **dsld** from AVM (dsl daemon). It "sits" on the DSL interface and + controls exclusively the traffic trough this interface. The abilities + include connection tracking (stateful), port forwarding, traffic + shaping and packet filtering. After passing the dsld module, the data + packages arrive at the internal interface and are distributed to the + box and their interfaces without further control. The default input / + output rules are set to PERMIT, anything is allowed, what is not + blocked by a specific rule. There are only few rules set to block + some NetBIOS ports and a known virus port. Inbound traffic is + protected by NAT (network address translation) only, only packages + requested from inside (connection tracking) or set by port forwarding + rules can be translated to the destination private (RFC) IP address + range. However this is a week protection, many ports are open by + default (VoIP, TR064 / TR069 …), the dsld is a piece of proprietary + undocumented software of AVM, no source code is available, many + multimedia ports are open, also remote management via tr069/tr064 is + by default open to the ISPs, what is a potential vulnerability. + Logging is not implemented. + +- iptables based firewalls are deeply integrated into lowest layers of + the Linux kernel. They control any network traffic from / to or + through the box. They are the ultimate protection of the box from + unwanted access both from outside and LAN traffic. Using iptables one + can implement powerful DMZ security zones, protection against DoS + attacks and port scans, and even a deep-inspection of data packages + is possible. Beside this, one can define rules for virtual + interfaces, control VPN tunnel traffic and create source / + destination NAT rules for virtual hosts. Iptables / netfilter is a + powerful, state-of-the-art Open Source firewall - and last but not + least it can log the traffic by rules! + +- Both firewall solutions act on completely different areas (AVM FW is + completely encapsulated in the dsld module, iptables/netfilter is + integrated in the OS kernel), so they and their rules are independent + from each other, beside the fact, that the (external) traffic is + serialized and must bypass both: that means a ALLOW rule of the one + cannot bypass a DENY/REJECT rule of the other, both must be + configured to allow the desired traffic. Here some pass-trough + examples: + +.. + + | Traffic targeting the FritzBox: + | **DSL < — > AVM Firewall (NAT) < — > iptables Firewall < — > + (FritzBox) < — > iptables Firewall < — > LAN / WLAN** + + | Traffic between the Internet and LAN interfaces: + | **DSL < — > AVM Firewall (NAT) < — > iptables Firewall < — > LAN + / WLAN** + +.. + + | DMZ or VPN Tunnel traffic to LAN/WLAN : + | **DMZ / Tunnel Interfaces < — > iptables Firewall < — > LAN / + WLAN** + +- Because AVM FW controls the dsl modem, one cannot completely remove + it without a replacement while operating the box as a DSL router. +- Both firewalls can operate side-by-side without any issues, one has + to consider, that both need to be configured to allow desired traffic + (serialization) +- Because they are "cascaded", one can benefit from increased security: + a hacker must bypass 2 independent firewall solutions to gain access + to the box and devices behind. +- Even ISP operators are using the "backdoor" configuration + capabilities of tr064/tr069 protocol have no chance to access the + router and devices behind protected by well-configured iptables + rules. +- The best-practise configuration / strongest protection can be + achieved by applying rigorous traffic rules on both firewalls and + allowing only necessary traffic. + +.. _HowtobuildiptablesforFreetz: + +How to build iptables for Freetz? +--------------------------------- + +- select iptables **and** all needed modules using `make + menuconfig <../help/howtos/common/install/menuconfig.html>`__ while + building the firmware (unstable branch) +- not listed modules (e.g. ULOG target) can be added after + reconfiguring and replacing the kernel `replace + kernel <../help/howtos/development/make_kernel.html>`__ / **make + kernelconfig** (for experienced developers only!) +- the availability of the modules depends on the kernel version and + configured kernel options. + +.. _Configuration:Aftersuccessfulfirmwarebuildandupload: + +Configuration: After successful firmware build and upload +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- first of all: it is recommended to test the rules interactively using + ssh or telnet. +- before one can start defining rules, the modules have to be loaded by + **modprobe** into the RAM. + +| Here an example script to load the necessary modules for the rules + described in this wiki: + +.. code:: wiki + + # the most common modules needed: + modprobe ip_tables + modprobe iptable_filter + modprobe x_tables + modprobe xt_tcpudp + + # Alternative LOG und REJECT targets: + modprobe ipt_LOG + modprobe ipt_REJECT + + # if one wants to use ip ranges in the rules: + modprobe ipt_iprange + + # same for port ranges: + modprobe xt_multiport + + # for stateful firewall rules (conntrack): + modprobe xt_state + modprobe xt_conntrack + modprobe ip_conntrack + modprobe ip_conntrack_ftp + modprobe ip_conntrack_tftp + +- After registering / loading the modules we can start defining rules + (here some rules for a strong basic protection): + +.. code:: wiki + + # # # FIREWALL RULES + + iptables -N TRANS + # Outbound for surfing the Internet: + # 20 FTP data, 21 FTP, 22 SSH, 25 SMTP, 80 HTTP, 110 POP3, 443 HTTPS, 465 SSMTP, 995 POP3S, 5060 VoIP + # 53 DNS, 67/68 DHCP, 80 HTTP, 123 NTP, 5060 VoIP + iptables -A TRANS -p tcp -s 192.168.0.0/24 -m multiport --dport 20,21,22,25,80,110,443,465,995,5060 -j ACCEPT + iptables -A TRANS -p udp -s 192.168.0.0/24 -m multiport --dport 53,67,68,80,123,5060 -j ACCEPT + iptables -A TRANS -p icmp -s 192.168.0.0/24 -j ACCEPT + + # conntrack rules for returning data packages: + iptables -A TRANS -m state --state RELATED,ESTABLISHED -j ACCEPT + + # ... Some rules for known hosts + # ... + + iptables -A TRANS -j LOG --log-prefix "[IPT] DENY-LAN-ACCESS " # log all dropped packets + iptables -A TRANS -j DROP # PARANOIA LINK + + # # # Rules for Fritz Device + + iptables -A INPUT -p udp -s 0.0.0.0 -d 255.255.255.255 --sport 68 --dport 67 -j ACCEPT #DHCP + iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # LOCALHOST + iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT # LAN + iptables -A INPUT -s 169.254.0.0/16 -i lan -j ACCEPT # EMERGENCY LAN + iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT + iptables -A INPUT -p tcp --dport 5060 -j ACCEPT # VoIP + iptables -A INPUT -p udp --dport 5060 -j ACCEPT # VoIP + iptables -A INPUT -j LOG --log-prefix "[IPT] DENY-FRITZ-ACCESS " # Log other traffic + iptables -A INPUT -j DROP # PARANOIA IN + iptables -P INPUT DROP # Default policy DROP + + iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT # Allow LAN + iptables -A OUTPUT -d 224.0.0.1/24 -j ACCEPT # UPnP + iptables -A OUTPUT -d 239.255.255.250 -j ACCEPT + iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT # Local Host + iptables -A OUTPUT -p udp -m multiport --dport 53,123,5060 -j ACCEPT # DNS, TIME, VoIP + iptables -A OUTPUT -p tcp --dport 5060 -j ACCEPT # VoIP + iptables -A OUTPUT -p tcp --dport 80 -d 63.208.196.0/24 -j ACCEPT # DynDNS + iptables -A OUTPUT -d myMailServer.com -j ACCEPT # e-Mail OUT + iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # stateful conntrack + iptables -A OUTPUT -d 212.42.244.73 -p tcp --dport 80 -j ACCEPT # Plugins Server AVM + + # iptables -A OUTPUT -d www.dasoertliche.de -p tcp --dport 80 -j ACCEPT # Phone book reverse look-up targets + # iptables -A OUTPUT -d www.dastelefonbuch.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.goyellow.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.11880.com -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.google.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.das-telefonbuch.at -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.search.ch -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.anywho.com -p tcp --dport 80 -j ACCEPT + + iptables -A OUTPUT -j LOG --log-prefix "[IPT] WARNING-CALL-HOME " # Log forbidden outbound traffic + iptables -P OUTPUT DROP # and DROP it. + + # # # Rules for FORWARD + + iptables -P FORWARD DROP + iptables -A FORWARD -j TRANS # LAN - WAN traffic rules + iptables -A FORWARD -j LOG --log-prefix "[IPT] DENY-FWD-ACCESS " + +- compared to the AVM firewall, iptables rules apply immediately, + without the need of a restart. +- after testing, iptables rules can be persisted in the following + script: **/var/flash/debug.cfg**, so they survive a box reboot. +- first load all needed modules with **modprobe** +- than define **iptables** rules in the right order (top down + processing) +- Packages passing LOG targets are shown on console 0. + +.. _HintsregardingFritzBox7270:: + +Hints regarding FritzBox 7270: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AVM has customized the printk module while implementing DECT base +station functions, that is responsible for the handling of the kernel +log messages, and they do not hit the syslog any longer. With this +command one can temporary turn off the AVM printk (what leads to +unavailability of DECT) to get a real syslog / klog of system messages. + + **echo STD_PRINTK > /dev/debug** + +To revert the settings to AVM printk and re-enable DECT type: + + **echo AVM_PRINTK > /dev/debug** + +The log appears then again on console 0 and is no longer in the syslog. + +You can also try a patch from `this ticket </ticket/254>`__, but first +read the comments carefully. + +.. _WhatisthedifferenceofINPUTOUTPUTandFORWARDchains: + +What is the difference of INPUT, OUTPUT and FORWARD chains +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- the INPUT chain filters inbound traffic to the box / localhost + itself, this rules expose services of the FritzBox to the "rest of + the world". +- the OUTPUT chain filters outbound traffic initiated by the box, this + are rules for services the box needs from outside (e.g. DNS, + NTP,etc.) +- the FORWARD chain filters traffic trough the box from one interface + to another (e.g. Internet < — > LAN/WLAN ) (pass-trough services) +- the conntrack rules target the returning data packets, they must be + defined in the complementary path (for INPUT rules in the OUTPUT path + etc.) + +.. _Hintsregardingtheexamplecode: + +Hints regarding the example code +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- the first rule of the INPUT chain should be an ACCEPT rule for the + admin interface to prevent a lock-out from the box (don't forget the + according conntrack rule in the OUTPUT chain!). +- set the default policy for all chains to DENY after everything is + tested and works (last rule!) +- in the example there was a new chain TRANS defined to show the + capabilities of this great piece of software. +- in the example there are no rules for VoIP traffic, one can easily + add them when needed +- there are no NAT rules, because NAT is already done by dsld, we use + both firewalls here +- we use only some of the available modules, please feel free to load + others using *modprobe* when needed for special rules +- this example is quite restrictive regarding the traffic of the box to + the Internet, anything not explicitly allowed is forbidden. +- it gives you only a glimpse of the opportunities iptables offers, for + more information search online for the wiki of iptables / netfilter + in your preferred language. + +.. _IsolateguestnetworkfromLAN: + +Isolate guest network from LAN +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +These rules will prevent access to the local area network, including the +box itself from the guest network: + +.. code:: wiki + + iptables -A INPUT -d 192.168.178.0/24 -i guest -j DROP + iptables -A FORWARD -i guest -o dsl -j ACCEPT + iptables -A FORWARD -i guest -j DROP + iptables -A OUTPUT -s 192.168.178.0/24 -o guest -j DROP + +The guest network can only use the internet. Assuming the default subnet +(192.168.178.0/24). + +.. _MoreLinks: + +More Links +---------- + +- `cpmaccfg <../help/howtos/security/switch_config.html>`__ - How to + build a DMZ +- `OpenVPN <openvpn.html>`__ - VPN Tunnel on the FritzBox +- `AVM Firewall <avm-firewall.html>`__ - The little Brother of iptables +- `Freetz as interner Router / + Firewall <../help/howtos/security/router_and_firewall.html>`__ +- `Split WLAN and LAN using + iptables <../help/howtos/security/split_wlan_lan.html>`__ +- `​IPv6 + Sicherheit <http://www.ip-phone-forum.de/showpost.php?p=1488444&postcount=74>`__ +- `​On Netfilter <http://wiki.openwrt.org/doc/howto/netfilter>`__ +- Search `​Freetz - + Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ - Best + place for questions regarding Freetz! + +.. _Questions: + +Questions +--------- + +- Should UDP 80 not be blocked? +- Should 224.0.0.1/24 and 239.255.255.250 not be blocked on the WAN + side? diff --git a/wiki/packages/iptables.rst b/wiki/packages/iptables.rst new file mode 100644 index 0000000..c7ecf6f --- /dev/null +++ b/wiki/packages/iptables.rst @@ -0,0 +1,463 @@ +packages/iptables +================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Was ist iptables und wer braucht es + überhaupt? <iptables.html#Wasistiptablesundwerbrauchtesüberhaupt>`__ +#. `Was ist der Unterschied zur AVM Firewall, wie vertragen sich + beide? <iptables.html#WasistderUnterschiedzurAVMFirewallwievertragensichbeide>`__ +#. `Wie baut man iptables? <iptables.html#Wiebautmaniptables>`__ + + #. `Konfiguration: Firmware erfolgreich erstellt und aufgespielt, so + geht es + … <iptables.html#Konfiguration:Firmwareerfolgreicherstelltundaufgespieltsogehtesweiter>`__ + #. `Anmerkung zu Kernel Logs <iptables.html#AnmerkungzuKernelLogs>`__ + #. `Was ist der Unterschied von INPUT, OUTPUT und + FORWARD <iptables.html#WasistderUnterschiedvonINPUTOUTPUTundFORWARD>`__ + #. `Hinweise zum Code + Beispiel <iptables.html#HinweisezumCodeBeispiel>`__ + +#. `Weiterführende Links <iptables.html#WeiterführendeLinks>`__ +#. `Known Bug (FritzBox vor + 7270) <iptables.html#KnownBugFritzBoxvor7270>`__ + +iptables +======== + +.. _Wasistiptablesundwerbrauchtesüberhaupt: + +Was ist iptables und wer braucht es überhaupt? +---------------------------------------------- + +| **iptables** ist ein Kommandozeilen User Interface zur Konfiguration / + Verwaltung der im jeweiligen Linux Kernel eingebauten sehr mächtigen + `​netfilter <http://de.wikipedia.org/wiki/Netfilter/iptables>`__ - + Firewall Funktionen. + +| Zielgruppe sind Anwender, die die volle Kontrolle über ihren Netzwerk + Verkehr erlangen wollen und sich so effektiv vor Attacken und + unliebsamem Ausspähen schützen möchten. + +Der Linux Paketfilter iptables / netfilter schützt bei richtiger +Konfiguration gegen viele Bedrohungen aus dem Netz. Er kann intelligent +Daten Pakete prüfen, verwerfen, abweisen, weiterleiten, priorisieren +oder manipulieren und schützt so vor den meisten bekannten DoS Atacken, +Portscans und unerlaubten Zugriffen. Gezielt eingesetzt kann er z.B. +auch das lästige "nach Hause telefonieren" von vielen Anwendungen +unterbinden. Mit Hilfe von iptables kann der kundige Anwender aus seiner +FritzBox eine leistungsfähige Firewall machen, die den Vergleich mit +teuren professionellen Lösungen nicht scheuen muss. + +Da die Basis für iptables / netfilter im Linux Kernel steckt, ergibt +sich für Freetz und die FritzBox folgende Problematik: die aktuelle 7270 +hat unter Anderem einen neueren Kernel als die älteren Boxen der 7170er +Generation, was Auswirkungen auf iptables hat. + +- die älteren Modelle (vor der 7270) hatten auf Grund des alten Kernels + und der beschränkten HW Probleme mit conntrack (Überläufe der + Tracking - Tabellen und daraus resultierende Reboots der Box) +- Für die 7270 gibt es noch kein Web-Interface (kein firewall-cgi) +- Die 7270 hat mehr Arbeitsspeicher und einen neueren Kernel, und damit + keine Probleme mehr mit mit conntrack (connection tracking Modul, + benötigt um stateful Firewall Regeln z.B. für ftp, VoIP etc. zu + erstellen). +- Die Syntax der iptables Anweisungen / Fähigkeiten von iptables auf + der 7270 und 71xx können von einander abweichen. +- Welcher Befehl mit welcher Syntax im Endeffekt akzeptiert wird hängt + von den **geladenen** Modulen ab, werden Module "vergessen", bekommt + man nur zum Teil aussagefähige Fehlermeldungen. + +.. _WasistderUnterschiedzurAVMFirewallwievertragensichbeide: + +Was ist der Unterschied zur AVM Firewall, wie vertragen sich beide? +------------------------------------------------------------------- + +- Die `AVM Firewall <avm-firewall.html>`__ ist Bestandteil des **dsld** + von AVM (der dsl deamon). Sie "sitzt" sozusagen auf dem DSL Modem und + kümmert sich ausschließlich um den Verkehr, der durch dieses + Interface fließt. Intern kann sie connection tracking, port + forwarding, traffic shaping und filtern von Paketen. Nach dem + Firewall-Modul landen die Pakete auf die FritzBox und gehen ohne + weitere Kontrolle an alle internen Interfaces, sowie Dienste der Box. + Die Default- IN/OUT Regeln der AVM Firewall sind "PERMIT": also + alles, was nicht verboten wird, wird durchgelassen. Verboten wird + lediglich NetBIOS Verkehr und ein Port, welches ein bekannter Virus + mal missbraucht hat. Jeder abgehende Verkehr von Box & Netzwerk ist + erlaubt. Ungebetener ankommender Verkehr ins LAN scheitert nur am + NAT, die Box selbst ist weitestgehend ungeschützt (dsld als einzige + Hürde). Mit geeigneten Regeln und dem AVM Firewall Paket in Freetz + kann diese Firewall für den Internet Verkehr weiter eingeschränkt + werden. Das Modul ist closed source, was es genau macht, weiss nur + AVM, es gibt keine LOG Möglichkeit. Die Box ist offen für diverse + Multimedia Ports, sowie Fernwartung über TR069. + +- Die iptables Firewall kontrolliert den gesamten Netzwerkverkehr auf + unterster Betriebssystem Ebene. Jedes Interface wird überwacht und + jedes Paket, dass zur Box, von der Box weg oder durch die Box von + einem zum anderen Interface will, kommt an iptables nicht vorbei. + Diese Firewall ist der ultimative Schutz für die Box vor Angriffen + von außen **und** innen. Mit ihr lassen sich sinnvoll z.B. DMZ + Segmente und Sicherheitszonen realisieren. Sie bietet auch die + Möglichkeit DoS Attacken und Portscans wirksam zu bekämpfen. Auch + Deep Inspections von Paketen sind möglich. Darüber hinaus lassen sich + virtuelle Hosts realisieren, und source oder destination NAT + Scenarien umsetzen. Mit iptables lassen sich natürlich auch Regeln + für VPN - Tunnel Interfaces und virtuelle Interfaces definieren. Mit + anderen Worten iptables ist viel mächtiger und leistungsfähiger, + ausserdem ist es Open Source und es kann den Verkehr loggen. + +- Beide Firewalls wirken auf völlig unterschiedliche Bereiche und + operieren unabhängig voneinander. Auch ihre Konfiguration ist + unabhängig, bis auf die Tatsache, dass **beide nacheinander** auf den + Internet Verkehr Anwendung finden. Das bedeutet, dass *Freigaben* der + einen nicht die *Sperren* der anderen umgehen können. Folgende Bilder + sollen den Fluss veranschaulichen: + +.. + + | Verkehr von und zur FritzBox: + | **DSL < — > AVM Firewall (NAT) < — > iptables Firewall < — > + (FritzBox) < — > iptables Firewall < — > LAN / WLAN** + + | Verkehr zwischen Internet und LAN Interfaces: + | **DSL < — > AVM Firewall (NAT) < — > iptables Firewall < — > LAN + / WLAN** + +.. + + | Verkehr in einer DMZ oder VPN Tunnel zum LAN/WLAN : + | **DMZ / Tunnel Interfaces < — > iptables Firewall < — > LAN / + WLAN** + +- da die AVM Firewall (**dsld**) ja auch für die DSL Protokolle + verantwortlich ist, kann man in der Betriebsart **DSL Router** ohne + Ersatz nicht darauf verzichten. +- Man kann **problemlos beide gleichzeitig** betreiben, die Regeln + sollten entsprechend bei **beiden** für die gewünschten Protokolle + durchlässig sein. +- Da sie kaskadiert sind, bieten sie in Kombination einen zusätzlichen + wirksamen Schutz vor Hacker und Ausspäher, selbst wenn die AVM + Firewall durch eine Hintertür (z.B. mit TR069 Um-Konfiguration der + AVM Firewall durch Provider) ausgehebelt wird, bleiben alle Systeme + (FritzBox + Geräte im LAN / WLAN) sicher vor unliebsamen Gästen + geschützt. +- die sicherste, optimale Konfiguration ist, wenn beide Firewalls + vollständig konfiguriert werden, so dass jede für sich den vollen + Schutz des Systems garantieren kann und nur gewünschten Verkehr + zulässt. + +.. _Wiebautmaniptables: + +Wie baut man iptables? +---------------------- + +- iptables und alle gewünschten Module müssen mit `make + menuconfig <../help/howtos/common/install/menuconfig.html>`__ beim + Bauen der Firmware ausgewählt werden (unter packages→unstable, die + Option ist nur sichtbar wenn "Show Advanced Options" aktiviert ist) +- wenn benötigte Module nicht angeboten werden (z.B. ULOG Ziel etc.), + kann man diese mit `replace + kernel <../help/howtos/development/make_kernel.html>`__ / **make + kernelconfig** im Kernel hinzufügen und durch geeignete Patches + dazubauen (Nur für erfahrene Entwickler!) +- Die Verfügbarkeit der einzelnen Module hängt von den Fähigkeiten der + jeweiligen Kernel Version ab. + +.. _Konfiguration:Firmwareerfolgreicherstelltundaufgespieltsogehtesweiter: + +Konfiguration: Firmware erfolgreich erstellt und aufgespielt, so geht es weiter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- zunächst mal empfiehlt es sich interaktiv die Regeln zu erstellen und + zu testen +- bevor man damit beginnen kann, müssen die für die jeweiligen Regeln + benötigten Module in das System geladen werden. + +| Hier ein Beispiel - Script für das Laden der Module: + +.. code:: wiki + + # Die wichtigsten Module, ohne die nichts geht: + modprobe ip_tables + modprobe iptable_filter + modprobe x_tables + modprobe xt_tcpudp + + # Alternative Ziele LOG und REJECT: + modprobe ipt_LOG + modprobe ipt_REJECT + + # Bei Verwendung von IP Adressbereichen: + modprobe ipt_iprange + + # Bei Verwendung von Port Bereichen + modprobe xt_multiport + + # Fuer stateful firewall Regeln (conntrack): + modprobe xt_state + modprobe xt_conntrack + modprobe ip_conntrack + modprobe ip_conntrack_ftp + modprobe ip_conntrack_tftp + +- Danach werden die Regeln / Ketten erstellt (hier ein Beispiel für + diverse Regeln): + +.. code:: wiki + + # # # FIREWALL RULES + + iptables -N TRANS + # Ausgehende Regeln für Internet Surfen: + iptables -A TRANS -p tcp -s 192.168.0.0/24 -m multiport --dport 20,21,22,25,80,110,443,465,995,5060 -j ACCEPT + iptables -A TRANS -p udp -s 192.168.0.0/24 -m multiport --dport 53,67,68,80,123,5060 -j ACCEPT + iptables -A TRANS -p icmp -s 192.168.0.0/24 -j ACCEPT + + # conntrack für eingehende Antwortpakete: + iptables -A TRANS -m state --state RELATED,ESTABLISHED -j ACCEPT + + # ... Eigene Regeln für bekannte hosts + # ... + + iptables -A TRANS -j LOG --log-prefix "[IPT] DENY-LAN-ACCESS " # abgewiesene Pakete Loggen + iptables -A TRANS -j DROP # PARANOIA LINK + + # # # Rules for Fritz Device + + iptables -A INPUT -p udp -s 0.0.0.0 -d 255.255.255.255 --sport 68 --dport 67 -j ACCEPT + iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # LOCALHOST + iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT # LAN + iptables -A INPUT -s 169.254.0.0/16 -i lan -j ACCEPT # EMERGENCY LAN + iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT + iptables -A INPUT -p tcp --dport 5060 -j ACCEPT # VoIP + iptables -A INPUT -p udp --dport 5060 -j ACCEPT # VoIP + iptables -A INPUT -j LOG --log-prefix "[IPT] DENY-FRITZ-ACCESS " # Log other traffic + iptables -A INPUT -j DROP # PARANOIA IN + iptables -P INPUT DROP # Default policy DROP + + iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT # Allow LAN + iptables -A OUTPUT -d 224.0.0.1/24 -j ACCEPT # UPnP + iptables -A OUTPUT -d 239.255.255.250 -j ACCEPT + iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT # Local Host + iptables -A OUTPUT -p udp -m multiport --dport 53,123,5060 -j ACCEPT # DNS, TIME, VoIP + iptables -A OUTPUT -p tcp --dport 5060 -j ACCEPT # VoIP + iptables -A OUTPUT -p tcp --dport 80 -d 63.208.196.0/24 -j ACCEPT # DynDNS + iptables -A OUTPUT -d myMailServer.com -j ACCEPT # e-Mail OUT + iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # stateful conntrack + iptables -A OUTPUT -d 212.42.244.73 -p tcp --dport 80 -j ACCEPT # Plugins Server AVM + + # iptables -A OUTPUT -d www.dasoertliche.de -p tcp --dport 80 -j ACCEPT # Für Telefonbuch Abfrage durch die Box + # iptables -A OUTPUT -d www.dastelefonbuch.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.goyellow.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.11880.com -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.google.de -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.das-telefonbuch.at -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.search.ch -p tcp --dport 80 -j ACCEPT + # iptables -A OUTPUT -d www.anywho.com -p tcp --dport 80 -j ACCEPT + + iptables -A OUTPUT -j LOG --log-prefix "[IPT] WARNING-CALL-HOME " # Nicht Erlaubten ausgehenden Traffic Loggen + iptables -P OUTPUT DROP # und Sperren + + # # # Rules for FORWARD + + iptables -P FORWARD DROP + iptables -A FORWARD -j TRANS # Regeln für LAN - WAN Verkehr + iptables -A FORWARD -j LOG --log-prefix "[IPT] DENY-FWD-ACCESS " + +- Im Gegensatz zur AVM-Firewall werden iptables Regeln sofort wirksam, + bei Regeländerungen in der AVM Firewall ist ein Restart vom dsld + nötig. +- Wenn man alle gewünschten Regeln definiert und getestet hat, kann man + sie als Batch in die **/var/flash/debug.cfg** schreiben beim Start + der Box automatisch aktivieren. +- Zunächst alle benötigten Module mit **modprobe** laden +- danach die **iptables** Anweisungen in der richtigen Reihenfolge + eintragen. (Die Ketten werden immer von oben nach unten abgearbeitet! + ) +- im Kernel Log / auf Konsole1 sieht man alle LOG Einträge der Pakete, + die die entsprechenden LOG Anweisungen passieren. +- Und + `​hier <http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject>`__ + noch ein lesenswerter Artikel, der sich mit den Vor- bzw. Nachteilen + von REJECT bzw. DROP beschäftigt. + +.. _AnmerkungzuKernelLogs: + +Anmerkung zu Kernel Logs +~~~~~~~~~~~~~~~~~~~~~~~~ + +AVM hat Änderungen im System eingebaut, die das Protokollieren von +Kernel Meldungen im Syslog verhindern. Um die LOG Einträge im Syslog zu +schreiben kann man mit : + + **echo STD_PRINTK > /dev/debug** + +den AVM_PRINTK (und damit DECT) temporär abschalten. Mit der Anweisung: + + **echo AVM_PRINTK > /dev/debug** + +wird der ursprüngliche Zustand wiederhergestellt und DECT funktioniert +wieder; die LOG Einträge werden wieder nur noch auf Konsole1 ausgegeben. + +You can also try a patch from `this ticket </ticket/254>`__, but first +read the comments carefully. + +.. _WasistderUnterschiedvonINPUTOUTPUTundFORWARD: + +Was ist der Unterschied von INPUT, OUTPUT und FORWARD +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- INPUT Kette filtert nur den eingehenden Verkehr zum localhost + (FritzBox), damit werden Dienste die die FritzBox bereitstellt + freigeschaltet. +- OUTPUT Kette filtert nur den Verkehr, der von der FritzBox + (localhost) in andere Netze geht, also Dienste, die die FritzBox + benötigt. +- FORWARD Kette filtert den Verkehr zwischen den Interfaces, also z.B. + Internet < — > LAN / WLAN, also Dienste, die die Box "durchschleust". +- conntrack Regeln dienen dem Daten-Rückfluss und sind deshalb immer im + komplementären Zweig der Regel angesiedelt für INPUT Regel im OUTPUT + Zweig etc.) + +.. _HinweisezumCodeBeispiel: + +Hinweise zum Code Beispiel +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Die erste / oberste Regel der INPUT / OUTPUT Ketten sollte immer ein + ausreichendes ACCEPT für den Admin Zugang beinhalten, damit man sich + nicht aus Versehen selbst aussperrt. +- Die default Policy sollte erst dann auf DENY gestellt werden, wenn + man alles erfolgreich getestet hat, man kann auch darauf verzichten + wenn man als letzte Regel der jeweiligen Kette eine DENY oder REJECT + Regel für alle Pakete formuliert. +- im Beispiel wurde auch eine eigene Kette TRANS definiert und im + FORWARD Zweig eingehängt, um die Fähigkeiten zu demonstrieren. +- Das Beispiel beinhaltet keine Regeln für VoIP / Portforwarding etc. + Es ist ein auf der 7270 getesteter minimaler Satz für die + Basis-Internet Funktionalität und kann natürlich beliebig erweitert + werden. +- Es sind keine NAT Regeln enthalten, da der **dsld** (AVM-Firewall & + DSL Interface) im System belassen wurde und diese Aufgabe bestens + vorher erfüllt. +- Es wurden nur die Module beschrieben / geladen, die für das Beispiel + relevant sind, bei Bedarf können weitere Module per *modprobe* + geladen werden. +- Das Beispiel ist sehr restriktiv, was den Verkehr der FritzBox ins + Internet betrifft; es verbietet alles, was nicht explizit per Regel + erlaubt wird. +- Das Beispiel zeigt einen sehr kleinen Teil der Fähigkeiten von + iptables, wer mehr will findet im `​Linux-Kompendium: Linux-Firewall + mit + IP-Tables <http://de.wikibooks.org/wiki/Linux-Kompendium:_Linux-Firewall_mit_IP-Tables>`__ + jede Menge nützliches Wissen vermittelt. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `iptables-cgi <iptables-cgi.html>`__ - Eine Weboberfläche für + iptables (freetz paket) +- `NHIPT - iptables CGI <nhipt.html>`__ - Weboberfläche für iptables + (unterstützt IPv4 & IPv6; Als freetz Paket oder direkt von USB + nutzbar) +- `cpmaccfg <../help/howtos/security/switch_config.html>`__ - Trennen + der LAN Interface Bridge und Konfiguration einer DMZ +- `OpenVPN <openvpn.html>`__ - VPN Tunnel mit der FritzBox +- `AVM Firewall <avm-firewall.html>`__ - Der kleine Bruder von iptables +- `Freetz als interner Router mit + Firewall <../help/howtos/security/router_and_firewall.html>`__ +- `WLAN und LAN trennen mit + iptables <../help/howtos/security/split_wlan_lan.html>`__ +- Die Suchfunktion im `​Freetz - + Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ bietet + auch weitere Hilfe zu speziellen Fragen + +— cando + +.. _ÄltereBeiträgebetreffenFritzBoxenvorder72xxSerie: + +Ältere Beiträge (betreffen FritzBoxen vor der 72xx Serie) +========================================================= + +Damit man **iptables** verwenden kann, müssen die entsprechenden +Kernel-Module in Freetz einkompiliert sein. Bei der Auswahl der Module +aus der Unzahl der Möglichkeiten kann hilfreich sein, firewall-cgi? zu +aktivieren, auch wenn es dann nicht benutzt wird. Die wichtigsten +iptables-Module werden dann automatisch einkompiliert. + +.. code:: wiki + + host# scp ../ds-0.2.5/kernel/root/usr/lib/iptables/libipt_limit.so root@fritz:/mod/lib + fritz# iptables -m limit -h + host# scp + ../ds-0.2.5/kernel/modules-4mb/lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/iptable_nat.o root@fritz:/mod/lib + fritz# insmod insmod /mod/lib/iptable_nat.o + +Siehe auch Howto: `WLAN und LAN trennen mit +iptables <../help/howtos/security/split_wlan_lan.html>`__ + +.. _KnownBugFritzBoxvor7270: + +Known Bug (FritzBox vor 7270) +----------------------------- + +|/!\\| Nach Laden des Conntack-Moduls weist der Kernel immer wieder +Pakete mit ``...ip_conntrack_tcp: INVALID: invalid TCP flag combinat`` +o.ä. ab. Das ist ja gut so. Aber warum kommen die nicht an den +iptables-Chains vorbei? Das scheint vorher zu passieren. + +danisahne schreibt dazu: + + Das ist schon mehreren aufgefallen. Ich habe keine Ahnung (hab mich + noch nicht genauer damit beschäftigt, warum diese Pakete als INVALID + erkannt werden. Tatsache ist, dass deswegen das forewall-cgi Paket + nicht zusammen mit der Telefonie funktioniert. Ist quasi noch ein + offener Bug. + +.. + + UPDATE: Das Problem sollte ab Version 0.2.7 gelöst sein. + Verbindungen, die vor dem Laden des iptables conntrack Moduls + aufgebaut wurden, werden dann als INVALID erkannt. Der Workaround in + 0.2.7 läd diese Module im Skript modload, falls sie mitinstalliert + wurden. — danisahne + +|/!\\| ds26: Die Module werden nicht automatisch geladen. Mit geladenem +ip_conntrack stürzt meine Box nach ca. 3h ab. Ich hab den dsld im +Verdacht. Aber hier müsste mal jemand weiterforschen… — olistudent + +|/!\\| Ich habe festgestellt, dass es sich erheblich bessert, wenn man +folgendes macht: + +.. code:: wiki + + # 32MB RAM + CONNTRACK_MAX=2048 + # CONNTRACK_MAX/8 + CONNTRACK_HASH=256 + + modprobe ip_tables + modprobe ip_conntrack hashsize=$CONNTRACK_HASH + modprobe ipt_state + modprobe iptable_filter + modprobe iptable_nat + echo $CONNTRACK_MAX > /proc/sys/net/ipv4/netfilter/ip_conntrack_max + +Hier führten diese Einstellungen zu Uptimes von ~ 2 Tagen statt +mindestens 5x Reboot am Tag (W900V) (`Ticket 260 </ticket/260>`__) + + — crissi + +- Tags +- `firewall </tags/firewall>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/irssi.rst b/wiki/packages/irssi.rst new file mode 100644 index 0000000..8b0a1f4 --- /dev/null +++ b/wiki/packages/irssi.rst @@ -0,0 +1,31 @@ +packages/irssi +============== +irssi +===== + +`​irssi <http://www.irssi.org/>`__ ist ein +Konsolen-\ `​IRC-Client <http://de.wikipedia.org/wiki/IRC-Client>`__ - +d.h. im Gegensatz zu den meisten anderen IRC-Clients, verwendet *irssi* +keine grafische Oberfläche. Das macht ihn natürlich für unsere +Freetz-Box interessant. Da *irssi* über eine auf +`​Perl <http://de.wikipedia.org/wiki/Perl_(Programmiersprache)>`__ +basierende "Scripting Engine" verfügt, lässt sich die Kernfunktionalität +über Perl-Skripte erweitern - sofern man auf der Box auch Perl (z.B. +[packages/microperl microperl]) installiert hat. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​irssi Homepage <http://www.irssi.org/>`__ +- `​Wikipedia-Artikel zu + ''irssi'' <http://de.wikipedia.org/wiki/Irssi>`__ +- `​irssi Dokumentation <http://de.wikibooks.org/wiki/Irssi>`__ auf + WikiBooks + +- Tags +- `console </tags/console>`__ +- `im </tags/im>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/jamvm.rst b/wiki/packages/jamvm.rst new file mode 100644 index 0000000..78bd05f --- /dev/null +++ b/wiki/packages/jamvm.rst @@ -0,0 +1,56 @@ +packages/jamvm +============== +.. _JamVM: + +JamVM +===== + +`​JamVM <http://jamvm.sourceforge.net/>`__ ist eine neue `​Java Virtual +Machine <http://en.wikipedia.org/wiki/Java_Virtual_Machine>`__, die der +JVM Spezifikation Version 2 (blue book) entspricht. Im `​Vergleich mit +den meisten anderen +VM's <http://bugblogger.com/java-vms-compared-160/>`__ (frei und +kommerziell) ist *JamVM* extrem klein ("stripped executables" für +PowerPC nur ~160K, und für Intel 140K). Dennoch unterstützt es, anders +als andere "kleine" VMs (z.B. KVM) die vollständige Spezifikation, und +enthält Support für "object finalisation", Soft/Weak/Phantom Referenzen, +class-unloading, das `​Java Native +Interface <http://de.wikipedia.org/wiki/Java_Native_Interface>`__ (JNI) +und die Reflection API. + +JamVM nutzt die `​GNU +Classpath <http://de.wikipedia.org/wiki/GNU_Classpath>`__ Java Class +Library. Eine Reihe von Klassen sind Referenz-Klassen, die für eine +spezielle VM angepasst werden müssen. Diese werden zusammen mit *JamVM* +gebündelt. + +|/!\\| **Anmerkung:** *JamVM* wird nicht mit der Class Library von Suns +oder IBMs JVMs funktionieren. + +Da die normale Klassenbiliothek (glibj.zip) über 9 MB groß ist wird +standardmäßig nur eine reduzierte Version (mini.jar) installiert. +Deshalb muss jamvm folgendermaßen aufgerufen werden um z.B. die Datei +Hello.class im aktuellen Verzeichnis aufzurufen: + +.. code:: wiki + + jamvm -Xbootclasspath/a:/usr/share/classpath/mini.jar Hello + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​JavaVM Homepage <http://jamvm.sourceforge.net/>`__ +- `​Vergleich verschiedener + JVMs <http://bugblogger.com/java-vms-compared-160/>`__ +- `​List of + JVMs <http://en.wikipedia.org/wiki/List_of_Java_virtual_machines>`__ +- `​freie Java + Implementierungen <http://en.wikipedia.org/wiki/Free_Java_implementations>`__ + +- Tags +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/knock.rst b/wiki/packages/knock.rst new file mode 100644 index 0000000..ecfb04b --- /dev/null +++ b/wiki/packages/knock.rst @@ -0,0 +1,34 @@ +packages/knock +============== +knockd +====== + +*"Wer klopfet, dem wird aufgetan"* - so könnte man dieses Paket +überschreiben. *knockd* bietet eine gute Möglichkeit, Dienste von Remote +zu starten. Läuft der (übrigens sehr resourcenschonende) Knock-Daemon +auf der Fritzbox, so kann man z.B. - bei entsprechender Konfiguration - +durch das korrekte "Klopfzeichen" signalisieren, dass man "rein möchte". +Wurde der richtige "Knock Code" gesendet, startet knockd das zugehörige +Programm (z.B. den SSH Daemon). Ein weiteres "Klopfen" beendet ihn dann +später wieder. Dieses Vorgehen bietet zusätzliche Sicherheit, da Ports +nur dann offen sind, wenn man sie auch wirklich braucht - der Portscan +eines Hackers läuft also damit meist ins Leere. + +.. _WeiterführendeLinks:: + +Weiterführende Links: +--------------------- + +- `​Ein kurzer Workshop zu + knockd <http://wiki.hetzner.de/index.php/Knockd>`__ +- `​Artikel zu + "Portknocking" <http://blog.roothell.org/archives/146-Portknocking-Tools-Teil-1-knockd.html>`__ +- `​Knockd Demo auf + Youtube <http://www.youtube.com/watch?v=EbzrLPf6D7Y>`__ + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `security </tags/security>`__ +- `server </tags/server>`__ diff --git a/wiki/packages/ldd.rst b/wiki/packages/ldd.rst new file mode 100644 index 0000000..e16ef7c --- /dev/null +++ b/wiki/packages/ldd.rst @@ -0,0 +1,35 @@ +packages/ldd +============ +ldd +=== + +**ldd** steht für **L**\ ist **D**\ ynamic **D**\ ependencies. Es +handelt sich hier um ein kleines Konsolen-Tool, mit dem sich +herausfinden lässt, ob ein Binary von anderen Binaries (in der Regel +`​dynamische +Bibliotheken <http://de.wikipedia.org/wiki/Programmbibliothek#Dynamische_Bibliotheken>`__) +abhängt und wenn ja, von welchen. + +Wie die Beschreibung richtig vermuten lässt, wird *ldd* in der Regel von +Entwicklern benutzt - wohingegen der "normale Anwender" sie eher selten +bis gar nicht benötigt. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​ldd Man + page <http://www.gsp.com/cgi-bin/man.cgi?section=1&topic=ldd>`__ +- `​Unix Tip: Viewing library dependencies with + ldd <http://www.itworld.com/nls_unix_lib060727>`__ +- `​Linker and Libraries + guide <http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWdev/LLM/p14.html>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/lighttpd.rst b/wiki/packages/lighttpd.rst new file mode 100644 index 0000000..ea5d781 --- /dev/null +++ b/wiki/packages/lighttpd.rst @@ -0,0 +1,143 @@ +packages/lighttpd +================= +.. _lighttpdWebserver: + +lighttpd Webserver +================== + +Mit diesem Paket ist es möglich, den lighttpd Webserver zu erstellen. + +.. _Einrichtung: + +Einrichtung +----------- + +Um den Webserver nutzen zu können, muss ein Verzeichnis erstellt werden, +in dem der lighttpd agieren kann. Dieses muss unbedingt erstellt und mit +den nötigen Rechten versehen werden. + +-------------- + +**Unbedingt beachten:** In dieser Anleitung wird angenommen, dass +`USB-root <usbroot.html>`__ genutzt wird. Sollte USB-root nicht +verwendet werden, muss auf die folgenden Verzeichnisstrukturen noch +größeres Augenmerk gelegt werden. In solch einem Fall **könnte** +``/var/media/ftp/uStor01/rootfs/www`` eine Analogie für ``/www`` sein. + +-------------- + +Zunächst muss eine Konsolensitzung mit dem Router bestehen, es spielt +keine Rolle, ob dafür Telnet oder `SSH <dropbear.html>`__ genutzt wird. + +:: + + # erstelle Webserver-Verzeichnis und setze 'rwxr-xr-x'-Rechte + mkdir /www + chmod -R 755 /www + +Nun kann man im Freetz-Konfigurationsfrontend die Einstellungen für den +lighttpd anpassen und übernehmen. Daraufhin wird die benötigte +Verzeichnisstruktur innerhalb des Webserver-Verzeichnisses angelegt. Die +Dokumente müssen im Verzeichnis ``/www/websites`` liegen. Je nach +Einstellung ist der Server nun bspw. über ``http://fritz.box:8008`` +verfügbar. + +.. _Perl: + +Perl +---- + +Will man Perl-Skripte mit dem Webserver benutzen und den +``chroot``-Modus benutzen, muss man sich darum kümmern, dass das Paket +`microperl <microperl.html>`__ sowie dessen Bibliotheken in die +Verzeichnisstruktur des lighttpd kopiert wird. + +:: + + # kopiere 'microperl' als 'perl' in das '/usr/bin'-Verzeichnis des Webservers + cp -p /usr/bin/microperl /www/usr/bin/perl + + # erstelle ein Verzeichnis '/lib' für die Bibliotheken + mkdir /www/lib + + # kopiere die von 'microperl' benötigten Bibliotheken in das '/lib'-Verzeichnis des Webservers + # Abhängigkeiten können mit 'ldd /usr/bin/microperl' ausgegeben werden + cp -p /lib/ld-uClibc.so.0 /www/lib + cp -p /lib/libc.so.0 /www/lib + cp -p /lib/libgcc_s.so.1 /www/lib + cp -p /lib/libm.so.0 /www/lib + +Wenn neben ``*.cgi``-Dateien auch ``*.pl``-Dateien ausgeführt werden +sollen, muss außerdem noch eine Zeile in die 'Additional'-Konfiguration +von lighttpd (zu finden im Freetz-Konfigurationsmenü unter ``Settings`` +→ ``'lighttpd: Additional``): + +.. code:: wiki + + # aktiviere CGI Unterstützung für *.pl-Dateien + cgi.assign += ( ".pl" => "/usr/bin/perl" ) + +Außerdem muss darauf geachtet werden, dass jegliche Perl-Skripte +Ausführrechte haben, dies ist mit einem einfachen ``chmod 755 DATEI.pl`` +zu erledigen. + +.. _Lua: + +Lua +--- + +make menuconfig: + +- *lighttpd > build with LUA support* +- *lighttpd > lighttpd Modules > include mod_magnet* + +Example: + +- put this in *lighttpd > Additional*: + +.. code:: wiki + + server.modules += ( "mod_magnet" ) + magnet.attract-physical-path-to = ( server.document-root + "/ip.lua" ) + +- put this in *ip.lua* in your document root: + +.. code:: wiki + + lighty.header["Content-Type"] = "text/html" + lighty.content = { "Your IP-address is: ", lighty.env["request.remote-ip"] } + return 200 + +- browse to *http://fritz.box:<configured port>/ip.lua* + +Links: + +- `​The Programming Language LUA <http://www.lua.org/>`__ +- `​Lighttpd - Docs:ModMagnet - lighty + labs <http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModMagnet>`__ +- `​AbsoLUAtion - The powerful combo of Lighttpd + + Lua <http://redmine.lighttpd.net/wiki/1/AbsoLUAtion>`__ + +Advantage over PHP: small, fast, low memory usage, feature rich +programming language. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Lighttpd>`__ zu + Lighttpd +- `​Lighttpd Homepage <http://www.lighttpd.net>`__ +- `​Forumsdiskussion <http://www.ip-phone-forum.de/showthread.php?t=185448>`__ + im IPPF zu diesem Paket +- `​HowTo <http://www.howtoforge.com/setting-up-webdav-with-lighttpd-debian-etch>`__ + setting up webdav with lighttpd in Debian Etch +- `​HowTo <http://www.howtoforge.de/howto/wie-man-webdav-mit-lighttpd-auf-debian-etch-konfiguriert>`__ + (s.o., auf Deutsch) + +- Tags +- `daemons </tags/daemons>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/lsof.rst b/wiki/packages/lsof.rst new file mode 100644 index 0000000..8e68a48 --- /dev/null +++ b/wiki/packages/lsof.rst @@ -0,0 +1,28 @@ +packages/lsof +============= +lsof +==== + +Mit ``lsof`` lässt sich feststellen, welche Dateien wo und von wem +gerade geöffnet sind. Dies kann sehr hilfreich sein, wenn man z.B. ein +angeschlossenes Wechselmedium (USB-Stick oder USB-Festplatte) von der +Box entfernen will, sich das Dateisystem aber nicht "unmounten" lässt, +weil es noch in Benutzung ist ("still in use") - mount sagt einem ja +nur, dass dem so sei, gibt aber keine Details bekannt. + +Beispiel: + +.. code:: wiki + + # lsof /var + COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME + syslogd 350 root 5w VREG 222,5 0 440818 /var/adm/messages + syslogd 350 root 6w VREG 222,5 339098 6248 /var/log/syslog + cron 353 root cwd VDIR 222,5 512 254550 /var -- atjobs + +Weitere Informationen finden sich u.a. bei +`​Wikipedia <http://en.wikipedia.org/wiki/Lsof>`__. + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/ltrace.rst b/wiki/packages/ltrace.rst new file mode 100644 index 0000000..57b87cb --- /dev/null +++ b/wiki/packages/ltrace.rst @@ -0,0 +1,27 @@ +packages/ltrace +=============== +ltrace +====== + +`​ltrace <http://ltrace.alioth.debian.org/>`__ ist ein Debug-Tool, mit +dem sich von einem Programm ausgelöste "Library Calls" +(Bibliotheks-Aufrufe) sowie alle empfangenen Signale monitoren lassen. +Ein vergleichbares Tool findet sich im Paket `strace <strace.html>`__. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​ltrace Homepage <http://ltrace.alioth.debian.org/>`__ +- `​ltrace Man page <http://linux.die.net/man/1/ltrace>`__ +- `​PDF paper about ''ltrace'' + internals <http://ols.108.redhat.com/2007/Reprints/branco-Reprint.pdf>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/lua.rst b/wiki/packages/lua.rst new file mode 100644 index 0000000..90654cb --- /dev/null +++ b/wiki/packages/lua.rst @@ -0,0 +1,33 @@ +packages/lua +============ +.. _Lua: + +Lua +=== + +`​Lua <http://www.lua.org/>`__ ist eine +`​Skriptsprache <http://de.wikipedia.org/wiki/Skriptsprache>`__ zum +Einbinden in Programme, um diese leichter weiterentwickeln und warten zu +können. Eine der besonderen Eigenschaften von Lua ist die geringe Größe +des kompilierten Skript-Interpreters. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Lua Homepage <http://www.lua.org/>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Lua>`__ +- `​Lua für Anfänger <http://lua.gts-stolberg.de/>`__ +- `​Lua + Links <http://www.dmoz.org/World/Deutsch/Computer/Programmieren/Sprachen/Lua/>`__ +- `​Libraries And + Bindings <http://lua-users.org/wiki/LibrariesAndBindings>`__ +- `Ticket with patch for common libraries </ticket/1325>`__ +- `LUA for Haserl </ticket/1326>`__ + +-------------- + +- Tags +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ diff --git a/wiki/packages/lynx.rst b/wiki/packages/lynx.rst new file mode 100644 index 0000000..37d7914 --- /dev/null +++ b/wiki/packages/lynx.rst @@ -0,0 +1,37 @@ +packages/lynx +============= +.. _Lynx: + +Lynx +==== + +`​Lynx <http://lynx.isc.org/>`__ ist ein Web-Browser, der ohne grafische +Oberfläche daherkommt - also von der Konsole zu nutzen ist. Anstelle von +Grafiken stellt er die "ALT"-Tags ("Alternative Description") dar, bzw. +(so diese nicht vorhanden sind) den Namen der Bilddatei. Man kann Lynx +auch so konfigurieren, dass er diese als "Links" darstellt, die mit +einem externen Programm geöffnet werden. +`​Cookies <http://de.wikipedia.org/wiki/HTTP-Cookie>`__ und +`​Image-Maps <http://de.wikipedia.org/wiki/Verweissensitive_Grafik>`__ +werden ebenfalls unterstützt - Tabellen hingegen nur eingeschränkt, +`​Java <http://de.wikipedia.org/wiki/Java_(Programmiersprache)>`__ sowie +`​JavaScript <http://de.wikipedia.org/wiki/Javascript>`__ überhaupt +nicht. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Lynx Homepage <http://lynx.isc.org/>`__ +- `​The History of + Lynx <http://people.cc.ku.edu/~grobe/early-lynx.html>`__ +- `​Tips on using + Lynx <http://brainstormsandraves.com/articles/browsers/lynx/>`__ +- `​Liste von + Web-Browsern <http://de.wikipedia.org/wiki/Liste_von_Webbrowsern>`__ + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/m-i-t.rst b/wiki/packages/m-i-t.rst new file mode 100644 index 0000000..81021f9 --- /dev/null +++ b/wiki/packages/m-i-t.rst @@ -0,0 +1,21 @@ +packages/m-i-t +============== +module-init-tools +================= + +Das Paket **module-init-tools** (oder kurz: *m-i-t*) enthält diverse +Programme zur Verwaltung von Kernel-Modulen - also quasi die Programme +``insmod``, ``lsmod``, ``rmmod``, ``depmod`` und ``modprobe``. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Linux-From-the-Scratch: + Module-Init-Tools <http://oss.erdfunkstelle.de/lfs-de/6.0/online/chapter06/module-init-tools.html>`__ + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/madplay.rst b/wiki/packages/madplay.rst new file mode 100644 index 0000000..4dfee3b --- /dev/null +++ b/wiki/packages/madplay.rst @@ -0,0 +1,29 @@ +packages/madplay +================ +madplay +======= + +`​MAD <http://www.underbit.com/products/mad/>`__ ist ein qualitativ +hochwertiger `​MPEG <http://de.wikipedia.org/wiki/MPEG>`__ Audio +Decoder. MPEG rein - +`​PCM <http://de.wikipedia.org/wiki/Puls-Code-Modulation>`__ raus, und +zwar in 24-Bit. Da *MAD* bei sämtlichen Berechnungen auf +Gleitkomma-Zahlen verzichtet, eignet es sich besonders für "Embedded +Systems" sowie "schwachbrüstige Systeme". + +*Freetz* verwendet *MAD' z.B. im Paket*\ `DTMFBox <dtmfbox.html>`__\ *.* + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​MAD Homepage <http://www.underbit.com/products/mad/>`__ +- `​MAD Projektseite <http://sourceforge.net/projects/mad/>`__ + (Sourceforge) + +-------------- + +- Tags +- `audio </tags/audio>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/matrixtunnel.rst b/wiki/packages/matrixtunnel.rst new file mode 100644 index 0000000..b77c3a6 --- /dev/null +++ b/wiki/packages/matrixtunnel.rst @@ -0,0 +1,32 @@ +packages/matrixtunnel +===================== +matrixtunnel +============ + +Die Idee für **matrixtunnel** hat der Autor nach eigenen Worten von +`stunnel <stunnel.html>`__ geklaut. Es handelt sich hier um eine +Möglichkeit, das Webinterface per https ansprechen zu können. Im +Gegensatz zu *stunnel* basiert *matrixtunnel* jedoch auf der +superkleinen *matrixssl* Bibliothek. + +Eine gute Beschreibung, wie man einen MT einrichtet, findet sich im +Artikel zur +`Rudi-Shell <rudi-shell.html#https-Zugriffreloadedimproved>`__. Ein +Stückchen weiter oben wird auch beschrieben, wie man `Zertifikate +erzeugen <rudi-shell.html#SichererZugriffviahttps>`__ kann, die sowohl +für OpenSSL als auch für MatrixSSL passend sind. + +Übrigens: *matrixtunnel* kann man nicht nur für das Verschlüsseln von +http, sondern auch für beliebige TCP Connections einsetzten. + +|/!\\| Achtung: matrixtunnel wird nicht mehr gefplegt, der Autor hat +aber einen Nachfolger `xrelayd <xrelayd.html>`__ vorgestellt, der jedoch +etwas mehr Platz als die Kombination matrixtunnel/matrixssl benötigt. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/mc.rst b/wiki/packages/mc.rst new file mode 100644 index 0000000..28f8b09 --- /dev/null +++ b/wiki/packages/mc.rst @@ -0,0 +1,28 @@ +packages/mc +=========== +*TODO: Verschiedene Menüoptionen beschreiben, insbesondere +Subshell-Support mit Bash …* + +.. _MidnightCommander: + +Midnight Commander +================== + +Der Midnight Commander ist ein OpenSource-Klon des Norton Commander - +und wesentlich umfangreicher als z.B. der `DECO <deco.html>`__, was sich +natürlich nicht zuletzt auch in seiner Größe bemerkbar macht (DECO: ca. +60kb, mc (ohne Hilfedateien): ca. 400kb). + +Er erlaubt das navigieren durch die Verzeichnisstruktur, die Anzeige und +Editierung von Textdateien und sogar das Entpacken von Archiven. Auch +ein FTP-Client ist enthalten, sodass man auf FTP-Server fast so bequem +zugreifen kann wie auf lokale Verzeichnisse. + +`​Wikipedia-Beitrag zum Midnight +Commander <http://de.wikipedia.org/wiki/Midnight_Commander>`__ + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ diff --git a/wiki/packages/mcabber.rst b/wiki/packages/mcabber.rst new file mode 100644 index 0000000..0473a43 --- /dev/null +++ b/wiki/packages/mcabber.rst @@ -0,0 +1,39 @@ +packages/mcabber +================ +mcabber +======= + +`​mcabber <http://mcabber.com/>`__ ist ein textbasierter +`​Jabber <http://de.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol>`__ +Client, der auf `​ncurses <http://de.wikipedia.org/wiki/Ncurses>`__ +aufbaut. + +*mcabber* unterstützt u.a. + +- SSL/GnuTLS +- `​OpenPGP <http://en.wikipedia.org/wiki/OpenPGP>`__ +- Multi-User Chat +- History logging +- `​ASpell <http://en.wikipedia.org/wiki/Aspell>`__ +- External action triggers + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​mcabber Homepage <http://mcabber.com/>`__ +- `​mcabber Mirror <http://nerim.lilotux.net/mcabber/>`__ +- `​Vergleich von IM + Clients <http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients>`__ + (Englisch) +- `​Anleitung aus dem Forum um die Fritzbox über Jabber zu + steuern <http://www.ip-phone-forum.de/showthread.php?p=1552715>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `im </tags/im>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/mediaserver.rst b/wiki/packages/mediaserver.rst new file mode 100644 index 0000000..daf4187 --- /dev/null +++ b/wiki/packages/mediaserver.rst @@ -0,0 +1,156 @@ +packages/mediaserver +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Funktionsweise <mediaserver.html#Funktionsweise>`__ +#. `Dateien <mediaserver.html#Dateien>`__ +#. `Kompatible Clients + (Auswahl) <mediaserver.html#KompatibleClientsAuswahl>`__ + + #. `Software <mediaserver.html#Software>`__ + #. `Hardware <mediaserver.html#Hardware>`__ + +#. `Firmware-Kompatibilität <mediaserver.html#Firmware-Kompatibilität>`__ + +**This package was removed in**\ `r1823 </changeset/1823>`__\ **!** + +.. _Mediaserver: + +Mediaserver +=========== + +Der Mediaserver kann mittels Freetz aus der Labor-Version von AVM +extrahiert und in andere Firmwares integriert werden. AVM beschreibt den +Server als +`​FRITZ!Musikbox <http://www.avm.de/de/Service/Service-Portale/Service-Portal/Labor/labor_download_usb_host/labor_download_usb_host.php>`__ +- im Grunde ist es aber "nur" ein UPnP-Mediaserver, welcher Mediendaten +(in diesem Fall MP3s) an kompatible Hard- und Software streamt. + +Wer den *Mediaserver* in der Firmware seiner FritzBox hat, ihn aber gar +nicht benötigt, kann ihn auch mit einem +`Patch <../patches/remove_mediasrv.html>`__ aus selbiger entfernen +lassen. Er macht ja z.B. keinerlei Sinn, wenn auf der Box gar keine +Media-Dateien (MP3 etc.) vorhanden sind, und mangels angeschlossenem +Storage auch gar kein Platz für selbige vorhanden wäre. + +.. _Funktionsweise: + +Funktionsweise +-------------- + +Sobald ein USB-Massenspeicher mit FAT32-Dateisystem von der FritzBox +erkannt wird, wird über die storage-Konfig des Hotplug-Daemons der +Mediaserver gestartet. Der FTP-Server läuft weiterhin, der Mediaserver +verlinkt sogar auf das Verzeichnis des FTP-Servers. + +In der Ereignisanzeige sollte folgende Meldung erscheinen: + +.. code:: wiki + + Mediaserver mit xx Mediendateien gestartet. Alle Mediendateien stehen zur Verfügung. + +Mit den entsprechenden UPnP-Clients kann dann auf die MP3s zugegriffen +werden. + +.. _Dateien: + +Dateien +------- + +Folgende Dateien gehören zum Mediaserver-Paket: + ++-----------------------------------+-----------------------------------+ +| \|Datei | \|Zweck | ++-----------------------------------+-----------------------------------+ +| ``/sbin/start_mediasrv`` | Prüft verschiedene Ordner, setzt | +| | einen Link von /var/media/ftp auf | +| | /var/media/mediapath, startet den | +| | Mediaserver. | ++-----------------------------------+-----------------------------------+ +| ``/sbin/stop_mediasrv`` | Stoppt den Mediaserver. | ++-----------------------------------+-----------------------------------+ +| ``/sbin/mediasrv`` | Das eigentliche Server-Binary. | ++-----------------------------------+-----------------------------------+ +| ``/usr/lib/mediasrv/ConnectionMan | | +| ager.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/usr/lib/mediasrv/MediaServerDe | | +| vDesc-template.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/usr/lib/mediasrv/mediapath`` | | ++-----------------------------------+-----------------------------------+ +| ``/usr/lib/mediasrv/MediaServerDe | | +| vDesc.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/usr/lib/mediasrv/ContentDirect | | +| ory.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/etc/default.Fritz_Box_7170/{av | | +| m,1und1,freenet}/ConnectionManage | | +| r.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/etc/default.Fritz_Box_7170/{av | | +| m,1und1,freenet}/MediaServerDevDe | | +| sc-template.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/etc/default.Fritz_Box_7170/{av | | +| m,1und1,freenet}/mediapath`` | | ++-----------------------------------+-----------------------------------+ +| ``/etc/default.Fritz_Box_7170/{av | | +| m,1und1,freenet}/MediaServerDevDe | | +| sc.xml`` | | ++-----------------------------------+-----------------------------------+ +| ``/etc/default.Fritz_Box_7170/{av | | +| m,1und1,freenet}/ContentDirectory | | +| .xml`` | | ++-----------------------------------+-----------------------------------+ + +Außerdem werden verschiedene Bibliotheken benutzt, die auch in normalen +Firmware enthalten sind (z.B. für UPnP oder HTTP), und verschiedene +Skripte prüfen, ob ein Mediaserver in der Firmware enthalten ist und +reagieren entsprechend. + +.. _KompatibleClientsAuswahl: + +Kompatible Clients (Auswahl) +---------------------------- + +.. _Software: + +Software +~~~~~~~~ + +- Itunes +- Windows Mediaplayer 11 + +.. _Hardware: + +Hardware +~~~~~~~~ + +- Roku Soundbridge +- Terractec Noxon +- Pinnacle Systems Soundbridge + +.. _Firmware-Kompatibilität: + +Firmware-Kompatibilität +----------------------- + +Ein extrahierter Mediaserver lässt sich nicht wahllos mit jeder anderen +Firmware kombinieren, zum einen müssen verschiedene Scripte für das +Starten des Mediaservers schon vorbereitet sein, zum anderen müssen die +Bibliotheken der beiden Firmwares kompatibel sein, da verschiedene +Querabhängigkeiten existieren. + +Der Mediaserver aus der Laborversion 29.04.95-7553 funktioniert z.B. mit +den stabilen Firmwares 29.04.37 und 40.04.37. + +Der Mediaserver aus 29.04.95-8221 geht mit den beiden obigen Firmwares +nicht, dafür aber mit der 29.04.39. + +- Tags +- `audio </tags/audio>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/mediatomb.rst b/wiki/packages/mediatomb.rst new file mode 100644 index 0000000..4cf5de5 --- /dev/null +++ b/wiki/packages/mediatomb.rst @@ -0,0 +1,37 @@ +packages/mediatomb +================== +.. _MediaTomb: + +MediaTomb +========= + +**MediaTomb** ist ein OpenSource (GPL) UPnP MediaServer mit einer +schönen Web-Oberfläche, der das Streamen digitaler Medien im Heimnetz +und das Ansehen/Anhören auf einer ganzen Reihe von UPnP kompatiblen +Geräten (oftmals auch mit "DLNA" gekennzeichnet) ermöglicht. + +Eine vollständige Installation dürfte in den wenigsten Fällen in das +Dateisystem der Fritzbox passen (sofern man nicht etliche andere Dinge +weglässt): Allein das Binary bringt ca. 1.2 Megabyte auf die Waage, und +hinzu kommen noch weitere etwa 2.5 Megabyte Abhängigkeiten +(``libavcodec`` mit gut 1.2 MB, ``libsqlite3`` mit knapp 700 kB, +``libtag`` mit knapp 500 kB, ``ffmpeg`` …). + +Die Konfiguration von *MediaTomb* erfolgt dateibasiert (im `​UbuntuWiki +MediaTomb Artikel <http://wiki.ubuntuusers.de/Mediatomb>`__ ist dies +recht gut beschrieben). Informationen zu einem dafür in Freetz +integrierten Web-Interface finden sich u. a. in +`ticket:1993 </ticket/1993>`__. + +:sup:`(vielleicht mag noch jemand, der MediaTomb erfolgreich auf seine +Box bekommen hat, Hinweise zum "wie" ergänzen – insbesondere +hinsichtlich des Platzbedarfs?)` + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​MediaTomb Homepage <http://mediatomb.cc/>`__ +- `​UbuntuWiki MediaTomb + Artikel <http://wiki.ubuntuusers.de/Mediatomb>`__ diff --git a/wiki/packages/microperl.rst b/wiki/packages/microperl.rst new file mode 100644 index 0000000..0599258 --- /dev/null +++ b/wiki/packages/microperl.rst @@ -0,0 +1,32 @@ +packages/microperl +================== +microperl +========= + +**microperl** ist eine Perl Distribution, die noch kleiner ist als +*miniperl* (deswegen auch "micro" - vielleicht kommen bald noch nanoperl +und picoperl? |:-?|) Doch der Name täuscht leicht: Das Binary hat noch +satte 2 MB, dazu kommen 11 MB and Libraries (die zum Glück nicht +zwingend notwendig sind) - so Micro ist es also dann doch nicht… + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​bootstrapping with + microperl <http://www.perlmonks.org/?node_id=228040>`__ +- `​What is + Microperl <http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0003.html>`__ +- `​IPPF + Artikel <http://www.ip-phone-forum.de/showthread.php?t=114888>`__ von + `​bodega <http://www.ip-phone-forum.de/member.php?u=101616>`__ + +-------------- + +- Tags +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ + +.. |:-?| image:: ../../chrome/wikiextras-icons-16/smiley-confuse.png + diff --git a/wiki/packages/mini_fo.rst b/wiki/packages/mini_fo.rst new file mode 100644 index 0000000..aaa09e4 --- /dev/null +++ b/wiki/packages/mini_fo.rst @@ -0,0 +1,132 @@ +packages/mini_fo +================ +mini_fo +======= + +.. figure:: /screenshots/205.png + :alt: Mini_fo Webinterface + + Mini_fo Webinterface + +**mini_fo** ist ein Overlay-Dateisystem vergleichbar mit +`​UnionFS <http://de.wikipedia.org/wiki/UnionFS>`__, welches von +diversen Live-Distributionen (z.B. Knoppix) bekannt ist. Vereinfacht +ausgedrückt, lässt sich damit ein schreibgeschütztes Dateisystem +beschreibbar machen. Natürlich kann man auf dem schreibgeschützten +Medium nicht wirklich (physisch) schreiben: Änderungen werden an anderer +Stelle gespeichert, was aber für den Anwender derart transparent +geschieht, dass er davon eigentlich nichts merkt - sondern wirklich den +Eindruck eines einzelnen, beschreibbaren Mediums hat. + +.. _KonfigurationWebinterface: + +Konfiguration (Webinterface) +============================ + +Das Paket wird über das Webinterface konfiguriert. Hierbei kann der +Speicherort für die Änderungen ausgewählt werden. Entweder RAM +(flüchtig) oder JFFS2 (reboot resistent). Bei Auswahl der Option JFFS2 +muss genügend freier Speicherplatz verfügbar sein (die Daten werden gzip +komprimiert abgespeichert): + +.. code:: wiki + + root@fritz:/var/mod/root# df /dev/mtdblock5 + Filesystem 1K-blocks Used Available Use% Mounted on + /dev/mtdblock5 3200 2612 588 82% /sto + +Das Paket kann nur durch einen Reboot de-/aktiviert werden. + +.. _KonfigurationperHand: + +Konfiguration (per Hand) +======================== + +**mini_fo** ist ein Kernel-Modul, das man entweder ohne Argumente mit +insmod lädt… + +.. code:: wiki + + insmod mini_fo + +…oder in der Freetz-Oberfläche in Modules einträgt, damit es beim Start +geladen wird: + +.. code:: wiki + + mini_fo + +Ist es aktiv steht der mount-type 'mini_fo' zur Verfügung. Um /usr/www +beschreibbar zu machen genügt diese Zeile in rc.custom: + +.. code:: wiki + + mkdir -p /tmp/usrwww /tmp/usrwww-sto && \ + mount -o bind /usr/www /tmp/usrwww && \ + mount -t mini_fo -o base=/tmp/usrwww,sto=/tmp/usrwww-sto minifo /usr/www + +Im Pfad /tmp/usrwww-sto befinden sich dann jegliche Änderungen. + +.. _MöglicheNebeneffekte: + +Mögliche Nebeneffekte +===================== + +Ein Firmware-Update kann evtl. mit geladenem mini_fo Modul scheitern +(getestet mit 7170 4.8x). Es gibt dann keine Fehlermeldung aber die Box +hängt vor dem Herunterfahren und der Flash-Vorgang kommt nie zustande. +Wenn dies passiert sollte man vor einer Firmware-Aktualisierung ohne +mini_fo booten. Aktueller Trunk zeigt das Phenomen nicht. + +Wird mini_fo auf einer Box ohne JFFS2-Partition betrieben fängt es auch +Schreibzugriffe auf /data ab, zumindest bis ein USB-Stick gemountet ist. +In /sto/mini_fo taucht dann data/tam/config und data/tam/rec/ mit dem +Datum 2000 (also vor Zeitsync) auf. Dieser Nebeneffekt ermöglicht es +Anrufbeantworter ohne JFFS2-Partition und ohne USB-Stick zu testen, z.B. +zur Weiterleitung per Email mit anschließender Löschung. Dabei sollte +man die Aufnahmelänge begrenzen damit der RAM-Speicher nicht +versehentlich aufgebraucht werden kann. Speichert mini_fo im RAM gehen +allerdings bei einem Neustart alle derart definierten Anrufbeantworter +verloren. + +Bei Modellen der Generation 7170 zeigten sich Watchdog initiierte +Rebootschleifen (ca. 2-4min) bei aktiviertem WLAN mit Verschlüsselung im +DSL-Modem Modus (also Default nach Werksreset). Rebootgrund in crash.log +ist dann ein dsld Watchdog Timeout. Ohne WPA Verschlüsselung oder im +IP-Client Modus zeigt sich das Phenomen nicht. Offensichtlich werden +Semaphoren die dsld zur Verwaltung von Shared Memory in /var/tmp/csem +ablegt teilweise in /sto abgefragt und der Mechanismus empfindlich +gestört. + +.. _Restoreoriginalfile: + +Restore original file +===================== + +The modified files are stored here (trunk version): + +.. code:: wiki + + /sto/mini_fo/... + +So for example a modified */usr/sbin/blkid* is stored as +*/sto/mini_fo/usr/sbin/blkid*. + +If you remove the latter one, the original one will reappear in your +file system. + +.. _Sieheauch: + +Siehe auch +========== + +- `​diesen + Thread <http://www.ip-phone-forum.de/showthread.php?t=111226>`__ im + Forum. +- `​mini_fo project + page <http://www.denx.de/twiki/bin/view/Know/MiniFOHome>`__. + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ diff --git a/wiki/packages/minidlna.rst b/wiki/packages/minidlna.rst new file mode 100644 index 0000000..2a6a29e --- /dev/null +++ b/wiki/packages/minidlna.rst @@ -0,0 +1,30 @@ +packages/minidlna +================= +.. _MiniDLNA: + +MiniDLNA +======== + +.. figure:: /screenshots/243.jpg + :alt: minidlna + + minidlna + +| MiniDLNA ist ein DLNA Server der darauf abzielt vollständig kompatibel + mit DLNA/UPnp-AV Clients zu sein. + +.. _Konfiguartion: + +Konfiguartion +------------- + +Das ``Datenbankverzeichnis`` sollte auf einen USB-Stick gelegt werden, +damit die Datenbank nicht bei jedem Reboot neu aufgebaut werden muss. + +.. _Links: + +Links +----- + +Projektseite: +`​http://sourceforge.net/projects/minidlna/ <http://sourceforge.net/projects/minidlna/>`__ diff --git a/wiki/packages/mod.rst b/wiki/packages/mod.rst new file mode 100644 index 0000000..844cecf --- /dev/null +++ b/wiki/packages/mod.rst @@ -0,0 +1,192 @@ +packages/mod +============ +.. _Freetz-MOD: + +(Freetz-) MOD +============= + +| "mod" ist das sogenannte Base-Package. Es wird immer automatisch + installiert. +| Hiermit können grundlegende Dienste von Freetz wie Swap, + `FREETZ-MOUNT <../patches/freetzmount.html>`__, + `external <../help/howtos/common/external.html>`__ und das + Freetz-Webinterface konfiguriert werden. +| |/!\\| Abhängig von der Konfiguration sind nur bestimmte zu sehen. + +swap +~~~~ + +Als Faustregel sollte man die Größe des RAMs als Größe der Swapdatei +nehmen. + +Über den Parameter *swappiness* (seit `r6882 </changeset/6882>`__) kann +das Swapverhalten beeinflusst werden. Je höher der eingetragene Wert ist +desto früher fängt die Box an den Auslagerungsspeicher zu nutzen +(`​Weiterlesen <http://lwn.net/Articles/83588/>`__). + +Vor allem beim Betrieb speicher hungriger Pakete wie z.B. +`PHP <php.html>`__, Tor `packages/tor <tor.html>`__ oder +`Transmission <transmission.html>`__ ist die Nutzung von Swap zu +empfehlen. + +get_ip +~~~~~~ + +Das Skript *get_ip* ermittelt die öffentliche IP, was an verschiedenen +Stellen in Freetz und dessen Packages benötigt wird. + +Hier kann das standardmäßige Verhalten von *get_ip* an die lokalen +Gegebenheiten angepasst werden. So funktioniert bei einer FritzBox, die +das Internet "mitbenutzt" (IP-Client) oder UMTS verwendet, nur die +``--extquery`` Methode, da die Box keine öffentliche IP erhält (NAT). +Die Standardeinstellung ``--all`` deckt diesen Fall jedoch ab, weil sie +nacheinander mehrere Methoden durchprobiert, bis die externe IP +ermittelt wurde. Wer ca. 0,4 s pro Abfrage (also 90%) sparen möchte, +kann hier in diesem Fall aber die Methode von ``-all`` auf +``--extquery`` ändern. + +.. _Konfigurationsdateien: + +Konfigurationsdateien +--------------------- + +.. _a.profile: + +.profile +~~~~~~~~ + +| Dies wird beim Login ausgeführt. Es können zB Aliase für häuftig + genutzte Befehle definiert werden: +| Beispiel: + +.. code:: wiki + + alias nl="sed '=' | sed 'N;s/\n/\t/'" + alias tcpdump6="tcpdump ip6 or proto ipv6" + +crontab +~~~~~~~ + +| Der "cron" Daemon führt Befehle zu bestimmten Zeiten aus. Er wird + durch die crontab konfiguriert. +| Syntax: + +.. code:: wiki + + Minute | Stunde | Tag | Monat | Wochentag | Befehl + +Beispiel: + +.. code:: wiki + + 55 23 * * 7 logger "Es ist Sonntag, 5 Minuten vor 12" + */10 * * * * logger "Es sind wieder 10 Minuten vergangen" + * 6,18 * * * logger "Es ist 6 Uhr" + +|/!\\| Im Gegensatz zu "normalen" Linux Systemen fehlt die +"Besitzer"-Spalte und alle Befehle werden als root ausgeführt. + +dtrace +~~~~~~ + +| Die Befehle in dieser Datei werden durch die Tastenkombination + ``#97*3*`` am Telefon ausgeführt. +| Beispiel: + +.. code:: wiki + + #!/bin/sh + if [ "$(/etc/init.d/rc.lighttpd status)" != "stopped" ]; then + /etc/init.d/rc.lighttpd stop + else + /etc/init.d/rc.lighttpd start + fi + +|/!\\| Nur sichtbar wenn der replace-dtrace Patch ausgewählt wurde! + +hosts +~~~~~ + +| Hier können IP-Adressen, Hostnamen und MAC-Adressen für DNS und DHCP + zueinander zugeordnet werden. Siehe auch `dnsmasq: Einträge in der + Hosts-Liste <dnsmasq.html#EinträgeinderHosts-Liste>`__ +| Syntax: + +.. code:: wiki + + <ipaddr>|* <hwaddr>|[id:]<client_id>|* [net:]<netid>|* <hostname>|* [ignore] + +Beispiel: + +.. code:: wiki + + 192.168.178.20 * * MeinPC-1 + 192.168.178.21 11:22:33:44:55:66 * MeinPC-2 + +modules +~~~~~~~ + +| Die Kernel-Module die in dieser Datei aufgeführt sind werden während + des Bootvorgangs geladen. +| Beispiel: + +.. code:: wiki + + pl2303 + ftdi_sio + +|/!\\| Die Namen der Module sind ohne Pfad und die Endung ``.ko`` +anzugeben. + +rc.custom +~~~~~~~~~ + +| Die Befehle in dieser Datei werden nach dem Bootvorgang ausgeführt. +| |/!\\| Es dürfen keine Befehle eingetragen sein, die im Vordergrund + bleiben oder sehr lange brauchen. Dies könnte Probleme beim Starten + der FritzBox verursachen. Bei Befehlen in Verbindung mit einen + USB-Stick, bitte die Erweiterung rc.external verwenden. + +rc.external +~~~~~~~~~~~ + +| Diese Datei wird ausgeführt nachdem der Datenträger auf dem sich die + `external <../help/howtos/common/external.html>`__-Dateien befinden + eingehängt wurde und bevor er ausgehängt wird. +| Beispiel: + +.. code:: wiki + + #!/bin/sh + case "$1" in + load) + logger "Datenträger eingehängt" + ;; + unload) + logger "Datenträger ausgehängt" + ;; + esac + +| +| |/!\\| Bitte ``Advanced Options`` → ``External`` → + ``Enable external processing`` für diese Erweiterung aktivieren. + +shutdown +~~~~~~~~ + +| Die Befehle in dieser Datei werden während des Herunterfahres + ausgeführt. + +.. _udev_firstudev_final: + +udev_first / udev_final +~~~~~~~~~~~~~~~~~~~~~~~ + +Regeln die von UDEV ausgeführt werden. Siehe `Custom UDEV +rules <../patches/custom_udev_rules.html>`__. + +- Tags +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/mtr.rst b/wiki/packages/mtr.rst new file mode 100644 index 0000000..d7ab2f4 --- /dev/null +++ b/wiki/packages/mtr.rst @@ -0,0 +1,30 @@ +packages/mtr +============ +mtr +=== + +`​mtr <http://www.bitwizard.nl/mtr/>`__ (**M**\ y **TR**\ aceroute) +kombiniert die Funktionalität von +`​traceroute <http://en.wikipedia.org/wiki/Traceroute>`__ und +`​ping <http://en.wikipedia.org/wiki/Ping>`__ in einem. Es untersucht +Router auf dem Pfad, indem es die Anzahl der +`​Hops <http://en.wikipedia.org/wiki/Hop_(telecommunications)>`__ +limitiert, die ein Paket durchlaufen darf, und wertet die Responses +ihres "Verfallsdatums" aus. Diesen Prozess wiederholt *mtr* regelmäßig, +gewöhnlich einmal pro Sekunde. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia + Artikel <http://en.wikipedia.org/wiki/Mtr_(My_traceroute)>`__ + (Englisch) +- `​BitWizard's MTR page <http://www.bitwizard.nl/mtr/>`__ + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/nagios.rst b/wiki/packages/nagios.rst new file mode 100644 index 0000000..27c8592 --- /dev/null +++ b/wiki/packages/nagios.rst @@ -0,0 +1,52 @@ +packages/nagios +=============== +.. _Nagios: + +Nagios +====== + +Die Software `​Nagios <http://www.nagios.org/>`__ (Network + Hagios, +früher NetSaint) dient der Überwachung komplexer IT-Infrastrukturen. + +Nagios bietet dazu eine Sammlung von Modulen zur Überwachung von +Netzwerken, Hosts und speziell Diensten sowie einer Web-Schnittstelle +zum Abfragen der gesammelten Daten. Nagios steht unter der GPL, ist also +Freie Software, und läuft unter zahlreichen Unix-ähnlichen +Betriebssystemen. + +Nagios kann mit Modulen erweitert werden. Zahlreiche fertige Module sind +bereits verfügbar, und auch die Entwicklung eigener Module ist oft nicht +unbedingt kompliziert. + +In *Freetz* baut *Nagios* auf das Paket `microperl <microperl.html>`__ +auf. + +|/!\\| Das Paket hat momentan keine Weboberfläche. Die +Konfigurationsdateien sind nicht auf die Box angepasst und sowohl die +html- als auch die cgi-Dateien werden nicht ins Image kopiert. Hier ist +also einiges an Handarbeit nötig. + +.. _WeiterführendeInformationen: + +Weiterführende Informationen +---------------------------- + +- `​offizielle Homepage <http://www.nagios.org/>`__ +- `​Übersicht über Plug-ins, Artikel etc. zu + Nagios <http://nagiosexchange.org/>`__ +- `​Übersicht über Add-ons <http://www.nagiosforge.org/>`__ inkl. + Versionsverwaltung, Snippets und Mailinglisten etc. zu Nagios +- `​Wiki für Nagios-relevante Themen <http://nagioswiki.org/>`__, z.B. + HowTos, Addons, … +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Nagios>`__ + +-------------- + +- Tags +- `monitoring </tags/monitoring>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/nano-shell.rst b/wiki/packages/nano-shell.rst new file mode 100644 index 0000000..7ad3af5 --- /dev/null +++ b/wiki/packages/nano-shell.rst @@ -0,0 +1,127 @@ +packages/nano-shell +=================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Sicherheitshinweis <nano-shell.html#Sicherheitshinweis>`__ +#. `Benutzung <nano-shell.html#Benutzung>`__ + +.. _Nano-Shell: + +Nano-Shell +========== + +Die **Nano-Shell** führt beliebige Shell-Komandos via URL aus, d.h. an +eine Webadresse angehängte Parameter werden von einem kleinen CGI-Skript +ausgewertet. Die Nano-Shell ist noch kleiner und leichtgewichtiger als +die `Rudi-Shell <rudi-shell.html>`__, denn sie kommt ohne +Einstiegs-Oberfläche aus. Im Folgenden wird der ins Deutsche übersetzte +Hilfetext aus ``make menuconfig`` zitiert, ergänzt um einige zusätzliche +Informationen: + +Dieses kleine Paket ermöglicht es sowohl der AVM- als auch der +Freetz-Weboberfläche, benutzerdefinierte Shell-Kommandos auszuführen und +ihre Befehls- bzw. Fehlerausgaben anzuzeigen, falls vorhanden. + +.. _Sicherheitshinweis: + +Sicherheitshinweis +------------------ + +|/!\\| **ACHTUNG!** Die Nano-Shell sollte nur für Debugging-Zwecke +(Entwicklung, Fehlersuche) verwendet werden, z.B. wenn *telnetd, sshd +(Dropbear)* oder *Rudi-Shell* aus irgendeinem Grund nicht verfügbar bzw. +nicht zugreifbar sind. Sie ist eine Art Reservefallschirm oder letzter +Ausweg, um Kommandos auf der Router-Box auszuführen, wenn alles andere +scheitert, aber zumindest eine der beiden Weboberflächen (AVM oder +Freetz) noch zugreifbar sind. |/!\\| + +Da die Nano-Shell in der AVM-Oberfläche die Paßwortabfrage umgeht, +handelt es sich hierbei um ein |/!\\| **potentielles Sicherheitsrisiko** +|/!\\|, sofern Ihre Router-Box aus dem LAN/WAN für Fremde zugreifbar +ist. Das Freetz-Paßwort wird allerdings abgefragt, da es bereits auf +Webserver-Ebene greift und nicht wie bei AVM in der +Web-Applikationslogik implementiert ist. + +.. _Benutzung: + +Benutzung +--------- + +Schicken Sie einfach ein URL-kodiertes Kommando an das Nano-CGI, welches +z.B. folgende Basisadressen haben kann: + +- `​http://fritz.box/cgi-bin/shell.cgi <http://fritz.box/cgi-bin/shell.cgi>`__ + (AVM-Weboberfläche) +- `​http://speedport.ip/cgi-bin/shell.cgi <http://speedport.ip/cgi-bin/shell.cgi>`__ + (AVM) +- `​http://192.168.0.1/cgi-bin/shell.cgi <http://192.168.0.1/cgi-bin/shell.cgi>`__ + (AVM) +- `​http://fritz.box:81/cgi-bin/shell.cgi <http://fritz.box:81/cgi-bin/shell.cgi>`__ + (Freetz-Weboberfläche) +- `​http://speedport.ip:81/cgi-bin/shell.cgi <http://speedport.ip:81/cgi-bin/shell.cgi>`__ + (Freetz) +- `​http://192.168.0.1:81/cgi-bin/shell.cgi <http://192.168.0.1:81/cgi-bin/shell.cgi>`__ + (Freetz) + +oder allgemein eben der Name bzw. die IP-Adresse, unter der Ihre +Router-Box im Netz zu erreichen ist. + +Einige Beispiel-Kommandos samt zugehöriger kodierter URLs: + ++-----------------------------------+-----------------------------------+ +| Kommando | URL | ++-----------------------------------+-----------------------------------+ +| ls -l /var/tmp | `​http://fritz.box/cgi-bin/shell. | +| | cgi?ls%20-l%20%2Fvar%2Ftmp <http: | +| | //fritz.box/cgi-bin/shell.cgi?ls% | +| | 20-l%20%2Fvar%2Ftmp>`__ | ++-----------------------------------+-----------------------------------+ +| /usr/sbin/telnetd -p 2323 -l | `​http://fritz.box/cgi-bin/shell. | +| /bin/sh | cgi?%2Fusr%2Fsbin%2Ftelnetd%20-p% | +| | 202323%20-l%20%2Fbin%2Fsh <http:/ | +| | /fritz.box/cgi-bin/shell.cgi?%2Fu | +| | sr%2Fsbin%2Ftelnetd%20-p%202323%2 | +| | 0-l%20%2Fbin%2Fsh>`__ | ++-----------------------------------+-----------------------------------+ +| echo "Erster Befehl"; cat | `​http://fritz.box/cgi-bin/shell. | +| /etc/motd; echo "Dritter Befehl" | cgi?echo%20%22Erster%20Befehl%22% | +| | 3B%20cat%20%2Fetc%2Fmotd%3B%20ech | +| | o%20%22Dritter%20Befehl%22 <http: | +| | //fritz.box/cgi-bin/shell.cgi?ech | +| | o%20%22Erster%20Befehl%22%3B%20ca | +| | t%20%2Fetc%2Fmotd%3B%20echo%20%22 | +| | Dritter%20Befehl%22>`__ | ++-----------------------------------+-----------------------------------+ + +Es gibt **Online-Kodierer/-Dekodierer** für URLs im WWW, z.B. diesen +`​URL-En-/Decoder <http://netzreport.googlepages.com/online_tool_zur_url_kodierung_de.html#kodieren>`__, +der ASCII und UTF-8 kann, oder auch diesen +`​Encoder <http://www.simplelogic.com/Developer/InetEncode.asp>`__ bzw. +`​Decoder <http://www.simplelogic.com/Developer/URLDecode.asp>`__, der +Sonderzeichen in Latin-1 (ISO-8859-1) (de)kodiert. Außerdem kann man mit +``httpd -d STRING`` via BusyBox ebenfalls URL-Dekodierung machen. + +**Usability-Tip** (getestet in IE 7, Opera 9.23, Firefox 2.0.6, +Konqueror 3.5.8): Viele Browser akzeptieren auch unkodierte +CGI-Parameter, also Befehler im Klartext, d.h. normalerweise kann man +anstatt der kodierten Befehle oben auch Folgendes schreiben: + +.. code:: wiki + + http://fritz.box/cgi-bin/shell.cgi?ls -l /var/tmp + http://fritz.box/cgi-bin/shell.cgi?/usr/sbin/telnetd -p 2323 -l /bin/sh + http://fritz.box/cgi-bin/shell.cgi?echo "Erster Befehl"; cat /etc/motd; echo "Dritter Befehl" + +Viel Spaß beim Ausprobieren! + +`​Alexander Kriegisch +(kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ + +- Tags +- `cgi </tags/cgi>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/nano.rst b/wiki/packages/nano.rst new file mode 100644 index 0000000..c8d2a7e --- /dev/null +++ b/wiki/packages/nano.rst @@ -0,0 +1,24 @@ +packages/nano +============= +nano +==== + +**Nano** ist ein kleiner Texteditor für die Konsole, der aber im +Gegensatz zu (n)vi eine Bedienung wie ein normaler Editor (z.B. der +Windows-Editor) besitzt. Es ist also nicht erforderlich viel Kommandos +zu lernen, bevor man ihn nutzen kann. Daher ist er für Anfänger und +User, die nicht des 10-Finger-Systems mächtig sind, oftmals weit besser +geeignet als vi. + +Damit man die Pos1 und Home Tasten auch in Nano benutzen kann ist +(zumindest bei mir in der Kombination putty / Windows) das Setzen der +Umgebungsvariable TERM hilfreich: + +.. code:: wiki + + export TERM=xterm + +in der rc.custom tut den Trick. + +- Tags +- `packages <../packages.html>`__ diff --git a/wiki/packages/ncftp.rst b/wiki/packages/ncftp.rst new file mode 100644 index 0000000..d06ab22 --- /dev/null +++ b/wiki/packages/ncftp.rst @@ -0,0 +1,134 @@ +packages/ncftp +============== +ncftp +===== + +*"NcFTP Client (also known as just NcFTP) is a set of FREE application +programs implementing the File Transfer Protocol (FTP)."* + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Was ist NcFTP? <ncftp.html#WasistNcFTP>`__ +#. `Wozu kann NcFTP benutzt + werden? <ncftp.html#WozukannNcFTPbenutztwerden>`__ +#. `Wie installiere ich NcFTP? <ncftp.html#WieinstalliereichNcFTP>`__ +#. `Wie starte ich NcFTP? <ncftp.html#WiestarteichNcFTP>`__ +#. `Wie ist der Befehl im upload.sh-Skript + aufgebaut? <ncftp.html#WieistderBefehlimupload.sh-Skriptaufgebaut>`__ +#. `Wie sieht der Befehl für ein download.sh Skript + aus? <ncftp.html#WiesiehtderBefehlfüreindownload.shSkriptaus>`__ +#. `Wie kann ich einen abweichenden Port + nutzen? <ncftp.html#WiekannicheinenabweichendenPortnutzen>`__ + +.. _WasistNcFTP: + +Was ist NcFTP? +-------------- + +NcFTP Client ist ein FTP Client für die Kommandozeile. Er besitzt +fortgeschrittene Funktionen wie z.B. automatisches Vervollständigen von +Dateinamen, Hintergrundverarbeitung, Bookmarks, Herunterladen ganzer +Verzeichnissbäume oder Verzeichniscaching. + +NcFTP bringt die Befehle ncftpget, ncftpput, ncftpls mit. Mit diesen +können Dateien direkt via Kommandozeilenbefehl herunter- oder +heraufgeladen bzw. Verzeichnisse angezeigt werden. Dies ist besonders +für Shell-Scripte äußerst hilfreich. + +Quelle: `​apfelwiki <http://www.apfelwiki.de/Main/NcFTPClient>`__ + +.. _WozukannNcFTPbenutztwerden: + +Wozu kann NcFTP benutzt werden? +------------------------------- + +| 1.) Upload von Dateien ohne, dass der PC gestartet sein muß. +| 2.) `Download <../Download.html>`__ von Datein ohne, dass der PC + gestartet sein muß. + +.. _WieinstalliereichNcFTP: + +Wie installiere ich NcFTP? +-------------------------- + +Das NcFTP-Package ist beim Bauen eines neuen Freetz-Images auszuwählen. +Im Trunk ist NcFTP unter Packages→Testing zu finden. + +.. figure:: /screenshots/214.png + :alt: Ort im Trunk + + Ort im Trunk + +.. _WiestarteichNcFTP: + +Wie starte ich NcFTP? +--------------------- + +Als erstes schreibt man ein Skript z.B. **upload.sh** mit folgendem +Inhalt: + +.. code:: wiki + + nohup ncftpput -u XXX -p XXX remote-host /remote/path/ /local/path/* + +Anschließend startet man es per Telnet/SSH mit dem Befehl **sh +upload.sh**. + +.. _WieistderBefehlimupload.sh-Skriptaufgebaut: + +Wie ist der Befehl im upload.sh-Skript aufgebaut? +------------------------------------------------- + +.. code:: wiki + + nohup ncftpput -u (Username) -p (Password) -m (Adresse des FTP-Servers) /(Zielordner auf dem FTP)/ /(Pfad zum lokalen/eigenen Ordner)/* + +Beispiel: + +.. code:: wiki + + nohup ncftpput -u freetz -p mypass -m mustermann.no-ip.org /Uploads/ /var/media/ftp/uStor01/User/Mustermann/Downloads/* + +| **Zur Info:** Das **nohup** sorgt dafür das das Skript weiter läuft + obwohl Putty beendet wird. + +.. _WiesiehtderBefehlfüreindownload.shSkriptaus: + +Wie sieht der Befehl für ein download.sh Skript aus? +---------------------------------------------------- + +.. code:: wiki + + nohup ncftpget -u (Username) -p (Password) (Ziel-FTP) (local-Verzeichnis) /(remote-Verzeichnis)/* + +Beispiel: + +.. code:: wiki + + nohup ncftpget -u freetz -p mypass mustermann.no-ip.org /var/media/ftp/uStor01/Downloads /Downloads/* + +.. _WiekannicheinenabweichendenPortnutzen: + +Wie kann ich einen abweichenden Port nutzen? +-------------------------------------------- + +Falls nicht der Standard-Port (21) genutzt werden soll kann man den +gewünschten Port über den Parameter **-P xx** angeben. Der angegebene +Port sollte natürlich zu dem Port passen auf dem der Server hört. + +.. code:: wiki + + nohup ncftpput -u (Username) -p (Password) -P (Ziel-Port) -m (Adresse des FTP-Servers) /(Zielordner auf dem FTP)/ /(Pfad zum lokalen/eigenen Ordner)/* + +Beispiel: + +.. code:: wiki + + nohup ncftpput -u freetz -p mypass -P 1234 -m mustermann.no-ip.org /Uploads/ /var/media/ftp/uStor01/User/Mustermann/Downloads/* + +- Tags +- `filetransfer </tags/filetransfer>`__ +- `ftp </tags/ftp>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/ndas.en.rst b/wiki/packages/ndas.en.rst new file mode 100644 index 0000000..3980106 --- /dev/null +++ b/wiki/packages/ndas.en.rst @@ -0,0 +1,367 @@ +packages/ndas.en +================ +.. _NDAS: + +NDAS +---- + +| NDAS (**N**\ etwork **D**\ irect **A**\ ttached **S**\ torage) is + Ximeta's patented technology which enables all digital storage devices + (HDD, ODD, Memory, Tape Drives) direct connection into standard + Ethernet networks. +| All users or systems on the network can directly control, use and + share those devices. +| More info about NDAS on Linux can be found via: + `​http://ndas4linux.iocellnetworks.com/ <http://ndas4linux.iocellnetworks.com/>`__ +| I'm using NDAS currenlty to play movies up to 720p. + +.. _CreatingaFeetzImagewithNDAS: + +Creating a Feetz Image with NDAS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| **Note** NDAS is now supported for little endian (e.g. 7170, 7270) and + big endian (e.g. 7390) thanks to + `​ER13 <http://www.ip-phone-forum.de/member.php?u=83184>`__. +| The changes are introduced in `11390 </changeset/11390>`__ to + `11392 </changeset/11392>`__, `11434 </changeset/11434>`__, and + `11464 </changeset/11464>`__. +| Follow the directions from the `Wiki <../index.en.html#>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected: + +.. code:: wiki + + Package selection ---> Packages ---> [*] (binary only) + +Recommended optional additional packages: + + | `NTFS-3G <ntfs-3g.html>`__ + | `Samba <samba.html>`__ + +or(/and) + + | `NFS Server <nfsd.html>`__ (no ntfs support, but a faster) + | with optionally some additional patches for ext3 or/and ReiserFS + (see Patches —→ … in menuconfig) + +.. _SetupinFreetz: + +Setup in Freetz +~~~~~~~~~~~~~~~ + +| There is currently (Freetz-trunk `11464 </changeset/11464>`__) no + web-interface available for NDAS. +| You can configure NDAS via console (e.g. via ssh or telnet access), + but you can also use a script in rc.custom to get all configured for + NDAS to work at startup. + +.. _Manualconfigureviaconsole: + +Manual configure via console +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Details can be found in the following two threads +`​http://www.ip-phone-forum.de/showthread.php?t=241882 <http://www.ip-phone-forum.de/showthread.php?t=241882>`__ +and +`​http://www.ip-phone-forum.de/showthread.php?t=149182 <http://www.ip-phone-forum.de/showthread.php?t=149182>`__ + +| First create the needed character and block-devices using the mknod + command. +| You can create block-devices for multiple drives and multiple + partitions. Below example for one drive with one partition. + +.. code:: wiki + + mknod -m 644 /dev/ndas c 60 0 + mknod -m 644 /dev/nda b 60 0 + mknod -m 644 /dev/nda1 b 60 1 + +.. + + For additional partitions you can create the devices nodes with + /dev/nda<partition-number> b 60 <partition-number> + +You can verify the creation of the devices with the following well known +command + +.. code:: wiki + + ls -la /dev/nd* + +.. + + The block-devices will start with a 'b', character-devices start will + a 'c'. + +Next the kernel moduls needs to be loaded. + +.. code:: wiki + + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_sal.ko + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_core.ko ndas_dev=lan + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_block.ko + +.. + + | The option ndas_dev=lan enables the module only for Eth and WiFi, + and not for Wan interfaces. + | If you have your internal Ethernet switch configured as router (see + `​here <http://www.ip-phone-forum.de/showthread.php?t=243444>`__ + for more background info in German), you will connect and access + the NDAS device only via one of the routed Ethernet ports, and you + can/should use ndas_dev=eth0 + | Be aware that the protocol used by the NDAS device is not routed, + so only within the broadcast domain you can access the NDAS device. + +To verify the three modules are loaded properly you can use the +following command: + +.. code:: wiki + + lsmod + +Now the NDAS driver 'NDAS Administration Tool' should be started. This +is done with: + +.. code:: wiki + + ndasadmin start + +Following is to register the netdisk with the ID and key, that should be +found on the NDAS device. + +.. code:: wiki + + ndasadmin register "rrrrr-rrrrr-rrrrr-rrrrr-wwwww" --name ndas-01 + +.. + + The ID is the 'rrrrr-rrrrr-rrrrr-rrrrr' part which is 20 characters + long, and is always needed. The key is the 'wwwww' part which is 5 + characters long and is optional to allow write access. + +| If the disk is connected to the LAN network, and powered on the disk + should become visible at this point. +| Verify the status via the proc filesystem /proc with the following + commands. + +.. code:: wiki + + cat /proc/ndas/devs + +.. + + To see the disk details and the status. + +.. code:: wiki + + cat /proc/ndas/devices/ndas-01/slots + +.. + + Shows the number of slots. + +The NetDisks can be enabled with one of the following three modes: For +read access use the following + +.. code:: wiki + + ndasadmin enable -s 1 -o r + +For read/write access the following can be used: + +.. code:: wiki + + ndasadmin enable -s 1 -o w + +For shared write access use: + +.. code:: wiki + + ndasadmin enable -s 1 -o s + +Also a mountpoint is needed that can be created with: + +.. code:: wiki + + mkdir /var/media/ndas/ntfs/ + +As last step, mounting the block-device under the mountpoint just +created. The mount command depends on the formatting of the drive. So +far I had only success with an NTFS formatted drive. + +Mount an NTFS formatted drive: + +.. code:: wiki + + ntfs-3g -o rw /dev/nda1 /var/media/ndas + +A FAT formatted drive should be mounted with: + +.. code:: wiki + + mount -t fat /dev/nda1 /var/media/ndas + +But I wasn't able to mount my FAT32 formatted drive, also tried -t vfat. + +.. _Scriptatstartup: + +Script at startup +^^^^^^^^^^^^^^^^^ + +You can use the script in file rc.custom, which can be edited via the +`web-interface <mod.html#rc_custom>`__. + +.. code:: wiki + + #! /bin/sh + # Create the character file to send the commands + test ! -c /dev/ndas && mknod -m 644 /dev/ndas c 60 0 + M=0 + # Let's create the block device files to access the hard disk. + # Just for 3 hard disk, each with 3 partitions, but you can increase if you want. + for s in a b c; + do + test ! -b /dev/nd${s} && mknod -m 644 /dev/nd${s} b 60 $M + for t in 1 2 3; + do + M=$(($M + 1)) + test ! -b /dev/nd${s}${t} && mknod -m 644 /dev/nd${s}${t} b 60 $M + done + M=$(($M + 16 - $t)) + done + + # Now load the system abstraced layer implementation for NDAS technology + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_sal.ko > /dev/null 2>&1 + if [ ! $? ] ; then + echo " Module ndas_sal failed to load"; + exit 1; + fi + # Load the NDAS core functions, the proprietary driver. + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_core.ko ndas_dev=lan > /dev/null 2>&1 + if [ ! $? ] ; then + echo " Module ndas_core failed to load" + exit 1; + fi + # Load the block device implementation for NDAS + insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_block.ko > /dev/null 2>&1 + if [ ! $? ] ; then + echo " Module ndas_block failed to load" + exit 1; + fi + # Start the service + /usr/bin/ndasadmin start > /dev/null 2>&1 + if [ ! $? ]; then + echo " ndasadmin start failed" + exit 1; + fi + + # Register the device + /usr/bin/ndasadmin register rrrrr-rrrrr-rrrrr-rrrrr-wwwww --name ndas-01 > /dev/null 2>&1 + sleep 5 + + # Enable connection with first NDAS blockdevice in exclusive-write mode + /usr/bin/ndasadmin enable -s 1 -o s + sleep 5 + mkdir -p /var/media/ndas/usb /var/media/ndas/ntfs /var/media/ndas/fat /var/media/ndas/ext2 + sleep 5 + # mount ntfs NDAS disk, /dev/nda1 in this case, in read write mode + ntfs-3g -o rw /dev/nda1 /var/media/ndas/ntfs + # mount ext2 NDAS disk, /dev/nda2 in this case + mount /dev/nda2 /var/media/ndas/ext2 + + # Restart Samba with NetDisk mounted + /etc/init.d/rc.samba restart + # Restart NFS server with NetDisk mounted + /etc/init.d/rc.nfsd restart + +.. _Troubleshooting: + +Troubleshooting +^^^^^^^^^^^^^^^ + +Here a list of troubleshooting commands. + +#. ls -la /dev/nd\* + The output should give one character device /dev/ndas, per disk one + block device starting with /dev/nda for the first disk, and for each + partition another block device. +#. lsmod + The output should show the 3 modules loaded, which are **ndas_sal**, + **ndas_core**, **ndas_block**. +#. cat /proc/ndas/devs + The output should give the NDASName choosen, the ID, an indication if + the key is used for write access, serialnumber of the NetDisk, NDAS + version which is 1, the status of the NetDisk, and the slot number + that is assigned to the NetDisk. +#. cat /proc/ndas/devices/ndas-01/slots + The output should give the assigned slots number, which is **1** in + my case. +#. cat /proc/partitions + The output should show a NDAS partition for each NetDisk, and one for + each partition on that NetDisk (so at least two). +#. ls -la /var/media/ndas + The output should show the mountpoint, and if the NetDisk is mounted + the content of the NetDisk. +#. mount + The output should show one line for each partition mounted. It will + show the device node, the mountpoint, the filesystem type and the + options used (e.g. read/write (rw) or read only (ro)) +#. cat /etc/debug + Behaves like a tail -f of a regular file where debug messages are + shown to standard output. + +.. _Troubleclearing: + +Troubleclearing +^^^^^^^^^^^^^^^ + +Some hints that could be helpful. + +#. Unmount the NetDrive partition with + ``umount /dev/nda<partition-number>`` + If the umount fails verify if applications like Samba are stopped. +#. Disable the NetDisk with + ``ndasadmin disable -s 1`` +#. Stop the NDAS Driver with + ``ndasadmin stop`` + Be aware that after stopping the driver you also have to re-register + the NetDrive. +#. If the enable command indicates the NetDrive is in use by another + entity, and you know it isn't, power off the NetDrive and try again. +#. After powering off the NetDisk I had to do the following to get it + working again: + + - Stop Samba or NFS (e.g. /etc/init.d/rc.samba stop, or + /etc/init.d/rc.nfsd stop) + - Unmount the NetDisk (e.g. umount /dev/nda1) + - Disable the NDAS NetDisk (e.g. ndasadmin disable -s 1) + - Enable the NDAS NetDisk (e.g. ndasadmin enable -s 1 -o s) + - Mount the NetDisk again (e.g. ntfs-3g -o rw /dev/nda1 + /var/media/ndas/ntfs) + - Start Samba or NFS again (e.g. /etc/init.d/rc.samba start, or + /etc/init.d/rc.nfsd start) + +.. _Usages: + +Usages +~~~~~~ + +| I used to have Ndas toghether with Samba on my 7270v3, to play movies + from the ntfs formated NetDrive, via a Win7 pc over HDMI to my TV. +| This is working well for movies upto 720p, 1080p (e.g. upto 8GB). I + also tried a 1080p of about 25GB, but that didn't work out. +| Via monitoring using `Net-SNMP <netsnmp.en.html>`__ I found that it is + the CPU resources on the 7270v3, which is the limiting factor. +| Currently I'm using Ndas with NFS on my 7390, with ext3 formatted + NetDrive, via a Win7 pc over HDMI to my TV. +| I found it possible to play a movie of about 25GB with 1080p, only the + very high detailed fragments where causing issues. +| It is still the CPU resources on the 7390 causing a bottleneck. diff --git a/wiki/packages/ndas.rst b/wiki/packages/ndas.rst new file mode 100644 index 0000000..7822cfd --- /dev/null +++ b/wiki/packages/ndas.rst @@ -0,0 +1,360 @@ +packages/ndas +============= +Network Direct Attached Storage (NDAS) ist ein proprietäres System zur +Anbindung externer Speichermedien wie Festplatten, Flash-Speicher oder +Bandlaufwerke an ein Netzwerk. Die Patente für NDAS hält die +amerikanische Firma Ximeta. [1] + +Da Ximeta seinen Linux Support eingestellt hat hier die original +Anleitung. Die Links darin funktionieren nicht mehr. + +.. _a1.UsingNDASdriver: + +1. Using NDAS driver +-------------------- + +.. _RegistertheNDASdevice: + +Register the NDAS device +~~~~~~~~~~~~~~~~~~~~~~~~ + +You can find NDAS "ID" and NDAS "key" from the the bottom of the +NetDisk. + +If your NDAS ID (20 characters) and NDAS key (5 characters) are + +.. code:: wiki + + ID: AF7R2-2MKK4-UHG9S-5RHTG + KEY: 8QT6U + +then execute the following commands as root (in most systems it will be +sufficient to type ``# ndasadmin...`` rather than full +``# /usr/sbin/ndasadmin...``) + +.. code:: wiki + + /usr/sbin/ndasadmin register <NDAS ID>-<NDAS key> --name <NetDisk Name to be> + or + /usr/sbin/ndasadmin register <NDAS ID>-<NDAS key> -n <NetDisk Name to be> + +vis: + +.. code:: wiki + + /usr/sbin/ndasadmin register AF7R2-2MKK4-UHG9S-5RHTG-8QT6U --name MyDisk + or + /usr/sbin/ndasadmin register AF7R2-2MKK4-UHG9S-5RHTG-8QT6U -n MyDisk + +| Please note that 'MyDisk' is any name named by you. +| Sucessful registering means NOT the Disk ist reached sucessful via + Network! +| You will get the numeric slot number(s) for each disk on the NetDisk + by + +.. code:: wiki + + cat /proc/ndas/devices/MyDisk/slots + +check the status of the NetDisks, if you can't get the slot number from +commands above. + +.. code:: wiki + + cat /proc/ndas/devs + Name ID Key Serial Ver Status Slots + MyDisk01 ABCDEFGHIJKLMNO***** Yes 00800000 1 Online 1 + MyDisk02 ABCDEFGHIJKLMNP***** Yes 00800001 1 Offline + +If the Status is "Offline" make sure the NetDisk turns on and is +attached in the same network. + +.. _EnabletheNDASdevice: + +Enable the NDAS device +~~~~~~~~~~~~~~~~~~~~~~ + +To enable the NetDisk, please type the following commands: + +Use the numeric slot number that you get from +/proc/ndas/devices/MyDisk/slots. If you get '1' as the slot number from +/proc/ndas/devices/MyDisk/slots then, execute one of the following +command with root privilege. + +.. code:: wiki + + /usr/sbin/ndasadmin enable -s 1 -o w # exclusive write and read mode + + /usr/sbin/ndasadmin enable -s 1 -o r # read-only mode + + /usr/sbin/ndasadmin enable -s 1 -o s # for GFS/OCFS2 file system + +This command will print out the path of the block device file. For +example, + +.. code:: wiki + + /dev/nda, /dev/ndb, /dev/ndas-001000001-0. + +Your NetDisk will then have to be partitioned and/or formatted if not +already. + +.. _PartitionandfilesystemontheNDASdevice: + +Partition and file system on the NDAS device +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To partition or format, please do the following: + +WARNING: All data will be erased. + +partition +^^^^^^^^^ + +.. code:: wiki + + fdisk /dev/nda (fdisk <path of the block device file> see output of ndasadmin enable), + * use p to show the current partition table + * use n to create a new partion + +format +^^^^^^ + +use for example: + +.. code:: wiki + + mkfs -t ext2 /dev/nda1 + or + mkfs.ext3 /dev/ndas-08019896-0p1 -L ndas_disc1 + ... + +| where /dev/ndas-08019896-0 is the path of the block device file and p1 + stands for *partion 1* +| (just check the output of *fdisk -l /dev/ndas-08019896-0*) +| The option -L lables the partition as *ndas_disc1* + +Your NetDisk is now ready for use! + +.. _ReadingPartitionsonalreadyformattedNDASdevicemounting: + +Reading Partitions on already formatted NDAS device & mounting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- try + +.. code:: wiki + + blkid + +which should give all partition information for your entire Linux +system, including the NDAS device. This is very useful if you already +have multiple partitions on your NDAS device. You then need to + +.. code:: wiki + + mount -t <filesystem> <device name> <mount directory> + +in normal way. + +- **If the disk is formatted other than NDAS mode, there is a + possibility that partitions may not be accessed. This is because NDAS + reserves some data from the end of disk. You need to format again in + NDAS mode.** +- **If you don't have "blkid" on your system, try "ls /dev/nd*", or + "cat /proc/partitions"** + +.. _AutomaticUserMounting: + +Automatic User Mounting +~~~~~~~~~~~~~~~~~~~~~~~ + +These commands may differ slightly for your particular configuration. + +Once your Netdisk drivers are properly setup, create a mount point for +the device: + +.. code:: wiki + + # mkdir /mnt/netdisk + +Under Ubuntu distrobutions, it's best to put this point in /media, +rather than /mnt, for conformity. You may name the point anything you +like. + +Next, locate the device. + +.. code:: wiki + + $ ls /dev/ndas* + /dev/ndas /dev/ndas-00110749-0 /dev/ndas-00110749-0p1 + +The drive itself, in this example, is at /dev/ndas-00110749-0. The +primary (and only, in this case) partition is /dev/ndas-00110749-0p1. + +Determine the format of the disk + +.. code:: wiki + + # fdisk -l /dev/ndas-00110749-0 + + Disk /dev/ndas-00110749-0: 160.0 GB, 160039788544 bytes + 255 heads, 63 sectors/track, 19457 cylinders + Units = cylinders of 16065 * 512 = 8225280 bytes + + Device Boot Start End Blocks Id System + /dev/ndas-00110749-0p1 1 19457 156288321 b W95 FAT32 + +In this example, it is a FAT32 drive. + +Next, back up and add this information to your /etc/fstab file + +.. code:: wiki + + # cp /etc/fstab /etc/fstab.backup + # nano /etc/fstab + +You may use any text editor you like in place of nano. + +At the end of this file, add the information for your netdisk. The basic +format for a line is DEVICE LOCATION FORMAT OPTIONS DUMP PASS. For our +example, we have a netdisk at /dev/ndas-00110749-0p1. We want it mounted +at /mnt/netdisk. The format of the netdisk is vfat. For options, we want +to use the defaults, allow users to mount it, and to not mount it +automatically at boot. We don't need dump or pass for anything. The line +we'd add is: + +.. code:: wiki + + /dev/ndas-00110749-0p1 /mnt/netdisk vfat defaults,user,noauto 0 0 + +Save the file, and exit your editor. + +Now, any user on this machine should be able to mount the netdisk with +this command: + +.. code:: wiki + + $ mount /mnt/netdisk + +We've specified all the other information about the device in +/etc/fstab, so no more is required. + +Due to how and when the device drivers and /etc/fstab load, setting the +device to automatically mount in /etc/fstab usually does not work. +You'll need to either set a boot time cron job, add it to your X session +startup, etc. This is outside the scope of this wiki, please see your +system documentation for further information on this. + +.. _AdditionalCommandsfortheNDASdevice: + +Additional Commands for the NDAS device +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To disable the NetDisk: + +.. code:: wiki + + /usr/sbin/ndasadmin disable -s 1 + +.. + + Note: disable is to make the NetDisk to be disconnected from the + Linux machine. especially it will release the exclusively write + permission and the other Linux / MS Windows machine can gain the + exclusive write permission. + +To Unregister the NetDisk + +.. code:: wiki + + /usr/sbin/ndasadmin unregister --name MyDisk + +.. + + Note: 'unregister' is to delete the registration so that the NetDisk + is not registered in the next booting of Linux machine. + + Note: The name 'MyDisk' should be the parameter you set on 'register' + command. + +Please refer to README as the original document. + +.. _a2.UsingNDASharddiskarray: + +2. Using NDAS harddisk array +---------------------------- + +- Add how to use the NDAS harddisks with Linux Software RAID +- Add how to use the NDAS hard disks with XIMETA RAID +- Add how to use the NDAS hard disks with Linux LVM + +.. _a3.SharethedatafilesontheNDASharddisks: + +3. Share the data/files on the NDAS hard disks +---------------------------------------------- + +NDAS on WINDOWS apparently supports simultaneous r/w from multiple +machines on the LAN. I could not find any documentation explaining if +this is only true for partitions formated as FAT or NTFS, or for any +file system, but for the moment I'll assume that this fiture does not +depend on the filesystem. Since a Windows ext3 driver exists, this could +be used for sharing the data between windows and Linux machines. +Alternativelz, Linux can also access NTFS, but last time I checked (long +ago), r/w support was poor… + +Unfortunately, the Linux version of the driver does not support the +simultanous r/w from multiple machines. An NDAS partition can only be +mounted r/w from ONE linux machine at a time, the rest of the machines +may only use it in ro mode. The only exceptions are the shared +filesystems such as GFS and OCFS2. A simple GFS configuration is shown +in this Wiki. I just checked the documentation, and unfortunately +neither OCFS2 noe GFS drivers for windows exist. So in short, there is +no way to simultanously mount any filesystem in r/w mode on both Linux +and Windows machines. This is so sad. |:-(| + +- How to share the NDAS hard disk with GFS +- How to share the NDAS hard disk with FAT32 file system +- How to share the NDAS hard disk with OCFS2 +- Add how to share the NDAS hard disk with NTFS + +.. code:: wiki + + For example type on the command line: + + mount -t ntfs-3g /dev/ndas-00611109-0p1 /mnt/windows < -o force > + + Or add the option to the relevant row in the /etc/fstab file: + + /dev/ndas-00611109-0p1 /mnt/windows ntfs-3g defaults 0 0 + +- Add how to share the NDAS hard disk with ext2/3 + +.. _a4.NDASrobustnes: + +4. NDAS robustnes? +------------------ + +I wondered how robust the NDAS protocol, host device and linux driver +are… The result of the small test I just did is not so good as I hoped: + +- Mount the ndas partition on my linux host in rw mode (ext3 partition) +- Start a copy operation on a large file +- Turning the NDAS device by pressing the power off button +- Turning the NDAS device on again. + +Result: The file transfer stopped while the device was offline, and then +resumed on its own as soon as the NDAS device came online again. +Unfortunately, **the file was corrupted** in the end. On a bright side, +this is still better than linux hangup. + +.. _Referenzen: + +Referenzen +---------- + +[1] `​Wikipedia Seite zu +NDAS <http://de.wikipedia.org/wiki/Network_Direct_Attached_Storage>`__ + +.. |:-(| image:: ../../chrome/wikiextras-icons-16/smiley-sad.png + diff --git a/wiki/packages/netatalk.rst b/wiki/packages/netatalk.rst new file mode 100644 index 0000000..b45c21e --- /dev/null +++ b/wiki/packages/netatalk.rst @@ -0,0 +1,5 @@ +packages/netatalk +================= +Noch keine Beschreibung. Bitte Konfigurationshinweise und weiterführende +Links auf der `​Seite <https://github.com/svoop/freetz-netatalk>`__ des +freetz-Paket-Entwicklers beachten. diff --git a/wiki/packages/netcat.rst b/wiki/packages/netcat.rst new file mode 100644 index 0000000..8f80947 --- /dev/null +++ b/wiki/packages/netcat.rst @@ -0,0 +1,36 @@ +packages/netcat +=============== +netcat +====== + +`​netcat <http://netcat.sourceforge.net/>`__ ist ein einfaches Werkzeug, +um Daten von der Standardein- oder -ausgabe über Netzwerkverbindungen zu +transportieren. Es arbeitet als Client oder Server mit den Protokollen +`​TCP <http://de.wikipedia.org/wiki/Transmission_Control_Protocol>`__ +und `​UDP <http://de.wikipedia.org/wiki/User_Datagram_Protocol>`__. Die +Manpage bezeichnet es als TCP/IP swiss army knife (Schweizer Armeemesser +für `​TCP/IP <http://de.wikipedia.org/wiki/TCP/IP>`__). + +Eine Alternative zu *netcat* bietet das Paket `socat <socat.html>`__. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​netcat Homepage <http://netcat.sourceforge.net/>`__ +- `​netcat Man page <http://linux.die.net/man/1/nc>`__ +- `​Anwendungsbeispiele <http://www.jfranken.de/homepages/johannes/vortraege/netcat.de.html>`__ +- `​Deutschsprachige + Dokumentation <http://www.remoteshell-security.com/netcat.php>`__ mit + vielen Anwendungsbeispielen +- `​Deutschsprachige Anleitung zu Netcat und + Cryptcat <http://www.highgames.com/?set=hardwareview&view=2>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/netsnmp.en.rst b/wiki/packages/netsnmp.en.rst new file mode 100644 index 0000000..00abc27 --- /dev/null +++ b/wiki/packages/netsnmp.en.rst @@ -0,0 +1,169 @@ +packages/netsnmp.en +=================== +.. _Net-SNMP: + +Net-SNMP +-------- + +| Net-SNMP (**S**\ imple **N**\ etwork **M**\ anagement **P**\ rotocol) + includes an open source SNMPd agent to monitor and administer SNMP + capable network devices like routers and switches. +| You can poll the snmpd agent on the router to obtain e.g. interface or + CPU statistics information and display this in a nice graph with the + help of a program like `​MRTG <http://oss.oetiker.ch/mrtg/>`__ +| More info about Net-SNMP can be found via: + `​http://www.net-snmp.org/ <http://www.net-snmp.org/>`__ + +.. _CreatingaFeetzImagewithNet-SNMP: + +Creating a Feetz Image with Net-SNMP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Follow the directions from the `Wiki <../index.en.html#>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected (so I have 1 out of 3 selected): + +.. code:: wiki + + Package selection ---> Standard packages ---> [*] Net-SNMP 5.4.2.1 snmpd + Package selection ---> Standard packages ---> [ ] With openssl encryption (NEW) + Package selection ---> Standard packages ---> [ ] With zlib compression (NEW) + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +conf +^^^^ + +| First you should create a snmpd.conf file. This file contains all + configuration options for Net-SNMP, including a community string, + which you can regard as a password for access control. [[br] A full + description of all possible parameters can be found in the online + manual page: + `​http://www.net-snmp.org/docs/man/snmpd.conf.html <http://www.net-snmp.org/docs/man/snmpd.conf.html>`__ +| You can edit the snmpd.conf file via the Freetz web-interface via + Net-SNMP > snmpd.conf + +If you would like to have a minimal config you can use the following: + +.. code:: wiki + + rocommunity public + rwcommunity private + +| This way access contol is only based on the communiy string. + +| I found an example config with more accss contol options in one of the + attachments in this thread: + `​http://www.ip-phone-forum.de/showthread.php?t=122073 <http://www.ip-phone-forum.de/showthread.php?t=122073>`__ +| This shows how to control access based on source IP address range with + additional options to restrict access. + +.. code:: wiki + + ## sec.name source community + ## ======== ====== ========= + com2sec readonly 127.0.0.0/8 <community string> + com2sec readonly 192.168.0.0/16 <community string> + #com2sec paranoid default <community string> + com2sec paranoid 172.16.0.0/16 <community string> + + ## Access.group.name sec.model sec.name + ## ================= ========= ======== + group MyROSystem v1 paranoid + group MyROSystem v2c paranoid + group MyROSystem usm paranoid + group MyROGroup v1 readonly + group MyROGroup v2c readonly + group MyROGroup usm readonly + + ## MIB.view.name incl/excl MIB.subtree mask + ## ============== ========= =========== ==== + view all included .1 80 + view system included .1.3.6.1.2.1.1 + + ## MIB + ## group.name context sec.model sec.level prefix read write notif + ## ========== ======= ========= ========= ====== ==== ===== ===== + access MyROSystem "" any noauth exact system none none + access MyROGroup "" any noauth exact all none none + +| If you only allow access from inside your trusted network you can use + the default community string, which is for readonly **public** and for + readwrite **private**. +| More information on the View-Based Access Control Model (VACM) can be + found on the `​Net-SNMP + Wiki <http://www.net-snmp.org/wiki/index.php/Vacm>`__ + +.. figure:: /screenshots/247.jpg + :alt: Net-SNMP snmpd.conf + + Net-SNMP snmpd.conf + +setup +^^^^^ + +| After saving a snmpd.conf file using the Net-SNMP > snmpd.conf setup + page you can enable Net-SNMP to start automatically at bootup. + +.. figure:: /screenshots/246.jpg + :alt: Net-SNMP Setup + + Net-SNMP Setup + +verify +^^^^^^ + +| With many Linux distributions you als have snmp tools included like + snmpget, snmpset, snmpwalk, … +| A quick guide how to use these tools can be found `​on the + net-snmp.org + site <http://www.net-snmp.org/wiki/index.php/Tutorials>`__. + +Some commands: To get a list of interface descriptions (ifDesc): + + snmpwalk -v 2c -c <community string> 192.168.178.1 + .1.3.6.1.2.1.2.2.1.2 + +.. + + snmpwalk -v 2c -c <community string> -O a 192.168.178.1 + .1.3.6.1.2.1.2.2.1.2 + +To get a list of all available objects: + + snmpwalk -v 2c -c <community string> 192.168.178.1 .1 + +.. _MRTG: + +MRTG +---- + +| The Multi Router Traffic Grapher will allow you to generate nice + graphs of the data available via SNMP. +| This can be system information like uptime, interface information and + statistics, and more. +| The graphs can help a lot with trouble clearing issues, both with the + FritsBox (e.g. CPU memory), and in the network. +| For more info see the `​MRTG site <http://oss.oetiker.ch/mrtg/>`__. + +| Here an example on the graph you can generate: + +.. figure:: /screenshots/248.jpg + :alt: MRTG lan interface daily graph + + MRTG lan interface daily graph + +The following wiki page will provide more detailed information to +installation and configuration: + +- `More detailed information and installation + instructions <netsnmp/mrtg.en.html>`__ diff --git a/wiki/packages/netsnmp.rst b/wiki/packages/netsnmp.rst new file mode 100644 index 0000000..528adac --- /dev/null +++ b/wiki/packages/netsnmp.rst @@ -0,0 +1,53 @@ +packages/netsnmp +================ +.. _Net-SNMP: + +Net-SNMP +======== + +**SNMP** ist das **S**\ imple **N**\ etwork **M**\ anagement +**P**\ rotocol (einfaches Netzwerk-Verwaltungs Protokoll). Dieses +Protokoll wird genutzt, um die Geräte in großen Netzwerken verwalten zu +können. Fast jeder bessere Switch spricht SNMP. Man kann dann z.B. +remote einzelne Ports ein- bzw. ausschalten oder den aktuellen Traffic +einsehen und vieles mehr. + +Dazu werden sogenannte Agenten eingesetzt, hier das Programm **snmpd** +(SNMP-Daemon), das direkt auf dem zu überwachenden Gerät (FRITZBox) +läuft. Diese Agenten sind in der Lage, den Zustand des Gerätes zu +erfassen und auch selbst Einstellungen vorzunehmen oder Aktionen +auszulösen. + +Da hier im Wiki noch keine weitere Beschreibung vorhanden ist, zur +Information vorläufig das Folgende: + +- `​snmpd auf der + FB <http://www.ip-phone-forum.de/showthread.php?t=122073>`__ +- `​snmpd.conf + anpassen <http://www.ip-phone-forum.de/showthread.php?t=142295>`__ +- `​Einrichtung von SNMP-Agenten im Forschungszentrum + Jülich <http://www.fz-juelich.de/zam/docs/tki/tki_html/t0320/t0320.html>`__ + +Im Webinterface von Freetz gibt es - sofern der snmpd im Image eingebaut +ist - unter *Einstellungen* den Punkt *snmpd.conf*. Dort kann man die +Datei ``snmpd.conf`` direkt editieren. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Net-SNMP Homepage <http://www.net-snmp.org/>`__ (hier finden sich + auch englisch-sprachige Tutorials) +- `​Wikipedia Article on Net-SNMP + (English) <http://en.wikipedia.org/wiki/Net-SNMP>`__ +- `​Wikipedia: + SNMP <http://de.wikipedia.org/wiki/Simple_Network_Management_Protocol>`__ +- `​SNMPLink.ORG <http://www.snmplink.org/>`__ (EN) gibt zahlreiche + Referenzen zum Thema SNMP + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/netsnmp/mrtg.en.rst b/wiki/packages/netsnmp/mrtg.en.rst new file mode 100644 index 0000000..64f9208 --- /dev/null +++ b/wiki/packages/netsnmp/mrtg.en.rst @@ -0,0 +1,1612 @@ +packages/netsnmp/mrtg.en +======================== +.. _MRTG: + +MRTG +---- + +| The Multi Router Traffic Grapher will allow you to generate nice + graphs of the data available via SNMP. +| This can be system information like uptime, interface information and + statistics, and more. +| For more info see the `​MRTG site <http://oss.oetiker.ch/mrtg/>`__. + +| Here an example on the graph you can generate: + +.. figure:: /screenshots/248.jpg + :alt: MRTG lan interface daily graph + + MRTG lan interface daily graph + +.. _InstallingMRTG: + +Installing MRTG +~~~~~~~~~~~~~~~ + +I installed MRTG on a Win7 pc. For this I followed the `​Windows +Installation +Guide <http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html>`__. + +| I also installed MGTG as a service. + +.. _MRTGConfigfile: + +MRTG Config file +~~~~~~~~~~~~~~~~ + +| You can generate a initial config file with the cfgmaker tool. +| This will query the snmp agent, and from the obtained info a config + file is created: + + perl cfgmaker public@192.168.178.1 —global "WorkDir: c:\www\mrtg" + —output mrtg.cfg + +| But be aware that I have noticed that interface index numbering + changes often at reboot, or when router parameters are changed. +| For the wifi interfaces 'wifi0' and 'ath0' of the 7270v3 I have even + seen multiple interface indexes were created where only the last + created with actual counters. A restart of the snmpd will correct + this. + +| In the generated config file most, if not all, are commented out due + to e.g. if there is no speed information found. Start with remove the + comments character for one interface, and get this to work. +| After you have cleared all possible config errors (e.g. watch leading + spaces which seems not accepted at some locations), you can add more + interfaces. +| You can also change the ADSL related interfaces to have two speeds + (asymmetric) so the percentage of used link speed for up and down is + more realistic. + +| Here my current config for the 7270v3: I added config for monitoring + CPU load (1, 5, and 15 minutes average), CPU Usage, and Memory usages. + This to help with trouble shooting performance issues. +| A good explanation of how to interpret the CPU load values can be + found + `​here <http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages>`__. + +.. code:: wiki + + # Created by + # cfgmaker public@192.168.178.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg + + ### Global Config Options + + # for UNIX + # WorkDir: /home/http/mrtg + + # or for NT + # WorkDir: c:\mrtgdata + WorkDir: c:\Users\<user>\www\mrtg + RunAsDaemon: yes + + ### Global Defaults + + # to get bits instead of bytes and graphs growing to the right + # Options[_]: growright, bits + + EnableIPv6: no + + ###################################################################### + # System: fritz.fonwlan.box + # Description: Linux fritz.fonwlan.box 2.6.19.2 #1 Fri Apr 8 14:13:30 CEST 2011 mips + # Contact: root@localhost + # Location: Unknown + ###################################################################### + + ## Interface 1 >> Descr: 'cpmac0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_cpmac0]: \cpmac0:public@192.168.178.1: + SetEnv[192.168.178.1_cpmac0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="cpmac0" + MaxBytes[192.168.178.1_cpmac0]: 12500000 + Title[192.168.178.1_cpmac0]: Traffic Analysis for 1 -- cpmac0 100Mbit/s Ethernet switch + PageTop[192.168.178.1_cpmac0]: <h1>Traffic Analysis for 1 -- cpmac0 100Mbit/s Ethernet switch</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>cpmac0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>12.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 2 >> Descr: 'lo' | Name: 'No Name' | Ip: '127.0.0.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * it is a Software Loopback interface + + Target[192.168.178.1_lo]: \lo:public@192.168.178.1: + SetEnv[192.168.178.1_lo]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo" + MaxBytes[192.168.178.1_lo]: 1250000 + Title[192.168.178.1_lo]: Traffic Analysis for 2 -- lo Local Loopback Interface + PageTop[192.168.178.1_lo]: <h1>Traffic Analysis for 2 -- lo Local Loopback Interface</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>lo </td> + </tr> + <tr> + <td>ifType:</td> + <td>softwareLoopback (24)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1250.0 kBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>127.0.0.1 (localhost)</td> + </tr> + </table> + </div> + + ### Interface 3 >> Descr: 'sit0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ### The following interface is commented out because: + ### * it is administratively DOWN + ### * it is operationally DOWN + ### * has no ifSpeed property + # + # Target[192.168.178.1_sit0]: \sit0:public@192.168.178.1: + # SetEnv[192.168.178.1_sit0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="sit0" + # MaxBytes[192.168.178.1_sit0]: 0 + # Title[192.168.178.1_sit0]: Traffic Analysis for 3 -- sit0 + # PageTop[192.168.178.1_sit0]: <h1>Traffic Analysis for 3 -- sit0</h1> + # <div id="sysdetails"> + # <table> + # <tr> + # <td>System:</td> + # <td>fritz.fonwlan.box in Unknown</td> + # </tr> + # <tr> + # <td>Maintainer:</td> + # <td>root@localhost</td> + # </tr> + # <tr> + # <td>Description:</td> + # <td>sit0 </td> + # </tr> + # <tr> + # <td>ifType:</td> + # <td>Encapsulation Interface (131)</td> + # </tr> + # <tr> + # <td>ifName:</td> + # <td>No Name</td> + # </tr> + # <tr> + # <td>Max Speed:</td> + # <td>0.0 Bytes/s</td> + # </tr> + # <tr> + # <td>Ip:</td> + # <td>No Ip (No DNS name)</td> + # </tr> + # </table> + # </div> + + ## Interface 4 >> Descr: 'eth0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_eth0]: \eth0:public@192.168.178.1: + SetEnv[192.168.178.1_eth0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="eth0" + MaxBytes[192.168.178.1_eth0]: 12500000 + Title[192.168.178.1_eth0]: Traffic Analysis for 4 -- eth0 + PageTop[192.168.178.1_eth0]: <h1>Traffic Analysis for 4 -- eth0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>eth0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>12.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 6 >> Descr: 'lan' | Name: 'No Name' | Ip: '169.254.1.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_lan]: \lan:public@192.168.178.1: + SetEnv[192.168.178.1_lan]: MRTG_INT_IP="169.254.1.1" MRTG_INT_DESCR="lan" + MaxBytes[192.168.178.1_lan]: 12500000 + Title[192.168.178.1_lan]: Traffic Analysis for 6 -- lan (eth + wifi) + PageTop[192.168.178.1_lan]: <h1>Traffic Analysis for 6 -- lan (eth + wifi)</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>lan </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>12.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>169.254.1.1 (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 7 >> Descr: 'guest' | Name: 'No Name' | Ip: '192.168.179.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_guest]: \guest:public@192.168.178.1: + SetEnv[192.168.178.1_guest]: MRTG_INT_IP="192.168.179.1" MRTG_INT_DESCR="guest" + MaxBytes[192.168.178.1_guest]: 6750000 + Title[192.168.178.1_guest]: Traffic Analysis for 7 -- guest (Guest WiFi) + PageTop[192.168.178.1_guest]: <h1>Traffic Analysis for 7 -- guest (Guest WiFi)</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>guest </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>6.75 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>192.168.179.1 (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 22 >> Descr: 'wifi0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_wifi0]: \wifi0:public@192.168.178.1: + SetEnv[192.168.178.1_wifi0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="wifi0" + MaxBytes[192.168.178.1_wifi0]: 6750000 + Title[192.168.178.1_wifi0]: Traffic Analysis for 22 -- wifi0 + PageTop[192.168.178.1_wifi0]: <h1>Traffic Analysis for 22 -- wifi0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>wifi0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>6.75 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 25 >> Descr: 'ath0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_ath0]: \ath0:public@192.168.178.1: + SetEnv[192.168.178.1_ath0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="ath0" + MaxBytes[192.168.178.1_ath0]: 6750000 + Title[192.168.178.1_ath0]: Traffic Analysis for 25 -- ath0 + PageTop[192.168.178.1_ath0]: <h1>Traffic Analysis for 25 -- ath0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>ath0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>6.75 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 30 >> Descr: 'guest1' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_guest1]: \guest1:public@192.168.178.1: + SetEnv[192.168.178.1_guest1]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="guest1" + MaxBytes[192.168.178.1_guest1]: 6750000 + Title[192.168.178.1_guest1]: Traffic Analysis for 30 -- guest1 (Guest WiFi) + PageTop[192.168.178.1_guest1]: <h1>Traffic Analysis for 30 -- guest1 (Guest WiFi)</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>guest1 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>6.75 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 37 >> Descr: 'dsl' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ### * has no ifSpeed property + + Target[192.168.178.1_dsl]: \dsl:public@192.168.178.1: + SetEnv[192.168.178.1_dsl]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="dsl" + MaxBytes1[192.168.178.1_dsl]: 1500000 + MaxBytes2[192.168.178.1_dsl]: 128000 + Title[192.168.178.1_dsl]: Traffic Analysis for 37 -- dsl + PageTop[192.168.178.1_dsl]: <h1>Traffic Analysis for 37 -- dsl</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>dsl </td> + </tr> + <tr> + <td>ifType:</td> + <td>ppp (23)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 38 >> Descr: 'adsl' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_adsl]: \adsl:public@192.168.178.1: + SetEnv[192.168.178.1_adsl]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="adsl" + MaxBytes1[192.168.178.1_adsl]: 1500000 + MaxBytes2[192.168.178.1_adsl]: 128000 + Title[192.168.178.1_adsl]: Traffic Analysis for 38 -- atm + PageTop[192.168.178.1_adsl]: <h1>Traffic Analysis for 38 -- atm</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>adsl </td> + </tr> + <tr> + <td>ifType:</td> + <td>atm (37)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 43 >> Descr: 'sixxs' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_sixxs]: \sixxs:public@192.168.178.1: + SetEnv[192.168.178.1_sixxs]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="sixxs" + MaxBytes1[192.168.178.1_sixxs]: 1500000 + MaxBytes2[192.168.178.1_sixxs]: 128000 + Title[192.168.178.1_sixxs]: Traffic Analysis for 43 -- sixxs + PageTop[192.168.178.1_sixxs]: <h1>Traffic Analysis for 43 -- sixxs</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>sixxs </td> + </tr> + <tr> + <td>ifType:</td> + <td>Other (1)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + # Router CPU one minute load averages + Target[cpu.1]:.1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.1:public@192.168.178.1: + RouterUptime[cpu.1]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.1]: 1000 + Title[cpu.1]: CPU LOAD + PageTop[cpu.1]: <H1>CPU one minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7270</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>One minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.1]: avg cpu/min + Factor[cpu.1]: 0.01 + YLegend[cpu.1]: CPU Utilization + Legend1[cpu.1]: CPU Utilization (Load) + Legend2[cpu.1]: CPU Utilization (Load) + Legend3[cpu.1]: + Legend4[cpu.1]: + LegendI[cpu.1]: + LegendO[cpu.1]:  Usage + Options[cpu.1]: gauge, unknaszero + + # Router CPU five minute load averages + Target[cpu.2]:.1.3.6.1.4.1.2021.10.1.5.2&.1.3.6.1.4.1.2021.10.1.5.2:public@192.168.178.1: + RouterUptime[cpu.2]: .1.3.6.1.2.1.1.3.0:public@192.168.178.1: + MaxBytes[cpu.2]: 1000 + Title[cpu.2]: CPU LOAD + PageTop[cpu.2]: <H1>CPU five minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7270</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Five minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.2]: avg cpu/5 min + Factor[cpu.2]: 0.01 + YLegend[cpu.2]: CPU Utilization + Legend1[cpu.2]: CPU Utilization (Load) + Legend2[cpu.2]: CPU Utilization (Load) + Legend3[cpu.2]: + Legend4[cpu.2]: + LegendI[cpu.2]: + LegendO[cpu.2]:  Usage + Options[cpu.2]: gauge, unknaszero + + # Router CPU fifteen minute load averages + Target[cpu.3]:.1.3.6.1.4.1.2021.10.1.5.3&.1.3.6.1.4.1.2021.10.1.5.3:public@192.168.178.1: + RouterUptime[cpu.3]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.3]: 1000 + Title[cpu.3]: CPU LOAD + PageTop[cpu.3]: <H1>CPU fifteen minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7270</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Fifteen minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.3]: avg cpu/15 min + Factor[cpu.3]: 0.01 + YLegend[cpu.3]: CPU Utilization + Legend1[cpu.3]: CPU Utilization (Load) + Legend2[cpu.3]: CPU Utilization (Load) + Legend3[cpu.3]: + Legend4[cpu.3]: + LegendI[cpu.3]: + LegendO[cpu.3]:  Usage + Options[cpu.3]: gauge, unknaszero + + # Router CPU Utilization ssCpuIdle.0 + Target[cpu.idle]: 100 - .1.3.6.1.4.1.2021.11.11.0&.1.3.6.1.4.1.2021.11.11.0:public@192.168.178.1: + RouterUptime[cpu.idle]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.idle]: 1000 + Title[cpu.idle]: CPU Utilization + PageTop[cpu.idle]: <H1>CPU Utilization</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7270</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>CPU Utilization</td> + </tr> + </table> + </div> + ShortLegend[cpu.idle]: % + YLegend[cpu.idle]: CPU Utilization + Legend1[cpu.idle]: CPU Utilization %(Load) + Legend2[cpu.idle]: CPU Utilization %(Load) + Legend3[cpu.idle]: + Legend4[cpu.idle]: + LegendI[cpu.idle]: + LegendO[cpu.idle]:  Usage + Options[cpu.idle]: gauge, unknaszero + + # Router Used Memory = Memory - Free Memory + # The total memory can be obtained from /proc/meminfo + # For the 7390 the MemTotal = 109168 kB + # For the 7270v3 the MemTotal = 59716 kB + Target[mem.used]: 59716 - .1.3.6.1.4.1.2021.4.11.0&.1.3.6.1.4.1.2021.4.11.0:public@192.168.178.1: + RouterUptime[mem.used]: sysUpTime.0:public@192.168.178.1: + MaxBytes[mem.used]: 59716 + Title[mem.used]: Used Memory + PageTop[mem.used]: <H1>Used Memory</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7270</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Used Memory</td> + </tr> + </table> + </div> + ShortLegend[mem.used]: kBytes + YLegend[mem.used]: Used Memory + Legend1[mem.used]: Used Memory (Total is 59716) + Legend2[mem.used]: Used Memory (Total is 59716) + Legend3[mem.used]: + Legend4[mem.used]: + LegendI[mem.used]: + LegendO[mem.used]:  Usage + Options[mem.used]: gauge, unknaszero + + WorkDir: c:\Users\<user>\www\mrtg + +For the 7390 I have the following config (not so much different). + +.. code:: wiki + + # Created by + # cfgmaker public@192.168.178.1 --global "WorkDir: c:\www\mrtg" --output mrtg_7390.cfg + + ### Global Config Options + + # for UNIX + # WorkDir: /home/http/mrtg + + # or for NT + # WorkDir: c:\mrtgdata + WorkDir: c:\Users\<user>\www\mrtg + RunAsDaemon: yes + + ### Global Defaults + + # to get bits instead of bytes and graphs growing to the right + # Options[_]: growright, bits + + EnableIPv6: no + + ###################################################################### + # System: fritz.fonwlan.box + # Description: Linux fritz.fonwlan.box 2.6.28.10 #1 Thu Mar 21 15:33:40 CET 2013 mips + # Contact: root@localhost + # Location: Unknown + ###################################################################### + + ## Changes to use RRDTool as explained in: http://oss.oetiker.ch/mrtg/doc/mrtg-rrd.en.html + # LogFormat: rrdtool + # PathAdd: c:\rrdtool\rrdtool-1.4.7\win32\Debug + # LibAdd: c:\rrdtool\rrdtool-1.4.7\bindings\perl-shared + ## Interface 1 >> Descr: 'lo' | Name: 'No Name' | Ip: '127.0.0.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * it is a Software Loopback interface + + Target[192.168.178.1_lo]: \lo:public@192.168.178.1: + SetEnv[192.168.178.1_lo]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo" + MaxBytes[192.168.178.1_lo]: 1250000 + Title[192.168.178.1_lo]: Traffic Analysis for 1 -- lo Local Loopback Interface + PageTop[192.168.178.1_lo]: <h1>Traffic Analysis for 1 -- lo Local Loopback Interface</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>lo </td> + </tr> + <tr> + <td>ifType:</td> + <td>softwareLoopback (24)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1250.0 kBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>127.0.0.1 (localhost)</td> + </tr> + </table> + </div> + + ### Interface 2 >> Descr: 'sit0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ### The following interface is commented out because: + ### * it is administratively DOWN + ### * it is operationally DOWN + ### * has no ifSpeed property + # + # Target[192.168.178.1_sit0]: \sit0:public@192.168.178.1: + # SetEnv[192.168.178.1_sit0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="sit0" + # MaxBytes[192.168.178.1_sit0]: 0 + # Title[192.168.178.1_sit0]: Traffic Analysis for 2 -- sit0 + # PageTop[192.168.178.1_sit0]: <h1>Traffic Analysis for 2 -- sit0</h1> + # <div id="sysdetails"> + # <table> + # <tr> + # <td>System:</td> + # <td>fritz.fonwlan.box in Unknown</td> + # </tr> + # <tr> + # <td>Maintainer:</td> + # <td>root@localhost</td> + # </tr> + # <tr> + # <td>Description:</td> + # <td>sit0 </td> + # </tr> + # <tr> + # <td>ifType:</td> + # <td>Encapsulation Interface (131)</td> + # </tr> + # <tr> + # <td>ifName:</td> + # <td>No Name</td> + # </tr> + # <tr> + # <td>Max Speed:</td> + # <td>0.0 Bytes/s</td> + # </tr> + # <tr> + # <td>Ip:</td> + # <td>No Ip (No DNS name)</td> + # </tr> + # </table> + # </div> + + ## Interface 3 >> Descr: 'cpmac0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_cpmac0]: \cpmac0:public@192.168.178.1: + SetEnv[192.168.178.1_cpmac0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="cpmac0" + MaxBytes[192.168.178.1_cpmac0]: 128000000 + Title[192.168.178.1_cpmac0]: Traffic Analysis for 3 -- cpmac0 1Gbit/s Ethernet switch + PageTop[192.168.178.1_cpmac0]: <h1>Traffic Analysis for 3 -- cpmac0 1Gbit/s Ethernet switch</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>cpmac0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>128 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 4 >> Descr: 'eth0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_eth0]: \eth0:public@192.168.178.1: + SetEnv[192.168.178.1_eth0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="eth0" + MaxBytes[192.168.178.1_eth0]: 12500000 + Title[192.168.178.1_eth0]: Traffic Analysis for 4 -- eth0 + PageTop[192.168.178.1_eth0]: <h1>Traffic Analysis for 4 -- eth0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>eth0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>12.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 5 >> Descr: 'lan' | Name: 'No Name' | Ip: '169.254.1.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + Target[192.168.178.1_lan]: \lan:public@192.168.178.1: + SetEnv[192.168.178.1_lan]: MRTG_INT_IP="169.254.1.1" MRTG_INT_DESCR="lan" + MaxBytes[192.168.178.1_lan]: 12500000 + Title[192.168.178.1_lan]: Traffic Analysis for 5 -- lan (eth + wifi) + PageTop[192.168.178.1_lan]: <h1>Traffic Analysis for 5 -- lan (eth + wifi)</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>lan </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>12.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>169.254.1.1 (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 6 >> Descr: 'guest' | Name: 'No Name' | Ip: '192.168.179.1' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_guest]: \guest:public@192.168.178.1: + SetEnv[192.168.178.1_guest]: MRTG_INT_IP="192.168.179.1" MRTG_INT_DESCR="guest" + MaxBytes[192.168.178.1_guest]: 37500000 + Title[192.168.178.1_guest]: Traffic Analysis for 6 -- guest (Guest WiFi) + PageTop[192.168.178.1_guest]: <h1>Traffic Analysis for 6 -- guest (Guest WiFi)</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>guest </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>37.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>192.168.179.1 (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 19 >> Descr: 'wifi0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_wifi0]: \wifi0:public@192.168.178.1: + SetEnv[192.168.178.1_wifi0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="wifi0" + MaxBytes[192.168.178.1_wifi0]: 37500000 + Title[192.168.178.1_wifi0]: Traffic Analysis for 19 -- wifi0 + PageTop[192.168.178.1_wifi0]: <h1>Traffic Analysis for 19 -- wifi0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>wifi0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>Other (1)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>37.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 20 >> Descr: 'wifi1' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_wifi1]: \wifi1:public@192.168.178.1: + SetEnv[192.168.178.1_wifi1]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="wifi1" + MaxBytes[192.168.178.1_wifi1]: 37500000 + Title[192.168.178.1_wifi1]: Traffic Analysis for 20 -- wifi1 + PageTop[192.168.178.1_wifi1]: <h1>Traffic Analysis for 20 -- wifi1</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>wifi1 </td> + </tr> + <tr> + <td>ifType:</td> + <td>Other (1)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>37.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 25 >> Descr: 'ath0' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_ath0]: \ath0:public@192.168.178.1: + SetEnv[192.168.178.1_ath0]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="ath0" + MaxBytes[192.168.178.1_ath0]: 37500000 + Title[192.168.178.1_ath0]: Traffic Analysis for 25 -- ath0 + PageTop[192.168.178.1_ath0]: <h1>Traffic Analysis for 25 -- ath0</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>ath0 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>37.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 26 >> Descr: 'ath1' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_ath1]: \ath1:public@192.168.178.1: + SetEnv[192.168.178.1_ath1]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="ath1" + MaxBytes[192.168.178.1_ath1]: 37500000 + Title[192.168.178.1_ath1]: Traffic Analysis for 26 -- ath1 + PageTop[192.168.178.1_ath1]: <h1>Traffic Analysis for 26 -- ath1</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>ath1 </td> + </tr> + <tr> + <td>ifType:</td> + <td>ethernetCsmacd (6)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>37.5 MBytes/s</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 37 >> Descr: 'dsl' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_dsl]: \dsl:public@192.168.178.1: + SetEnv[192.168.178.1_dsl]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="dsl" + MaxBytes1[192.168.178.1_dsl]: 1500000 + MaxBytes2[192.168.178.1_dsl]: 128000 + Title[192.168.178.1_dsl]: Traffic Analysis for 37 -- dsl + PageTop[192.168.178.1_dsl]: <h1>Traffic Analysis for 37 -- dsl</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>dsl </td> + </tr> + <tr> + <td>ifType:</td> + <td>ppp (23)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 38 >> Descr: 'adsl' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_adsl]: \adsl:public@192.168.178.1: + SetEnv[192.168.178.1_adsl]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="adsl" + MaxBytes1[192.168.178.1_adsl]: 1500000 + MaxBytes2[192.168.178.1_adsl]: 128000 + Title[192.168.178.1_adsl]: Traffic Analysis for 38 -- atm + PageTop[192.168.178.1_adsl]: <h1>Traffic Analysis for 38 -- atm</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>adsl </td> + </tr> + <tr> + <td>ifType:</td> + <td>atm (37)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + ## Interface 43 >> Descr: 'sixxs' | Name: 'No Name' | Ip: 'No Ip' | Eth: 'No Ethernet Id' ### + ## The following interface is commented out because: + ## * has no ifSpeed property + + Target[192.168.178.1_sixxs]: \sixxs:public@192.168.178.1: + SetEnv[192.168.178.1_sixxs]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="sixxs" + MaxBytes1[192.168.178.1_sixxs]: 1500000 + MaxBytes2[192.168.178.1_sixxs]: 128000 + Title[192.168.178.1_sixxs]: Traffic Analysis for 43 -- sixxs + PageTop[192.168.178.1_sixxs]: <h1>Traffic Analysis for 43 -- sixxs</h1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box in Unknown</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>sixxs </td> + </tr> + <tr> + <td>ifType:</td> + <td>Other (1)</td> + </tr> + <tr> + <td>ifName:</td> + <td>No Name</td> + </tr> + <tr> + <td>Max Speed:</td> + <td>1.50 MBytes/s Downstream, 128 kBytes/s Upstream</td> + </tr> + <tr> + <td>Ip:</td> + <td>No Ip (No DNS name)</td> + </tr> + </table> + </div> + + # Router CPU one minute load averages + Target[cpu.1]:.1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.1:public@192.168.178.1: + RouterUptime[cpu.1]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.1]: 1000 + Title[cpu.1]: CPU LOAD + PageTop[cpu.1]: <H1>CPU one minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7390</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>One minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.1]: avg cpu/min + Factor[cpu.1]: 0.01 + YLegend[cpu.1]: CPU Utilization + Legend1[cpu.1]: CPU Utilization (Load) + Legend2[cpu.1]: CPU Utilization (Load) + Legend3[cpu.1]: + Legend4[cpu.1]: + LegendI[cpu.1]: + LegendO[cpu.1]:  Usage + Options[cpu.1]: gauge, unknaszero + + # Router CPU five minute load averages + Target[cpu.2]:.1.3.6.1.4.1.2021.10.1.5.2&.1.3.6.1.4.1.2021.10.1.5.2:public@192.168.178.1: + RouterUptime[cpu.2]: .1.3.6.1.2.1.1.3.0:public@192.168.178.1: + MaxBytes[cpu.2]: 1000 + Title[cpu.2]: CPU LOAD + PageTop[cpu.2]: <H1>CPU five minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7390</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Five minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.2]: avg cpu/5 min + Factor[cpu.2]: 0.01 + YLegend[cpu.2]: CPU Utilization + Legend1[cpu.2]: CPU Utilization (Load) + Legend2[cpu.2]: CPU Utilization (Load) + Legend3[cpu.2]: + Legend4[cpu.2]: + LegendI[cpu.2]: + LegendO[cpu.2]:  Usage + Options[cpu.2]: gauge, unknaszero + + # Router CPU fifteen minute load averages + Target[cpu.3]:.1.3.6.1.4.1.2021.10.1.5.3&.1.3.6.1.4.1.2021.10.1.5.3:public@192.168.178.1: + RouterUptime[cpu.3]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.3]: 1000 + Title[cpu.3]: CPU LOAD + PageTop[cpu.3]: <H1>CPU fifteen minute load averages</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7390</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Fifteen minute load averages</td> + </tr> + </table> + </div> + ShortLegend[cpu.3]: avg cpu/15 min + Factor[cpu.3]: 0.01 + YLegend[cpu.3]: CPU Utilization + Legend1[cpu.3]: CPU Utilization (Load) + Legend2[cpu.3]: CPU Utilization (Load) + Legend3[cpu.3]: + Legend4[cpu.3]: + LegendI[cpu.3]: + LegendO[cpu.3]:  Usage + Options[cpu.3]: gauge, unknaszero + + # Router CPU Utilization ssCpuIdle.0 + Target[cpu.idle]: 100 - .1.3.6.1.4.1.2021.11.11.0&.1.3.6.1.4.1.2021.11.11.0:public@192.168.178.1: + RouterUptime[cpu.idle]: sysUpTime.0:public@192.168.178.1: + MaxBytes[cpu.idle]: 1000 + Title[cpu.idle]: CPU Utilization + PageTop[cpu.idle]: <H1>CPU Utilization</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7390</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>CPU Utilization</td> + </tr> + </table> + </div> + ShortLegend[cpu.idle]: % + YLegend[cpu.idle]: CPU Utilization + Legend1[cpu.idle]: CPU Utilization %(Load) + Legend2[cpu.idle]: CPU Utilization %(Load) + Legend3[cpu.idle]: + Legend4[cpu.idle]: + LegendI[cpu.idle]: + LegendO[cpu.idle]:  Usage + Options[cpu.idle]: gauge, unknaszero + + # Router Used Memory = Memory - Free Memory + # The total memory can be obtained from /proc/meminfo + # For the 7390 the MemTotal = 109168 kB + # Without Swap: + # Target[mem.used]: 109168 - .1.3.6.1.4.1.2021.4.11.0&.1.3.6.1.4.1.2021.4.11.0:public@192.168.178.1: + # With Swap enabled: + Target[mem.used]: .1.3.6.1.4.1.2021.4.5.0&.1.3.6.1.4.1.2021.4.5.0:public@192.168.178.1 - .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@192.168.178.1 + RouterUptime[mem.used]: sysUpTime.0:public@192.168.178.1: + MaxBytes[mem.used]: 109168 + Title[mem.used]: Used Memory + PageTop[mem.used]: <H1>Used Memory</H1> + <div id="sysdetails"> + <table> + <tr> + <td>System:</td> + <td>fritz.fonwlan.box 7390</td> + </tr> + <tr> + <td>Maintainer:</td> + <td>root@localhost</td> + </tr> + <tr> + <td>Description:</td> + <td>Used Memory</td> + </tr> + </table> + </div> + ShortLegend[mem.used]: kBytes + YLegend[mem.used]: Used Memory + Legend1[mem.used]: Used Memory (Total is 109168) + Legend2[mem.used]: Used Memory (Total is 109168) + Legend3[mem.used]: + Legend4[mem.used]: + LegendI[mem.used]: + LegendO[mem.used]:  Usage + Options[mem.used]: gauge, unknaszero + + WorkDir: c:\Users\<user>\www\mrtg + +.. _Onepageoverview: + +One page overview +~~~~~~~~~~~~~~~~~ + +| MRTG offers a tool to generate a web-page with for a specific period, + e.g. all one-day graphs of all configured targets on one page. +| In a dos-box in the mrtg\bin directory execute the following (replace + <name> with your prefered name for the page). For a page with one-day + graphs: + + perl indexmaker —output <name>.htm mrtg.cfg + +For a page with graphs of a week, month or year: + + perl indexmaker —show=week —output <name>.htm mrtg.cfg perl + indexmaker —show=month —output <name>.htm mrtg.cfg perl indexmaker + —show=year —output <name>.htm mrtg.cfg + +Then move the created .htm file to the directory with all the generated +MRTG pages. + +.. _MGTGasaservice: + +MGTG as a service +~~~~~~~~~~~~~~~~~ + +With a new installation on Win7 I installed I decided to install on the +following locations i.s.o. the root of the c: directory: + +Web-pages: + + C:\Users\<user>\www\mrtg\\ + +MRTG: + + C:\Program Files (x86)\mrtg-2.17.4\\ + +Net-SNMP: + + C:\Program Files (x86)\Net-SNMP\\ + +You need to obtain the following two programs to create the service: + + instsrv.exe srvany.exe + +Copy them to C:\Program Files (x86)\mrtg-2.17.4\bin\\ directory. + +I generated a service named mrtg_7390. + +.. code:: wiki + + cd C:\Program Files (x86)\mrtg-2.17.4\bin\ + instsrv "MRTG_7390" "C:\Program Files (x86)\mrtg-2.17.4\bin\srvany.exe" + +Create a registry file at the following location: + + C:\Program Files (x86)\mrtg-2.17.4\bin\mrtg_7390.reg + + .. code:: wiki + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG_7390\Parameters] + "Application"="c:\\Program Files\\perl64\\bin\\wperl.exe" + "AppParameters"="\"c:\\Program Files (x86)\\mrtg-2.17.4\\bin\\mrtg\" \"c:\\Program Files (x86)\\mrtg-2.17.4\\bin\\mrtg_7390.cfg\"" + "AppDirectory"="c:\\Program Files (x86)\\mrtg-2.17.4\\bin\\" + +Add the entries in the in the registry using the following command: + + regedit /s mrtg_7390.reg + +.. figure:: /screenshots/279.png + :alt: MRTG as a Service Registry entry + + MRTG as a Service Registry entry + +.. figure:: /screenshots/280.png + :alt: MRTG as a Service Registry entry parameters + + MRTG as a Service Registry entry parameters + +.. _Webpageexamples: + +Web page examples +~~~~~~~~~~~~~~~~~ diff --git a/wiki/packages/nfs-utils.rst b/wiki/packages/nfs-utils.rst new file mode 100644 index 0000000..07b5a57 --- /dev/null +++ b/wiki/packages/nfs-utils.rst @@ -0,0 +1,35 @@ +packages/nfs-utils +================== +.. _NFS-UtilsNFS-Server: + +NFS-Utils / NFS-Server +====================== + +Die NFS-Utils erweitern Freetz um einen NFS Server inklusive +Administrationswebinterface (siehe `nfsd-cgi <nfsd.html>`__) für die +Konfigdateien ``Exports``, ``allow_hosts`` und ``deny_hosts``. + +.. _Hinweise: + +Hinweise +-------- + +- Exports funktionieren nur richtig mit ext2, ext3 oder ReiserFS + Dateisystemen. +- Squashfs und tmpfs/ramfs (/var) können nicht über NFS exportiert + werden +- Wenn keine Verbindung zustande kommt kann das an einer falschen NFS + Version des Clients liegen. Beheben kann man das mit dem zusätzlichen + mount Parameter ``-o nfsvers=3``. + +.. _Referenzen: + +Referenzen +---------- + +- `​http://www.ip-phone-forum.de/showthread.php?p=1609992 <http://www.ip-phone-forum.de/showthread.php?p=1609992>`__ +- `​http://de.wikipedia.org/wiki/Network_File_System <http://de.wikipedia.org/wiki/Network_File_System>`__ + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/nfs.rst b/wiki/packages/nfs.rst new file mode 100644 index 0000000..e60a0b9 --- /dev/null +++ b/wiki/packages/nfs.rst @@ -0,0 +1,56 @@ +packages/nfs +============ +.. _NFS: + +NFS +=== + +Um den doch etwas begrenzten Speicherplatz zu erweitern, kann man die +Fritzbox als NFS-Client benutzen. Da es kein Webinterface für diese +Funktion gibt muss das manuell erledigt werden. Zur Nutzung von +NFS-Shares muss das NFS-Kernel-Modul im menuconfig ausgewählt werden. +Abhängig von der verwendeten Konfiguration kann NFS auch fest im Kernel +sein. Dann kann man das modprobe weglassen und der mount-Befehl reicht +aus. + +:: + + modprobe nfs + mount -t nfs -o soft server:/export/fritzbox mountpunkt + +Damit das nach dem Hochfahren der Fritzbox automatisch passiert kann man +z.B. das hier in die debug.cfg einbauen: + +:: + + ( + nfssrv=mein.server.zu.hause + + while ! ping -c 1 $nfssrv ; do + sleep 30 + done + + base=/var/mod/root + mkdir $base/mnt + modprobe nfs + mount -t nfs -o soft $nfssrv:/export/fritzbox $base/mnt + + cd $base + + $base/mnt/startup.sh + ) 2>&1 | logger & + +Damit wird gewartet, bis der NFS-Server erreichbar ist, dann gemountet +und gleich ein dort liegendes ``startup.sh`` ausgeführt. + +.. _Alternative: + +Alternative +----------- + +Komfortabler geht das ganze mit `autofs <autofs.html>`__, damit werden +die Verzeichnisse nur bei Bedarf gemountet. + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/nfsd.en.rst b/wiki/packages/nfsd.en.rst new file mode 100644 index 0000000..32a6a62 --- /dev/null +++ b/wiki/packages/nfsd.en.rst @@ -0,0 +1,270 @@ +packages/nfsd.en +================ +.. _NFSD_CGI: + +NFSD_CGI +-------- + +| NFSD_CGI is the web-interface for the NFSD (Server) on Freetz. + +| Some observations: +| Currently using NFS with a 7390 using Freetz-trunk revision 11466. +| Using this revision I didn't observe permission issues like with + Freetz-1.2 for my 7270v3. +| As mount I'm using a `NDAS-NetDisk <ndas.html>`__ which is Ext3 + formatted. + +.. _etcexportsexportsinGUI: + +/etc/exports (exports in GUI) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| My currect config allows 192.168.178.0/24 and localhost (for the local + NFS Client). + +.. code:: wiki + + /var/media/ndas/ext3 192.168.178.0/255.255.250.0(rw,no_subtree_check) localhost(rw) + +/etc/hosts.allow +~~~~~~~~~~~~~~~~ + +| Looks only the first two lines are needed, but the others should not + harm. + +.. code:: wiki + + mountd,nfsd,portmap: 192.168.178.0/255.255.255.0 , localhost + lockd: 192.168.178.0/255.255.255.0 , localhost + rquotad: 192.168.178.0/255.255.255.0 , localhost + statd: 192.168.178.0/255.255.255.0 , localhost + +/etc/hosts.deny +~~~~~~~~~~~~~~~ + +| Only deny the NFS related services + +.. code:: wiki + + mountd,nfsd,portmap:ALL + lockd:ALL + rquotad:ALL + statd:ALL + +.. _VerificationonServer:: + +Verification on Server: +~~~~~~~~~~~~~~~~~~~~~~~ + +| Below some helpfull commands for trouble-shooting on the server. +| Unfortunately ``rpcinfo`` and ``nfsstat`` where not available on my + FB. Maybe ``rpcinfo`` is available if 'replace kernel' is used. + +List of kernel supported filesystems by the FB: + +.. code:: wiki + + cat /proc/filesystems + +| Just look if the filesystems you are planning to use are listed. + +.. code:: wiki + + /etc/init.d/rc.nfsd status + +| Status should be ``running``. Use the following ``ps`` command first + to see which processes are actually running before restarting the nfs + server. + +.. code:: wiki + + ps -wl | grep 'nfs\|portmap\|lockd\|statd\|mountd\|quota' + +| portmap, lockd, mountd, and nfsd should be all listed as a process. +| You can use ``/etc/init.d/rc.nfsd stop`` and + ``/etc/init.d/rc.nfsd start`` to stop and start the nfs server. + +.. code:: wiki + + exportfs + +| Should show the hosts or subnets (incl. localhost if configured) + configured in /etc/exports + +.. code:: wiki + + mount + +| Look that the mounted disk allows rw (if intended) + +If you also have the `NFS Client </wiki/packages/nfs.en>`__ installed on +the FB, the following verification is available: + +.. code:: wiki + + mount -t nfs localhost:/<share-path> /<mount-point> + +To show from the server which nfs exports are in use: + +.. code:: wiki + + showmount --all + showmount --exports + +To verify layer-4 network information (e.g. used ports): + +.. code:: wiki + + netstat -anp + +| + +.. code:: wiki + + logread + +.. _rsizeandwsizebuffers: + +rsize and wsize buffers +~~~~~~~~~~~~~~~~~~~~~~~ + +| The read and write buffers are assigned during the ``mount`` on the + client. +| The server supports a buffer size that range from 4kbytes to + 1024kbytes (RPCSVC_MAXPAYLOAD (1*1024*1024u)) in steps of 1kbyte. +| Finding the optimal buffer size is normally the best option to get a + better performance. +| I only have a ndas Net-Disk mounted, and found that all rsize values + had a similar variation in the results. +| The FB CPU is the bottleneck. +| It might be interesting to retest this with a USB-stick to see if than + varying the buffersizes would show a difference. + +| I tested the performance with + `​Bonnie++ <http://www.coker.com.au/bonnie++>`__ using one of the + `​experimental + versions <http://www.coker.com.au/bonnie++/experimental/>`__ + +.. _Bonnie: + +Bonnie++ +^^^^^^^^ + +| For this I used two scripts to: run the test, unmount/mount both + client and server mounts, restart nfsd, and mounted the client with a + different rsize parameter. +| During the tests I only varied the rsize parameter, because I'm only + interested in the read optimalisation now, but changing both wsize and + rsize is also possible. +| Each test takes about 35 minutes (with 1gigbyte transfers), so you can + do about 16 overnight. +| Here the scripts I used: + +main script: + +.. code:: wiki + + #!/bin/sh + + # the initial test with a rsize of 32768 (=32k) and increased with steps of 32k to 1024k + # rsize=32768 + # for the second test again 32 test using 1gigabyte using the best result -16*1k to +16*1k + # rsize to test is rsize=294912. Start rsize is + rsize=(294912-16384) + i=1 + date > results.txt + date +%s >> results.txt + while [ $i -le 32 ]; do + echo ======================================================= >> results.txt + echo ======================================================= + echo setup bonny++ test with rsize of $(($rsize+1024*$i)) + echo setup bonny++ test with rsize of $(($rsize+1024*$i)) >> results.txt + mount -o hard,intr,rsize=$(($rsize+1024*$i)) 192.168.178.1:<full_share_path> <local_mount_point> + bonnie++ -d <local_mount_point> -s 1g -n 0 -m nfs_client_$rsize -f -b -u root >> results.txt 2>> results.txt + echo ======================================================= >> results.txt + umount <local_mount_point> + expect autologin.sh + i=$(($i + 1)) + done + date >> results.txt + date +%s >> results.txt + +expect script: + +.. code:: wiki + + #!/usr/bin/expect + + spawn ssh root@192.168.178.1 + # expect "connecting (yes/no)?" + # send "yes\r" + expect "assword:" + send "<your_passwd>\r" + expect "#" + send "/etc/init.d/rc.nfsd stop\r" + expect "done." + send "umount /dev/nda2\r" + expect "#" + send "mount /dev/nda2 <mount-point>\r" + expect "#" + send "/etc/init.d/rc.nfsd start\r" + expect "done." + +You can obtain a nice html page of your results with: + +.. code:: wiki + + cat results.txt | grep ,,, | bon_csv2html > /tmp/nfs_client_test.html + +But you can also use the csv format output in an Excel sheet. I attached +3 html files showing my results. + +.. _MRTGCPUUtil: + +MRTG CPU Util +^^^^^^^^^^^^^ + +.. figure:: /screenshots/276.png + :alt: CPU Util 7390 bonnie++ test script + + CPU Util 7390 bonnie++ test script + +| In the `MRTG <netsnmp.en.html>`__ graph of the CPU Utilization you can + clearly see that the CPU Utilization is the bottleneck in my setup + using a `NDAS NetDisk <ndas.html>`__. +| The picture shows I started the test at about 7:20am which took until + 1:10am the next day. +| Than I did two manual bonny++ tests at 1:15am and 2am. Than started a + new batch test using the scripts at about 2:45am. + +.. _References: + +References +~~~~~~~~~~ + +| `​NFS howto <http://nfs.sourceforge.net/nfs-howto/index.html>`__ +| `​bonnie++ <http://www.coker.com.au/bonnie++/>`__ and the + `​experimental <http://www.coker.com.au/bonnie++/experimental/>`__ + page +| `​bonnie++ examples <http://www.googlux.com/bonnie.html>`__ + +Anhänge (3) +~~~~~~~~~~~ + +- `ndas_nfs_client_32k_1024k.html </attachment/wiki/packages/nfsd.en/ndas_nfs_client_32k_1024k.html>`__\ `​ </raw-attachment/wiki/packages/nfsd.en/ndas_nfs_client_32k_1024k.html>`__ + (33.3 KB) - hinzugefügt von *RomMon* `vor 4 + Jahren </timeline?from=2014-01-04T16%3A27%3A55Z&precision=second>`__. + “Bonnie++ test results 7390 rsize from 32kbytes to 1024kbytes with + 32kbytes steps” +- `ndas_nfs_client_288k_test.html </attachment/wiki/packages/nfsd.en/ndas_nfs_client_288k_test.html>`__\ `​ </raw-attachment/wiki/packages/nfsd.en/ndas_nfs_client_288k_test.html>`__ + (33.3 KB) - hinzugefügt von *RomMon* `vor 4 + Jahren </timeline?from=2014-01-04T16%3A30%3A22Z&precision=second>`__. + “„Bonnie++ test results 7390 rsize 288k plus/minus 16k in steps of + 1k” +- `ndas_nfs_client_287k_test.html </attachment/wiki/packages/nfsd.en/ndas_nfs_client_287k_test.html>`__\ `​ </raw-attachment/wiki/packages/nfsd.en/ndas_nfs_client_287k_test.html>`__ + (10.3 KB) - hinzugefügt von *RomMon* `vor 4 + Jahren </timeline?from=2014-01-04T16%3A31%3A17Z&precision=second>`__. + “Bonnie++ test results 7390 rsize is 287k 8 repeates” + +Alle Anhänge herunterladen als: +`.zip </zip-attachment/wiki/packages/nfsd.en/>`__ diff --git a/wiki/packages/nfsd.rst b/wiki/packages/nfsd.rst new file mode 100644 index 0000000..c3cb2c6 --- /dev/null +++ b/wiki/packages/nfsd.rst @@ -0,0 +1,118 @@ +packages/nfsd +============= +*TODO: Hinweise aus Forums Thread reinkopieren?* + +.. _NFSD_CGI: + +NFSD_CGI +======== + +**NFSD-CGI** bietet die Möglichkeit die FritzBox als NFS-Server zu +betreiben. Hiermit kann zum Beispiel von einer dbox2 direkt auf einen +angeschlossenen USB-Datenträger gestream werden. Richtig gut +funktioniert das aber nur mit einer 7270. Die Administration des Servers +erfolgt über das Webinterface. Hier kann die Startart (``automatisch`` +oder ``manuell``) ausgewählt werden und es können die 3 +Konfigurationsdateien ``exports``, ``hosts.allow`` und ``hosts.deny`` +bearbeitet werden.NFSD-CGI bedient sich der Pakete nfs-utils, portmap +und tcp_wrappers. Dieses werden automatisch bei der Anwahl von NFSD-CGI +mit ausgewählt und verbrauchen etwas Speicher. + +.. _Hinweise: + +Hinweise +-------- + +NFSD-CGI wählt automatisch die nfs-utils (ca. 120kb), sowie portmap (ca. +20kb)(\ *insgesamt* ca. 200kb). Braucht man zu einem späteren Zeitpunkt +NFS nicht mehr, genügt es nicht, im ``menuconfig`` NFSD-CGI abzuwählen - +auch die Pakete nfs-utils und portmap müssen wieder abgewählt werden und +ein anschließendes ``make config-clean-deps`` beseitigt die restlichen +überbleibsel. Für Kernel 2.6.13.1 werden außerdem die Module nfsd, lockd +und sunrpc benötigt. Bei 2.6.19.2 sind diese bereits fest im Kernel +eingebaut. + +.. _Exampleconfiguration: + +Example configuration +--------------------- + +get uid and gid: + +.. code:: wiki + + id -u bittorrent + id -g bittorrent + +export: + +.. code:: wiki + + /var/media/ftp/uData *(rw,all_squash,anonuid=100,anongid=1,insecure,sync,subtree_check) + +hosts.allow: + +.. code:: wiki + + mountd,nfsd,portmap: 192.168.178.0/255.255.255.0 + +hosts.deny: + +.. code:: wiki + + ALL: ALL + +Ubuntu client: + +.. code:: wiki + + sudo mount -t nfs -o vers=3,rw,rsize=65536,wsize=65536 fritz.box:/var/media/ftp/uData /media/uData + +Line in /etc/fstab: + +.. code:: wiki + + fritz.box:/var/media/ftp/uData /media/uData nfs vers=3,rw,rsize=65536,wsize=65536 + +Maximum block size: + +.. code:: wiki + + cat /proc/fs/nfsd/max_block_size + +To change the block size, first stop *nfsd* and execute these commands: + +.. code:: wiki + + mount -t nfsd nfsd /proc/fs/nfsd + echo 65536 > /proc/fs/nfsd/max_block_size + +.. _Fehlerquellen: + +Fehlerquellen +------------- + +- Falls die NFS-Freigabe nicht beschreibbar ist, dann kann das an den + verwendeten Optionen in der export liegen: + + .. code:: wiki + + no_root_squash,anonuid=0,anongid=0 + +Diese Optionen bewirken, dass der root-User des Clients auch als root +auf dem Server schreiben darf. Und dass der Benutzer nobody die uid/gid +0 benutzt. + +.. _Links: + +Links +----- + +- `​Man page nsfd <http://linux.die.net/man/8/nfsd>`__ +- `​Man page exports <http://linux.die.net/man/5/exports>`__ + +- Tags +- `cgi </tags/cgi>`__ +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ diff --git a/wiki/packages/nhipt.en.rst b/wiki/packages/nhipt.en.rst new file mode 100644 index 0000000..20cec3b --- /dev/null +++ b/wiki/packages/nhipt.en.rst @@ -0,0 +1,311 @@ +packages/nhipt.en +================= +Table of contents +^^^^^^^^^^^^^^^^^ + +#. `MOTIVATION <nhipt.en.html#MOTIVATION>`__ +#. `PREREQUISITES: <nhipt.en.html#PREREQUISITES:>`__ +#. `YOU HAVE THE CHOICE OF 3 INSTALL + OPTIONS: <nhipt.en.html#YOUHAVETHECHOICEOF3INSTALLOPTIONS:>`__ + + #. `nhipt.cgi.(version).tar.gz <nhipt.en.html#nhipt.cgi.version.tar.gz>`__ + #. `ipt.(version).tar.gz <nhipt.en.html#ipt.version.tar.gz>`__ + #. `use make menuconfig <nhipt.en.html#usemakemenuconfig>`__ + +#. `BEHIND THE SCENES: <nhipt.en.html#BEHINDTHESCENES:>`__ + + #. `Further information: <nhipt.en.html#Furtherinformation:>`__ + #. `Boot process <nhipt.en.html#Bootprocess>`__ + #. `config file <nhipt.en.html#configfile>`__ + #. `files contained in the freetz + package <nhipt.en.html#filescontainedinthefreetzpackage>`__ + +#. `RECOMMENDATIONS: <nhipt.en.html#RECOMMENDATIONS:>`__ +#. `DOWNLOAD <nhipt.en.html#DOWNLOAD>`__ + +.. _NHIPT-iptablesfirewallGUI: + +NHIPT - iptables firewall GUI +============================= + +.. _MOTIVATION: + +MOTIVATION +---------- + + iptables is a command-line interface for configuring the high - + sophisticated + `​netfilter <http://de.wikipedia.org/wiki/Netfilter/iptables>`__ + Linux kernel firewall. The nhipt web front-end exposes the whole + potential of iptables in a user-friendly UI of your FritzBox and + leverages this consumer device to the level of a professional + firewall, supporting both IPv4 & IPv6 Layer-3 protocols. The UI can + be either integrated in your firmware image or run stand-alone + externally from an attached device (e.g. USB-Stick). + +.. _PREREQUISITES:: + +PREREQUISITES: +-------------- + +- iptables have to be **installed and running**. + It is recommended to build at least the following kernel modules in + your firmware image (the more you choose, the more fun you'll have): + +.. + + +-------------------+----------------------+----------------+-----------------+ + | \* ip_tables | \* ip_conntrack | \* ipt_log | \* xt_state | + | \* x_tables | \* ip_conntrack_ftp | \* ipt_REJECT | \* xt_conntrack | + | \* iptable_filter | \* ip_conntrack_tftp | \* ipt_iprange | \* xt_multiport | + | | | | \* xt_tcpudp | + +-------------------+----------------------+----------------+-----------------+ + + **!!! Please don't forget to include the according shared libraries + too in your firmware image !!!** + +.. + + | The ideal build includes a replaced kernel with autoload kernel + modules enabled (**make kernel-menuconfig** → **L**\ oadable + modules support → **A**\ utomatic kernel module loading). + | Prior to first use you must start iptables either by : **iptables + -S** *(if you have a replaced kernel with automatic kernel modules + loading)* + | or (whithout autoload) by using **modprobe <modulname>** for each + module. + +.. _YOUHAVETHECHOICEOF3INSTALLOPTIONS:: + +YOU HAVE THE CHOICE OF 3 INSTALL OPTIONS: +----------------------------------------- + +nhipt.cgi.(version).tar.gz +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + This is the naked GUI - you can run it directly from an USB stick, + without the integration in freetz. + +**Installation:** + +- copy the file **nhipt.cgi** to your stick (e.g. to: + /var/media/ftp/uStor01/**ipt/cgi-bin**) +- set execute permissions to the file. +- set up the httpd deamon for the UI on the folder above of the cgi-bin + (e.g. to\ **/ipt**) and use a free tcp port (e.g. 83). + +.. code:: wiki + + chmod +x /var/media/ftp/uStor01/ipt/cgi-bin/nhipt.cgi + httpd -P /var/run/nhipt.pid -p 83 -h /var/media/ftp/uStor01/ipt + +.. + + Now you can access the UI via + `​http://fritz.box:83/cgi-bin/nhipt.cgi <http://fritz.box:83/cgi-bin/nhipt.cgi>`__ + +ipt.(version).tar.gz +~~~~~~~~~~~~~~~~~~~~ + + The external comfort package with freetz integration + +**Installation:** + +- unpack to **/var/media/ftp/uStor01/**. +- set execute permissions to **register.sh** +- run **register.sh** + +.. code:: wiki + + chmod +x /var/media/ftp/uStor01/ipt/register.sh + . /var/media/ftp/uStor01/ipt/register.sh + +.. + + Now you should have a brand-new package in the freetz UI, where + you can configure all the installation options. + +.. _usemakemenuconfig: + +use *make menuconfig* +~~~~~~~~~~~~~~~~~~~~~ + + Install the UI permanent in your firmware using the recent trunk. + +**Installation:** + + | start with **make menuconfig**, go to **P**\ ackage Selection → + **W**\ eb Interface → select option **NHIPT Iptables CGI**. + | Now you get all iptables modules listed for your convenience. Make + your selections and create your firmware the usual way. + +.. _BEHINDTHESCENES:: + +BEHIND THE SCENES: +------------------ + +.. _Furtherinformation:: + +Further information: +~~~~~~~~~~~~~~~~~~~~ + +- `iptables Wiki for beginners <iptables.en.html>`__ +- `​Windows Ports & + Services <http://technet.microsoft.com/en-us/library/cc959833%28printer%29.aspx>`__ + +.. + + The interface reads interactively the current rule set of your + firewall and enables you to edit all rules, tables, chains, policies + etc. online and life! This means, after submitting your changes the + new rule immediately takes effect. The bad news are: You can + accidentally lock out yourself - the good news are: it does not + matter - the rule is not persistently saved - just reboot your box to + the last known good rule set. When you have finished playing around + with your rules and everything works as you like it you can click on + **[Persist rules]** to save your work permanently and + reboot-resistant either to the flash memory of the box or to the + attached USB device **[BOOT FROM FLASH / USB] + [SET BOOT + DIRECTORY]**. You can either use the guided UI to alter / add your + rules for each chain or you can enter your rules using the command + line expert interface on top. To add additional tables and modules + use the selection checkboxes or modprobe them by hand in the expert + UI. If you have ipv6 enabled and loaded, the UI also shows you the + filter tables for ipv6. + + For security reason you can limit the access to the UI to a dedicated + Admin-IP or Admin-IP-Range using: **[SET / CHANGE ADMIN IP]**. + +.. + + For the DECT boxes there is an option to set up an internal log + deamon to catch the deviated kernel messages and present them in the + UI. The log directory can be set up to any writeable destination. + + Error and system messages are shown in the bottom lines of the UI for + your information, status 0 means OK. + +.. _Bootprocess: + +Boot process +~~~~~~~~~~~~ + +- **debug.cfg** can be used to bootstrap the iptables rulset. +- **rc.nhipt load** is called by **rc.mod** / **run level 20** and + checks, if debug.cfg has startet the firewall, otherwise + */tmp/flash/nhiptboot.cfg* is called to initialize the firewall +- **debug.cfg** and **nhiptboot.cfg** use the same script settings and + + - wait - if configured for USB ready or time-out + - copy the settings file **nhipt.par** as configured from the source + (flash / USB) to the RAM disc + - copy the start script **nhipt.cfg** to the RAM disc + - run the start script **nhipt.cfg** detached in the background. + +- **nhipt.cfg**: + + - stop dsld if configured for security reason + - wait for delay timer (if configured to prevent mistakenly + lock-out) + - start dsld if configured + - start Web-Server for the UI + - start internal log-deamon if configured + - load all saved rules + +.. + + **Scenario 1:** stand-alone CGI - boots always from *debug.cfg*, + rules can be saved either to the flash or to the usb stick. + + **Scenario 2:** dynamic freetz - boots either from *debug.cfg* or + delayed from *freetz rc.custom* (rc.custom is used to re-integrate + the dynamic modules in freetz after reboot) + +.. + + **Scenario 3:** *Runlevel of Freetz* - integrated start-up, + optional *debug.cfg* can be used for early protection. + +.. _configfile: + +config file +~~~~~~~~~~~ + +| At run-time you'll find it here: */var/tmp/nhipt.par*, persistently + stored at BOOTDIR along with the *nhipt.cfg* + +.. code:: wiki + + BACK=/var/media/ftp/uStor01/save + CHANGED=0 + DELAY=0 + LOGTARGET=internal + DSLDOFF=0 + ADMINIP= + LOGD=/var/media/ftp/uStor01/log + AIRBAG=0 + MYIP= + BOOTSTRAP=freetz + PORT=83 + BOOT=flash + BOOTDIR=/tmp/flash + ROOT=/usr/ipt + +.. _filescontainedinthefreetzpackage: + +files contained in the freetz package +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + /etc/default.nhipt/nhipt.cfg rwxrwxrwx # config for freetz UI + /etc/init.d/rc.nhipt r-xr-xr-x # call-back for freetz UI, boot loader + /usr/ipt/index.html r--r--r-- # frameset for UI + /usr/ipt/cgi-bin/nhipt.cgi r-xr-xr-x # the CGI for iptables + /lib/cgi-bin/nhipt.cgi r-xr-xr-x # the CGI for freetz settings + +.. _RECOMMENDATIONS:: + +RECOMMENDATIONS: +---------------- + +Unexperianced users should read this carefully to prevent permanent +lock-outs. + +Firewalls protect systems from intruders based on rules and policies. +They are obeyed by the system - the system cannot guess who is good and +who's bad. Eventually even experienced firewall admin's can lock +themselves out. It is good to know, how to recover from this in advance. + + The following hints can make your life easier: + +- you can look at all scripts - but don't change them manually, if you + are not certain what they do exactly. +- save rule sets permanently only if everything works as it should - + test at least your admin access to the box. Use the BackUp Option so + you can start over from a known-good set-up. +- Use in the beginning the usb stick as boot target. If you lock-out + yourself - just pull out the stick and reboot. No iptables will be + loaded! +- For Newbees there is a **[safe]** Mode. The firewall automatically + takes care, that under all circumstances the Admin-IP will not be + locked-out from the box (IPv4 only). +- switching back to **[advanced]** lets you remove this safety rules + later. +- use the **[Boot-Delay]** option - this gives you some time to login + and kill your naughty rule-set. +- if you enter a wrong Admin-IP and lock yourself out from the UI - no + problem. Use freetz UI to fix or edit **/var/tmp/nhipt.par** - Delete + the ADMINIP= Entry. +- if you ignore all this hints and finally lock yourself - the last + chance is to flash a brand new image without iptables and delete the + rules manually. + +.. _DOWNLOAD: + +DOWNLOAD +-------- + + The latest version can be downloaded here: `​IPPF + Forum <http://www.ip-phone-forum.de/showpost.php?p=1420252&postcount=1>`__, + there are also tons of information to read in the forum. diff --git a/wiki/packages/nhipt.rst b/wiki/packages/nhipt.rst new file mode 100644 index 0000000..b25333a --- /dev/null +++ b/wiki/packages/nhipt.rst @@ -0,0 +1,440 @@ +packages/nhipt +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `MOTIVATION <nhipt.html#MOTIVATION>`__ +#. `VORAUSSETZUNGEN: <nhipt.html#VORAUSSETZUNGEN:>`__ +#. `ES STEHEN 3 PAKETE ZUR + AUSWAHL: <nhipt.html#ESSTEHEN3PAKETEZURAUSWAHL:>`__ + + #. `nhipt.cgi.(version).tar.gz <nhipt.html#nhipt.cgi.version.tar.gz>`__ + #. `ipt.(version).tar.gz <nhipt.html#ipt.version.tar.gz>`__ + #. `Über make menuconfig <nhipt.html#Übermakemenuconfig>`__ + +#. `ARBEITSWEISE: <nhipt.html#ARBEITSWEISE:>`__ + + #. `Tipps & Literatur: <nhipt.html#TippsLiteratur:>`__ + #. `Bootprozess <nhipt.html#Bootprozess>`__ + #. `Konfigurationsdatei <nhipt.html#Konfigurationsdatei>`__ + #. `Dateien im freetz Paket <nhipt.html#DateienimfreetzPaket>`__ + +#. `GUT GEMEINTE RATSCHLÄGE: <nhipt.html#GUTGEMEINTERATSCHLÄGE:>`__ +#. `DOWNLOAD <nhipt.html#DOWNLOAD>`__ +#. `BEKANNTE PROBLEME <nhipt.html#BEKANNTEPROBLEME>`__ +#. `SCREENSHOTS <nhipt.html#SCREENSHOTS>`__ + +.. _NHIPT-iptablesfirewallGUI: + +NHIPT - iptables firewall GUI +============================= + +.. figure:: /screenshots/178.jpg + :alt: nhipt Seite im Freetz Webinterface + + nhipt Seite im Freetz Webinterface + +.. _MOTIVATION: + +MOTIVATION +---------- + + iptables ist ein Kommandozeilen User Interface zur Konfiguration / + Verwaltung der im jeweiligen Linux Kernel eingebauten sehr mächtigen + `​netfilter <http://de.wikipedia.org/wiki/Netfilter/iptables>`__ - + Firewall Funktionen. Mit dem nhipt - Web Interface kann man das + gesamte Spektrum von iptables über eine benutzerfreundliche + Oberfläche an der Fritz-Box nutzen. Das cgi kann als Paket sowohl in + die Firmware integriert, als auch stand-alone als externes Paket + genutzt werden. + +.. _VORAUSSETZUNGEN:: + +VORAUSSETZUNGEN: +---------------- + +- nhipt wurde für die 7270 erstellt und läuft auf alle 72xx Boxen mit + dem neuen Kernel problemlos, 71xx / 70xx Boxen mit dem alten Kernel + können mit Einschränkungen ebenfalls genutzt werden +- Einschränkungen bei Verwendung von Boxen mit älterem Kernel + (71xx/70xx): + + - Systemwarnungen beim Versuch (nichtexistierender) Kernelmodule zu + laden + - Conntrack Regeln können Probleme bereiten + +- nhipt läuft auch auf der 7390 sehr gut, Voraussetzung ist allerdings + das Einspielen des unten angehängten Patches, sonst sieht man nur + einen weißen Bildschirm. +- iptables müssen **vorhanden sein und laufen**. + Mindestens folgende Module sollten im Freetz-Image sein (wer Platz + hat, lieber alle, dann kann das Interface sein Potential voll + entfalten): + +.. + + +-------------------+----------------------+----------------+-----------------+ + | \* ip_tables | \* ip_conntrack | \* ipt_log | \* xt_state | + | \* x_tables | \* ip_conntrack_ftp | \* ipt_REJECT | \* xt_conntrack | + | \* iptable_filter | \* ip_conntrack_tftp | \* ipt_iprange | \* xt_multiport | + | | | | \* xt_tcpudp | + +-------------------+----------------------+----------------+-----------------+ + + **!!! Bitte nicht vergessen, auch die zugehörigen shared libraries + in die Firmware zu integrieren !!!** + +.. + + Ideal ist ein Build mit Replaced Kernel und eingeschalteter + Autoload modules Funktion des Kernels: + + .. code:: wiki + + user@Linux: make kernel-menuconfig + (L)oadable modules support + (A)utomatic kernel module loading + + | Vor dem ersten Start **iptables -S** eingeben, um iptables zu + laden *(bei Built mit replaced kernel und automatic kernel + module loading)* + | Alternativ (ohne autoload Option) mit **modprobe <modulname>** + die oben genannten iptables Module einzeln laden. + +.. _ESSTEHEN3PAKETEZURAUSWAHL:: + +ES STEHEN 3 PAKETE ZUR AUSWAHL: +------------------------------- + +nhipt.cgi.(version).tar.gz +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Das ist das reine GUI, es läuft direkt vom Stick ohne Integration in + freetz. + +**Installation:** + +- Datei **nhipt.cgi** z.B. im Verzeichnis (z.B.: + /var/media/ftp/uStor01/**ipt/cgi-bin** auf dem stick auspacken +- execute Rechte darauf setzen. +- einen httpd-Dienst auf das übergeordnete Verzeichnis **/ipt** und + einem freien port (z.B. 83) einrichten. + +.. code:: wiki + + chmod +x /var/media/ftp/uStor01/ipt/cgi-bin/nhipt.cgi + httpd -P /var/run/nhipt.pid -p 83 -h /var/media/ftp/uStor01/ipt + +.. + + Aufgerufen wird das Interface mit + `​http://fritz.box:83/cgi-bin/nhipt.cgi <http://fritz.box:83/cgi-bin/nhipt.cgi>`__ + +ipt.(version).tar.gz +~~~~~~~~~~~~~~~~~~~~ + + Das ist das Advanced-Comfort Paket mit dynamischer Freetz + Integration. + +**Installation:** + +- auf **/var/media/ftp/uStor01/** entpacken. +- Datei **register.sh** mit execute rechten versehen +- Das Script **register.sh** ausführen + +.. code:: wiki + + chmod +x /var/media/ftp/uStor01/ipt/register.sh + . /var/media/ftp/uStor01/ipt/register.sh + +.. + + Im Freetz ist nun ein neues Paket zu sehen. Dort kann man den Rest + konfigurieren und das Interface starten. + +.. _Übermakemenuconfig: + +Über *make menuconfig* +~~~~~~~~~~~~~~~~~~~~~~ + + | Das GUI wird in den ROM der FritzBox über den Firmware build + integriert, (z.Zt. nur im aktuellen trunk oder als patch) + +**Installation:** + + | *Bei Verwendung des Patches* nhipt.patch(ver).tar.gz + + | in den freetz ordner wechseln, patch hineinkopieren und + anwenden: *patch -p0 < nhipt.patch* + | in den Ordner *make/nhipt/files/root/…* wechseln und die execute + Rechte auf alle Dateien setzen (Siehe DATEIEN IM FREETZ PAKET + weiter unten) + +.. + + | **make menuconfig** aufrufen, im Bereich **P** ackage Selection —→ + **W** eb Interface —→ die Option **NHIPT Iptables CGI** anwählen. + | Nun werden alle iptables Module als Untermenu sichtbar und können + zusammengestellt werden. Danach die übliche Vorgehensweise zum + Firmware Bauen…. + +.. _ARBEITSWEISE:: + +ARBEITSWEISE: +------------- + +.. _TippsLiteratur:: + +Tipps & Literatur: +~~~~~~~~~~~~~~~~~~ + +- `Wiki zu iptables für Einsteiger <iptables.html>`__ +- `​Von Windows verwendete Ports & + Services <http://technet.microsoft.com/en-us/library/cc959833%28printer%29.aspx>`__ + +.. + + Es werden alle aktiven Regeln aufgelistet und können wie üblich + sofort bearbeitet werden. Reboot-Fest werden die Regeln durch die + Speicherfunktion **[Persist rules]** . Das erzeugte Start-Script + kann entweder im Flash der Box oder extern abgelegt werden **[BOOT + FROM FLASH / USB] + [SET BOOT DIRECTORY]** . Beim Start wird es + von der debug.cfg automatisch zum Leben erweckt. Die Regeln können + sowohl per Masken-Auswahl (die passenden Module werden für die + meisten Regeln an Hand der Parameter automatisch ermittelt), als + auch im Expert Mode (Kommandozeile mit iptables syntax) eingegeben + werden, sie wirken stets sofort. + + Alle Tabellen, sowie die wichtigsten Erweiterungen von + **conntrack** und **nat** kann man im User Interface anwählen, sie + werden automatisch geladen oder beim Abwählen - wenn möglich - + entladen, das Interface unterstützt sowohl IPv4 als auch IPv6 + Regelwerke (bei eingeschaltetem ipv6 auf der Box). + +.. + + Wenn man eine Admin Adresse oder Subnetz im Feld **[CHANGE ADMIN + IP]** einträgt, kann man die Konfiguration nur noch von dieser IP + aus ausführen, die Sperre bleibt auch über eine Reboot hinaus + wirksam. + + Zusätzlich besitzt das CGI eine eigene Log-Funktion für die DECT + Boxen. Das cgi übernimmt auf Wunsch hierfür alle nötigen + Einstellungen, das Log-Verzeichnis ist frei wählbar. + +.. + + Die Fehlermeldungen, Systemmeldungen etc. von iptables und dem UI + werden in die Status - Zeilen unterhalb des Regelwerkes + ausgegeben, Status 0 ist immer OK. + +.. _Bootprozess: + +Bootprozess +~~~~~~~~~~~ + +- **debug.cfg** kann die Einstellungen in die RAM-Disk kopieren und die + Initialisierung starten. +- **rc.nhipt load** wird von **rc.mod** / **run level 20** aufgerufen + und prüft, ob die Settings bereits in der RAM Disk sind (durch + vorherigen boot mit **debug.cfg**). Sind sie es nicht, wird + */tmp/flash/nhiptboot.cfg* aufgerufen (die an Stelle der *debug.cfg* + die Initialisierung übernimmt) +- **debug.cfg** und **nhiptboot.cfg** sind inhaltlich identisch + aufgebaut + + - sie warten bei Bedarf auf USB Stick + - kopieren von bekannter Stelle (flash / USB) die Settings + **nhipt.par** in die RAM Disk + - kopieren Start Script **nhipt.cfg** in die RAM Disk + - starten Firewall Start Script **nhipt.cfg** und schicken es in den + Hintergrund. + +- **nhipt.cfg**: + + - dsld (wenn eingestellt) stoppen + - Verzögeriungstimer (wenn eingestellt) abwarten + - dsld (wenn eingestellt) starten + - Web-Server für UI starten, + - Interner Log Service (wenn eingestellt) starten, + - Firewall Rules laden + +.. + + **Szenario 1:** Standalone CGI - bootet immer von *debug.cfg* , + Regeln im flash / stick + + **Szenario 2:** dynamisches freetz - bootet entweder von der + *debug.cfg* oder verspätet über *freetz rc.custom* beim + Integrieren der cgi in freetz (install script für freetz + Integration trägt sich in die rc.custom automatisch ein für reboot + Fähigkeit) + +.. + + **Szenario 3:** Integration in die *Runlevel von Freetz* , + optional weiterhin über *debug.cfg* . + +.. _Konfigurationsdatei: + +Konfigurationsdatei +~~~~~~~~~~~~~~~~~~~ + +| Die Konfigurationsdatei ist zur Laufzeit unter */var/tmp/nhipt.par* zu + finden, reboot-fest wird sie in BOOTDIR zusammen mit der *nhipt.cfg* + abgelegt + +.. code:: wiki + + BACK=/var/media/ftp/uStor01/save + CHANGED=0 + DELAY=0 + LOGTARGET=internal + DSLDOFF=0 + ADMINIP= + LOGD=/var/media/ftp/uStor01/log + AIRBAG=0 + MYIP= + BOOTSTRAP=freetz + PORT=83 + BOOT=flash + BOOTDIR=/tmp/flash + ROOT=/usr/ipt + +.. _DateienimfreetzPaket: + +Dateien im freetz Paket +~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + /etc/default.nhipt/nhipt.cfg rwxrwxrwx # config für freetz maske + /etc/init.d/rc.nhipt r-xr-xr-x # call-back für freetz maske, boot loader + /usr/ipt/index.html r--r--r-- # frameset für UI + /usr/ipt/cgi-bin/nhipt.cgi r-xr-xr-x # das CGI für iptables + /lib/cgi-bin/nhipt.cgi r-xr-xr-x # das CGI für freetz Einstellungen + +.. _GUTGEMEINTERATSCHLÄGE:: + +GUT GEMEINTE RATSCHLÄGE: +------------------------ + + Noch eins zum Thema Aussperren, für alle, die noch nie eine Firewall + installiert haben. + +.. + + Firewalls schützen Systeme vor unbefugtem Zugriff auf der Basis von + Regeln, diese werden stur und kosequent ausgeführt. Das kann dazu + führen, dass jemand, der sich vorher nicht ausreichend Gedanken über + seine Regeln gemacht hat, sich vom System selbst aussperrt. Das + passiert Laien oft, und auch Profis sind nicht immer davor sicher. + + Damit die Konsequenzen nicht zu drastisch sind, hier ein paar + Empfehlungen / Regeln für den Anfänger: + +- Schauen ist OK, manuelles Ändern an Scripten ist tabu , wenn man + nicht vorzeitig graue Haare bekommen will. +- Regelwerke erst dauerhaft speichern **[Persist rules]**, wenn alles + funktioniert, wie es soll. Ein Reboot lädt das letzte gespeicherte + Regelwerk, und alles ist wieder OK, ältere Versionen werden als + Backup mit Zeitstempel im **[SET BACKUP DIRECTORY]** Verzeichnis + abgelegt. +- Am Anfang lieber den Stick zum Speichern verwenden. Im Notfall kann + man den vor dem Booten abziehen und die Box startet ohne iptables + Firewall. +- Das UI hat eine Anfänger **[safe]** und eine Profi-Betriebsart + **[advanced]**, Umschaltbar über **[Admin Level]**. Im Safe - Modus + wehrt sich die Firewall sehr erfolgreich gegen alle Aussperrversuche + des Administrators. Er bewirkt, dass in allen für den Adminzugang + wichtigen Chains eine ACCEPT Regel für diese spezielle IP Adresse + eingetragen wird. Nach Umschalten in **[advanced]** kann man wie + gewohnt alle Regeln editieren oder Löschen. +- Ein **[Boot-Delay]** , (wählbar von **[Aus]** bis **[10 Min]**) kann + auch gegen Aussperren eingestellt werden. Während dieser Zeit ist + nach einem Kaltstart der Box ungehinderter Zugriff möglich. Zur + Sicherheit kann der Internetzugang während dieser Zeit automatisch + verhindert werden **[stop dsld on delay]** +- Ausgesperrt aus der Admin Oberfläche durch Eingabe einer falschen IP + Adresse: Datei: **/var/tmp/nhipt.par** enthällt die falsche Eingabe. + Zeile ADMINIP=… löschen und GUI neu aufrufen. *Tipp: Man kann auch + ein Subnetz für die AdminIP eintragen - z.B. 192.168.0.10/30 - das + erlaubt den Zugriff von den Adressen + 192.168.0.8..192.168.0.11*\ `​Online IP + Rechner <http://www.csgnetwork.com/ipinfocalc.html>`__. +- Wenn man das alles ignoriert und wider besseren Wissens sich trotzdem + aussperrt, hilft nur noch ein erneutes Flashen der Firmware. + +.. _DOWNLOAD: + +DOWNLOAD +-------- + + Die aktuelle Version, sowie Anmerkungen, Tipps & Tricks und + weiterführende Links finden sich hier: `​IPPF + Forum <http://www.ip-phone-forum.de/showpost.php?p=1420252&postcount=1>`__ + +.. _BEKANNTEPROBLEME: + +BEKANNTE PROBLEME +----------------- + + *Bei der 7390 wird nur eine leere Seite angezeigt, Regeln lassen sich + nicht anzeigen / hinzufügen.* + +.. + + Der angefügte Patch beseitigt dieses Problem und ähnliche bei anderen + Boxen. Außerdem erweitert der Patch die Möglichkeiten des UI, auch + Log Informationen zur Firewall und zum System aus dem Syslog der Box + auszugeben, wenn in einer Datei gelogt wird (ausgewertet werden die + letzten 50 Einträge aus bis zu 4 Logfiles *filename* , *filename* .0, + *filename* .1, *filename* .2, der Pfad und Dateiname werden + automatisch anhand der Parameter des laufenden syslogd Prozesses + ermittelt). + +.. _SCREENSHOTS: + +SCREENSHOTS +----------- + +.. figure:: /screenshots/179.jpg + :alt: nhipt Webinterface + + nhipt Webinterface + +- Tags +- `cgi </tags/cgi>`__ +- `firewall </tags/firewall>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ + +Anhänge (5) +~~~~~~~~~~~ + +- `nhipt.cgi(0.8.2).tar.gz </attachment/wiki/packages/nhipt/nhipt.cgi(0.8.2).tar.gz>`__\ `​ </raw-attachment/wiki/packages/nhipt/nhipt.cgi(0.8.2).tar.gz>`__ + (13.7 KB) - hinzugefügt von *cando* `vor 8 + Jahren </timeline?from=2009-11-19T10%3A27%3A09Z&precision=second>`__. + “Stand-Alone Web GUI” +- `ipt(0.8.2).tar.gz </attachment/wiki/packages/nhipt/ipt(0.8.2).tar.gz>`__\ `​ </raw-attachment/wiki/packages/nhipt/ipt(0.8.2).tar.gz>`__ + (17.1 KB) - hinzugefügt von *cando* `vor 8 + Jahren </timeline?from=2009-11-19T10%3A28%3A16Z&precision=second>`__. + “Dynamic freetz integration Package (for external USB device)” +- `Iptables_Tutorial_1.2.pdf </attachment/wiki/packages/nhipt/Iptables_Tutorial_1.2.pdf>`__\ `​ </raw-attachment/wiki/packages/nhipt/Iptables_Tutorial_1.2.pdf>`__ + (1.9 MB) - hinzugefügt von *cando* `vor 8 + Jahren </timeline?from=2009-11-19T10%3A34%3A57Z&precision=second>`__. + “extended iptables tutorial v1.2.2 Copyright © 2001-2006 Oskar + Andreasson” +- `nhipt.patch(0.8.2).tar.gz </attachment/wiki/packages/nhipt/nhipt.patch(0.8.2).tar.gz>`__\ `​ </raw-attachment/wiki/packages/nhipt/nhipt.patch(0.8.2).tar.gz>`__ + (27.1 KB) - hinzugefügt von *cando* `vor 8 + Jahren </timeline?from=2009-11-19T11%3A48%3A04Z&precision=second>`__. + “Patch zur manuellen Integration in die Firmware (ROM)” +- `nhipt.patch.tar.gz </attachment/wiki/packages/nhipt/nhipt.patch.tar.gz>`__\ `​ </raw-attachment/wiki/packages/nhipt/nhipt.patch.tar.gz>`__ + (3.4 KB) - hinzugefügt von *cando* `vor 8 + Jahren </timeline?from=2010-08-19T09%3A52%3A31Z&precision=second>`__. + “Patch nhipt für andere Boxen (7390, 71xx), funktioniert auch mit der + 7270” + +Alle Anhänge herunterladen als: +`.zip </zip-attachment/wiki/packages/nhipt/>`__ diff --git a/wiki/packages/nmap.rst b/wiki/packages/nmap.rst new file mode 100644 index 0000000..33a677a --- /dev/null +++ b/wiki/packages/nmap.rst @@ -0,0 +1,101 @@ +packages/nmap +============= +.. _Nmap: + +Nmap +==== + +"*Nmap ("Network Mapper") is a free and open source (license) utility +for network exploration or security auditing. Many systems and network +administrators also find it useful for tasks such as network inventory, +managing service upgrade schedules, and monitoring host or service +uptime. Nmap uses raw IP packets in novel ways to determine what hosts +are available on the network, what services (application name and +version) those hosts are offering, what operating systems (and OS +versions) they are running, what type of packet filters/firewalls are in +use, and dozens of other characteristics. It was designed to rapidly +scan large networks, but works fine against single hosts.*" + +.. _Example: + +Example +------- + +.. code:: wiki + + root@fritz:/var/media/ftp/uData# nmap localhost + + Starting Nmap 4.68 ( http://nmap.org ) at 2011-04-20 09:06 CEST + Interesting ports on localhost (127.0.0.1): + Not shown: 1699 closed ports + PORT STATE SERVICE + 21/tcp open ftp + 22/tcp open ssh + 23/tcp open telnet + 53/tcp open domain + 80/tcp open http + 81/tcp open hosts2-ns + 111/tcp open rpcbind + 443/tcp open https + 1011/tcp open unknown + 1012/tcp open unknown + 2007/tcp open dectalk + 2047/tcp open dls + 5060/tcp open sip + 8080/tcp open http-proxy + 8123/tcp open polipo + 8888/tcp open sun-answerbook + + Nmap done: 1 IP address (1 host up) scanned in 4.598 seconds + +.. _Knownopenports: + +Known open ports +---------------- + ++-----------------+-----------------+-----------------+-----------------+ +| **Port** | **Function** | **Program/proce | **Anmerkung** | +| | | ss** | | ++-----------------+-----------------+-----------------+-----------------+ +| 81 | Freetz! | inetd | | ++-----------------+-----------------+-----------------+-----------------+ +| 82 | AVM's Webfilter | contfiltd | bei Firmware | +| | | | 7270 05.05 auf | +| | | | Port 81 | ++-----------------+-----------------+-----------------+-----------------+ +| 111 | portmapper | portmap | | +| | (nfs) | | | ++-----------------+-----------------+-----------------+-----------------+ +| 1011 | AVM's | telefon | | +| | telefon-daemon | | | ++-----------------+-----------------+-----------------+-----------------+ +| 1012 | AVM's | telefon | | +| | telefon-daemon | | | ++-----------------+-----------------+-----------------+-----------------+ +| 2007 | ??? | telefon | | ++-----------------+-----------------+-----------------+-----------------+ +| 2047 | nfs v3 | nfsd | | ++-----------------+-----------------+-----------------+-----------------+ +| 8080 | AVM's | ctlmgr.bin | | +| | Kindersicherung | | | ++-----------------+-----------------+-----------------+-----------------+ +| 8888 | AVM's | telefon | | +| | telefon-daemon | | | ++-----------------+-----------------+-----------------+-----------------+ + +Useful command: + +.. code:: wiki + + netstat -anp + +.. _Links: + +Links +----- + +- `​home page <http://nmap.org/>`__ +- `​IPPF: Port + 8080 <http://www.ip-phone-forum.de/showthread.php?t=188842>`__ +- `​IPPF: Offene + (Freetz-)Ports <http://www.ip-phone-forum.de/showthread.php?t=213465>`__ diff --git a/wiki/packages/ntfs-3g.rst b/wiki/packages/ntfs-3g.rst new file mode 100644 index 0000000..b110db3 --- /dev/null +++ b/wiki/packages/ntfs-3g.rst @@ -0,0 +1,37 @@ +packages/ntfs-3g +================ +.. _NTFS-3G: + +NTFS-3G +======= + +`​NTFS-3G <http://www.ntfs-3g.com/>`__ ist ein Treiber für das +`​NTFS-Dateisystem <http://de.wikipedia.org/wiki/Dateisystem>`__ unter +Linux, Solaris, FreeBSD, Mac OS X und NetBSD mit umfassender +Schreibunterstützung. + +Im Gegensatz zum Kernel-NTFS Treiber unterstützt *NTFS-3G* die meisten +Dateisystem-Operationen: Dateien jeder Größe können auf NTFS +Dateisystemen erstellt, modifiziert, umbenannt, verschoben oder gelöscht +werden (ausgenommen komprimierte und verschlüsselte Dateien). Es ist +auch experimentelle Unterstützung zur Modifikation von +`​ACLs <http://de.wikipedia.org/wiki/Access_Control_List>`__ und +`​Dateisystem-Berechtigungen <http://de.wikipedia.org/wiki/Dateiberechtigung>`__ +vorhanden. + +*NTFS-3G* basiert auf dem `FUSE <fuse.html>`__ Paket. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​NTFS-3G Homepage <http://www.ntfs-3g.com/>`__ +- `​Wikipedia Artikel <http://en.wikipedia.org/wiki/NTFS3G>`__ + (englisch) +- `​Comparing JFS, XFS, NTFS-3G and ZFS-FUSE + performance <http://www.csamuel.org/2007/04/25/comparing-ntfs-3g-to-zfs-fuse-for-fuse-performance/>`__ + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/obexftp.rst b/wiki/packages/obexftp.rst new file mode 100644 index 0000000..57640d6 --- /dev/null +++ b/wiki/packages/obexftp.rst @@ -0,0 +1,33 @@ +packages/obexftp +================ +.. _ObexFTP: + +ObexFTP +======= + +**ObexFTP** ist ein Protokoll zum Austausch von Dateien mit Obex-fähigen +Geräten, wobei es sich bei letzteren meist um Mobiltelefone handelt. +Dieses Paket hängt von weiteren Paketen und Libraries ab, u.a. von +`Bluez-Utils <bluez-utils.html>`__ sowie *libopenobex*. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​OpenObex Projekt <http://dev.zuckschwerdt.org/openobex/>`__ +- `​ObexFTP + FAQ <http://dev.zuckschwerdt.org/openobex/wiki/ObexFtpFaq>`__ +- `​Wikipedia: Obex <http://de.wikipedia.org/wiki/OBEX>`__ (Deutsch - + kurz) +- `​Wikipedia: Obex <http://de.wikipedia.org/wiki/OBEX>`__ (Englisch - + ausführlich) + +-------------- + +- Tags +- `bluetooth </tags/bluetooth>`__ +- `bluez </tags/bluez>`__ +- `filetransfer </tags/filetransfer>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/onlinechanged.rst b/wiki/packages/onlinechanged.rst new file mode 100644 index 0000000..1a3fbc7 --- /dev/null +++ b/wiki/packages/onlinechanged.rst @@ -0,0 +1,18 @@ +packages/onlinechanged +====================== +.. _Onlinechanged: + +Onlinechanged +============= + +You can send yourself an e-mail when your box comes online like this: + +.. code:: wiki + + online) + mailer -s "Freetz online" -t <your e-mail address> + ;; + +For this to work, you should configure the `​AVM Push +service <http://fritz.box/system/push.lua>`__, but it is not necessary +to enable it. diff --git a/wiki/packages/onlinechanged_cgi.rst b/wiki/packages/onlinechanged_cgi.rst new file mode 100644 index 0000000..599f9df --- /dev/null +++ b/wiki/packages/onlinechanged_cgi.rst @@ -0,0 +1,37 @@ +packages/onlinechanged_cgi +========================== +.. _Onlinechanged-CGI: + +Onlinechanged-CGI +================= + +AVM-Firmwares beinhalten einen Mechanismus, welcher dafür sorgt, daß + +- beim Start der Box (Parameter $1 hat den Wert "start"), +- bei der Trennung der Internet-Verbindung (Parameter $1 hat den Wert + "offline") und auch +- beim Neuaufbau der Internet-Verbindung (Parameter $1 hat den Wert + "online") + +jeweils das Skript */bin/onlinechanged* aufgerufen wird, welches +wiederum weitere Skripten unterhalb der Verzeichnisse +*/etc/onlinechanged* und */var/tmp/onlinechanged*, sofern vorhanden, +aufruft. Diese Skripten (re-)initialisieren diverse Dienste, wie z.B. +WebDAV (Online-Speicher). + +Auch diverse Freetz-Pakete benötigen die Möglichkeit, beim Wechsel des +Verbindungsstatus gewisse Aktionen durchzuführen, z.B. DynDNS-Hostnamen +mit neuer IP-Adresse zu registrieren, VPN-Verbindungen neu aufzubauen +etc. Das Paket Onlinechanged-CGI ermöglicht es dem Benutzer darüber +hinaus, eigene Aktionen anzustoßen, bspw. eine E-Mail mit der aktuellen +IP an den Benutzer zu senden. + +**Hinweis:** AVM Onlinechanged funktioniert nur auf Geräten, die so +konfiguriert sind, daß sie die Internet-Verbindung selbst herstellen +(also i.d.R. via DSL oder via PPPoE), nicht auf Boxen hinter einem NAT +(z.B. bei "Internetverbindung mitbenutzen"). Falls auf solchen Geräten +auch Onlinechanged ausgeführt werden soll, geht das über den `Patch +"replace onlinechanged" <../patches/replace_onlinechanged.html>`__, der +auch zur Anwendung kommt in Problemfällen bei Geräten, wo AVM +Onlinechanged nicht zuverlässig funktioniert (siehe entsprechendes +`​IPPF-Thema <http://www.ip-phone-forum.de/showthread.php?t=231873>`__). diff --git a/wiki/packages/opendd.rst b/wiki/packages/opendd.rst new file mode 100644 index 0000000..f7d89d9 --- /dev/null +++ b/wiki/packages/opendd.rst @@ -0,0 +1,118 @@ +packages/opendd +=============== +.. _OpenDD: + +OpenDD +====== + +.. figure:: /screenshots/177.jpg + :alt: Konfigurationsseite OpenDD + + Konfigurationsseite OpenDD + +OpenDD ist ein Client um dynamische DNS Einträge zu aktualisieren. +Vorteil gegenüber `inadyn <inadyn-mt.html>`__ ist, dass sich OpenDD +nicht ständig im Arbeitsspeicher befindet sondern nur nach einem +Reconnect gestartet wird. Es kann eine eMail bei IP-Wechsel versendet +werden. Ausgaben werden über Syslog ausgegeben + +.. _nach25TagenUpdaten: + +nach 25 Tagen Updaten +--------------------- + +| Diese Option sollte man wählen, wenn sich die IP längere Zeit nicht + ändert, wie es bei Kabelinternet Anbietern üblich ist. Dadurch wird + vermieden, dass nach 1 Monat der Hostname deaktiviert wird. Sollte die + Box länger nicht neu gestartet werden bitte noch "cron" einschalten, + damit die Überprüfung erfolgt. Der Eintrag für cron wird von OpenDD + automatisch erstellt. +| Nach solch einem erzwungenen Update wird die Datei + ``/tmp/flash/opendd/opendd.onforcedupdate`` ausgeführt. Damit kann zB + ein Skript zum Einloggen auf der DynDns-Webseite ausgeführt werden, um + eine Sperre des Domainnamens zu verhindern. Dies Skript muss aber + zusätzlich von `onlinechanged <onlinechanged.html>`__ ausgeführt + werden! Beispielskripte: + `​http://forum.mbremer.de/viewtopic.php?f=62&t=1756&p=24340#p24340 <http://forum.mbremer.de/viewtopic.php?f=62&t=1756&p=24340#p24340>`__ + +.. _get_ipParameter: + +get_ip Parameter +---------------- + +Hiermit wird konfiguriert wie die externe IP ermittelt wird. Ab +Trunk-Version `r7376 </changeset/7376>`__ wird get_ip an `zentraler +Stelle <mod.html#get_ip>`__ konfiguriert, wodurch diese Option bei +opendd entfällt. + +.. _Account: + +Account +------- + +Hier werden die Daten des DNS-Kontos eingetragen: + ++-----------------------------------+-----------------------------------+ +| Server | Angabe des genutzten | +| | DNS-Providers (z.B. Dyndns: | +| | members.dyndns.org) | ++-----------------------------------+-----------------------------------+ +| Hostname | Der DNS-Name, für den man sich | +| | registriert hat (z.B. | +| | Musterman.heimnetz.org) | ++-----------------------------------+-----------------------------------+ +| Benutzername | Der Benutzername des Accounts | ++-----------------------------------+-----------------------------------+ +| Passwort | Das Passwort des Accounts | ++-----------------------------------+-----------------------------------+ +| SSL nutzen | Wenn der Account verschlüsselt | +| | aktualisiert werden soll (Port | +| | 443) | ++-----------------------------------+-----------------------------------+ + +| Das SSL-Zertifikat findet sich in der Buildumgebung unter: +| ``.../freetz-trunk/packages/target-mipsel_uClibc-0.9.29/opendd-0.7.9/root/etc/default.opendd/opendd.pem`` + +.. _E-Mail: + +E-Mail +------ + +In diesem Abschnitt kann eine E-Mail-Benachrichtigung eingerichtet +werden: + ++-----------------------------------+-----------------------------------+ +| eMail verschicken | Mit dieser Option wird das | +| | Versenden des Statusreports | +| | aktiviert/ deaktiviert | ++-----------------------------------+-----------------------------------+ +| Absender | E-Mail-Adresse, mit welcher der | +| | Report versendet werden soll | +| | (z.B. Musterman@internet.de) | ++-----------------------------------+-----------------------------------+ +| Empfänger | E-Mail-Adresse, an die der Report | +| | gesendet werden soll (kann die | +| | gleiche wie Absender sein) | ++-----------------------------------+-----------------------------------+ +| E-Mail-Server | Postausgangs-Server des | +| | Absender-Accounts (z.B. für | +| | Freenet: mx.freenet.de) | ++-----------------------------------+-----------------------------------+ +| Benutzername | Benutzername des | +| | Absender-Accounts | ++-----------------------------------+-----------------------------------+ +| Passwort | Passwort des Absender-Accounts | ++-----------------------------------+-----------------------------------+ +| Timeout | Wie lange auf eine Antwort des | +| | E-Mail Servers gewartet wird (nur | +| | Freetz, `#2132 </ticket/2132>`__) | ++-----------------------------------+-----------------------------------+ +| max. Versuche | Maximale Anzahl an Versuchen den | +| | E-Mail Server zu erreichen (nur | +| | Freetz, `#2132 </ticket/2132>`__) | ++-----------------------------------+-----------------------------------+ + +- Tags +- `dyndns </tags/dyndns>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/openntpd.rst b/wiki/packages/openntpd.rst new file mode 100644 index 0000000..92d0c2f --- /dev/null +++ b/wiki/packages/openntpd.rst @@ -0,0 +1,98 @@ +packages/openntpd +================= +.. _OpenNTPD: + +OpenNTPD +======== + +*"OpenNTPD ist eine FREIE und einfach zu benutzende Implementierung des +Network Time Protocol. OpenNTPD kann die lokale Uhr mit NTP-Servern +abgleichen und selbst als NTP-Server fungieren, also die lokale Uhrzeit +anderen Systemen zur Verfügung stellen."* +`​http://www.openntpd.org/de/ <http://www.openntpd.org/de/>`__ + +Mit **OpenNTPD** lässt sich die Zeit per Internet synchronisieren. +Natürlich kann man das von jedem PC aus auch, und die Fritzbox (multid +daemon) selbst holt sich die Zeit ja auch aus dem Netz - wozu also +dieses Paket? + +Das OpenNTPD Paket stellt nicht nur einen Client, sondern auch einen +Server zur Verfügung. Somit kann sich die FritzBox die Zeit aus dem +Internet "downloaden" - und stellt sie dann im lokalen Netz bereit. + +.. _Vorteile:: + +Vorteile: +--------- + +- Nur die FritzBox muss die Zeit "Remote" abgleichen +- Da die FritzBox sicher rund um die Uhr läuft, kann dies jederzeit + passieren - und dennoch steht die aktuelle Zeit zur Verfügung, sollte + das Internet mal "kaputt" sein (Probleme beim Provider o.ä.). +- Alle Rechner im lokalen Netz synchronisieren mit der FritzBox, und + haben somit identische Zeitstempel - sehr von Vorteil, wenn man z.B. + Logfiles abgleichen will. +- Auch Rechner, die nicht ins Internet dürfen, haben die Chance auf + einen Zeitabgleich. + +.. _Ubuntuclientsetup: + +Ubuntu client setup +------------------- + +- Install: *sudo apt-get install ntp* +- Configure: *add server fritz.box* as first server to */etc/ntp.conf* +- Apply configuration: *sudo service ntp restart* +- Check if it works: *sudo ntpq -np* +- More info: `​here <https://help.ubuntu.com/community/UbuntuTime>`__ + +.. _MultidNTPclientdeaktivieren: + +Multid NTP client deaktivieren +------------------------------ + +Durch diese Option wird AVM's multid durch einen zusätzlichen Parameter +angewiesen die Zeit nicht zu synchronisieren (erfordert Restarts von +multid). + +Wenn chronyd in der Firmware vorhanden ist wird multid in rc.net ohne +SNTP-Funktion gestartet. Zusätzlich deaktiviert multid diese Funktion +auch automatisch wenn /var/run/chronyd.pid existiert +(`​source <http://www.wehavemorefun.de/fritzbox/index.php/Multid#Aufruf>`__). + +SNTP = Simple Network Time Protocol + +| openntpd automatically selects Remove chronyd. + +.. _Fehlerbehebung: + +Fehlerbehebung +-------------- + +- ``dispatch_imsg in main: pipe closed``: In der ``openntpd.conf`` wird + ``listen on`` falsch benutzt. + +.. _Alternative: + +Alternative +----------- + +Man kann auch den in `inetd <inetd.html#user>`__ integrierten `​"time" +Service <http://en.wikipedia.org/wiki/Time_Protocol>`__ aktivieren. +Diese kann z.B. mit "rdate" genutzt werden, welches bereits in Freetz +enthalten ist oder auch auf der Dbox2 + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://www.openntpd.org/ <http://www.openntpd.org/>`__ +- `​Artikel zu + OpenNtpd <http://www.zdnet.de/builder/program/0,39023551,39191851,00.htm>`__ + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ diff --git a/wiki/packages/openvpn.rst b/wiki/packages/openvpn.rst new file mode 100644 index 0000000..ce60f64 --- /dev/null +++ b/wiki/packages/openvpn.rst @@ -0,0 +1,693 @@ +packages/openvpn +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Version <openvpn.html#Version>`__ +#. `Häufige Fragen / Howto <openvpn.html#HäufigeFragenHowto>`__ +#. `Konfigurationsanleitung <openvpn.html#Konfigurationsanleitung>`__ + + #. `Portweiterleitung <openvpn.html#Portweiterleitung>`__ + #. `Static Key <openvpn.html#StaticKey>`__ + #. `Zertifikate <openvpn.html#Zertifikate>`__ + +#. `Routing vs. Bridging <openvpn.html#Routingvs.Bridging>`__ +#. `CRL <openvpn.html#CRL>`__ +#. `Fehlersuche: Ein paar Tips wenn es nicht gleich so + klappt <openvpn.html#Fehlersuche:EinpaarTipswennesnichtgleichsoklappt>`__ +#. `Verschlüsselung: Welcher "Cipher" + ? <openvpn.html#Verschlüsselung:WelcherCipher>`__ +#. `DNS & Redirect all clients' + traffic <openvpn.html#DNSRedirectallclientstraffic>`__ +#. `Diskussion <openvpn.html#Diskussion>`__ +#. `Neue, simple GUI (GUI2) <openvpn.html#NeuesimpleGUIGUI2>`__ + + #. `Weitere Konfigs anlegen <openvpn.html#WeitereKonfigsanlegen>`__ + +.. _OpenVPNfreetzPackage: + +OpenVPN freetz Package +====================== + +OpenVPN ist ein Programm zur Herstellung eines Virtuellen Privaten +Netzwerkes (VPN) über eine verschlüsselte TLS-Verbindung. + +.. _Version: + +Version +------- + +In der aktuellen Version von Freetz ist OpenVPN 2.3.2 enthalten (aktuell +kann auch noch die alte Version 2.2.1 gewählt werden). Es kann im +menuconfig wahlweise mit und ohne LZO2 Komprimierung ausgewählt werden. + +.. _HäufigeFragenHowto: + +Häufige Fragen / Howto +---------------------- + +Die Dokumentation auf der OpenVPN Webseite ist sehr gut und ausführlich. +Dort findet man wohl auf die meisten Fragen die passende Antwort. + +`​http://openvpn.net/faq.html <http://openvpn.net/faq.html>`__ oder +`​http://openvpn.net/howto.html <http://openvpn.net/howto.html>`__ + +Viele hilfreiche Informationen zu OpenVPN findet man auch `​hier im +ippf-Wiki <http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:openvpn>`__. + +.. _Konfigurationsanleitung: + +Konfigurationsanleitung +----------------------- + +Dies ist eine (sicher nicht ganz vollständige) Anleitung zur +Konfiguration des OpenVPN Pakets. Sie soll aufzeigen, wie man eine +OpenVPN Konfiguration mit der zugehörigen GUI erstellt. \*Was\* ein VPN +ist und welche Parameter man grundsätzlich braucht, kann hier \*nicht\* +gefunden werden. + +.. _Portweiterleitung: + +Portweiterleitung +~~~~~~~~~~~~~~~~~ + +Soll (was wohl meistens der Fall ist), die Verbindung auf die Box über +das Internet aufgebaut werden, so muss dafür eine "Portweiterleitung" +eingerichet werden, damit die Box die VPN-Pakete annimmt. Standardmäßig +nutzt OpenVPN den IP-Port 1194 mit UDP oder TCP, und die Pakete dafür +müssen von der Box angenommen werden. Die naheliegende Idee, dieses in +der Fritzbox GUI einzurichten wird von AVM unterbunden, indem keine +Weiterleitungen "auf die Box selbst" erlaubt werden. Prinzipiell gibt es +drei Möglichkeiten, das zu "umgehen": + +#. Indem die Box eine zusätzliche IP-Adresse bekommt, von der die GUI + "nichts weiss" und damit die Einrichtung über die GUI vornehmen. + Dafür kann das Paket `Virtual IP <virtualip.html>`__ genutzt werden + und dann in der GUI eine Weiterleitung auf diese IP eingerichtet + werden. Mittlerweile gibt es einige User, die damit Probleme gemeldet + haben (vermutlich wegen der "Startreihenfolge" der Pakete). Als + Alternative dazu bietet es sich an, in der + `​debug.cfg <http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:shell_scripte#erzeugen_der_dateien_aus_der_debug.cfg>`__ + eine weitere IP anzulegen (zum Beispiel mittels des Eintrags + "ifconfig lan:1 192.168.178.253" in dieser Datei). +#. Man verwendet das Freetz-Paket `avm-firewall <avm-firewall.html>`__. + Hierdurch kann man einfach im Freetz-GUI eine Portweiterleitung auf + die IP-Adresse 0.0.0.0 eintragen. Anschließend ist der Port vom + Internet aus offen (Achtung: UDP als Protokoll auswählen!). +#. Oder man editiert die Datei "/var/flash/ar7.cfg", wozu der Zugriff + auf die Box mit Telnet/SSH nötig ist, was jedoch mit freetz kein + Problem darstellt. Obwohl diese Methode etwas "risikoreicher" ist ( + weil eine "falsch editierte Datei" den Start der Box verhindern kann) + würde ich sie empfehlen. + +Ich würde vorschlagen, die Datei im RAM zu editieren und dann, wenn +alles "zufriedenstellend" erfolgt ist, die Datei zurück zu kopieren. Zum +"Kopieren" nutzt man hier das "Auslesen und Umleiten", da diese Datei +keine normale Datei ist. Die Stelle, an der man ändern muß, findet man +am einfachsten, indem man zuvor in der AVM-GUI unter Einstellungen → +Erweitertet Einstellungen → Internet → Portfreigabe → Neue Portfreigabe +eine aussagekräftige Portfreigabe erstellt, z.B. "MeineFreigabe". Diese +kann in der im vi geöffneten /var/tmp/ar7.cfg gesucht werden mit +/MeineFreigabe. + +.. code:: wiki + + cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg + vi /var/tmp/ar7.cfg + + # Mini-Anleitung zu vi: + # i Insert - an dieser Stelle etwas eingeben + # a append - nach dieser Stelle etwas eingeben + # o - Zeile nach der aktuellen Zeile einfügen + # O - Zeile vor der aktuellen Zeile einfügen + # /<Ausdruck>- Suche vorwärts nach Ausdruck + # A Append - am Ende der Zeile etwas eingeben + # r replace - den Buchstaben unter dem Cursor ersetzen + # x delete - den Buchstaben unter dem Cursor löschen + # <Zahl> - den nächsten Befehl so oft ausführen (z.B. 10x -> 10 Zeichen löschen) + # dd - Zeile Löschen + # D - Rest der Zeile ab aktuellem Zeichen löschen + # <ESC> - Editier- / Eingabe-Modus verlassen + # :w write - Änderungen Speichern + # :q quit - vi verlassen + # :q! - vi verlassen, auch wenn ungesicherte Änderungen waren + # + # + # Hier nun im vi die Freigabe eintragen und die Datei mit ":wq" abgespeichert + + # Wenn alles richtig war, kann diese neue Datei zurückgeschrieben werden: + cat /var/tmp/ar7.cfg > /var/flash/ar7.cfg + +.. + + Im Ergebnis muss zu den "forwardrules" eine der folgenden Art + hinzugefügt werden, natürlich mit dem richtigen Protokoll (TCP/UDP) + und der richtigen Port-Nummer. Zu beachten ist, dass die Zeilen mit + "," abzuschließen sind, die letzte Zeile mit ";": + +.. code:: wiki + + ## falls es **nicht** die letzte Zeile ist so, + ## wenn es **die letzte** ist, bitte ein ";" statt des "," + "udp 0.0.0.0:1194 0.0.0.0:1194" , + +Das Format dafür ist: <Protokoll> <In IP>:<In IP-Port> <Out IP >:<Out +IP-Port> Hier ist das erste "0.0.0.0" jeweils alles eingehende das +zweite "0.0.0.0" steht für "die Box selbst". Der "ausgehende" Port ist +hier wie der eingehende der Standardport von OpenVPN: 1194. + +Nach dem Editieren der ar7.cfg muss die Änderung übernommen werden, z.B. +mittels *ar7cfgchanged* oder einem Reboot. + +**Relativ neu:** Mittels `​dieses +Patches <http://www.ip-phone-forum.de/showthread.php?t=159266>`__ ist +auch eine Freigabe über die "normale" Portfreigabe in der AVM-GUI auf +die Box selbst mit 0.0.0.0 möglich. + +.. _StaticKey: + +Static Key +~~~~~~~~~~ + +Die einfachste Variante ist der Betrieb mit statischem Schlüssel: + +- es kann sich immer ein Client gleichzeitig mit dem Server verbinden +- beide Seiten verwenden den selben statischen Schlüssel zur + Authentifizierung +- beim ersten Start des Dienstes wird ein Schlüssel automatisch erzeugt +- Der Schlüssel kann unter "Einstellungen → Static Key" ausgelesen und + eingestellt werden + (eventuell vorher die `​Sicherheitsstufe + einstellen <http://wiki.ip-phone-forum.de/software:ds-mod:faq#konfiguration_in_der_aktuellen_sicherheitsstufe_nicht_verfuegbar>`__) +- die IP-Zuweisung erfolgt manuell auf Client und Server + +Hier mal ein Beispiel mit folgenden Daten: + +.. code:: wiki + + Server-IP 192.168.200.1 + Client-IP 192.168.200.2 + Netzwerk hinter Fritzbox 192.168.178.0/255.255.255.0 + +In der GUI wäre der Server dann so zu konfigurieren: + +.. figure:: /screenshots/27.png + :alt: OpenVPN Webinterface: static server + + OpenVPN Webinterface: static server + +Eine passende Windows-Client-Konfiguration dazu, die sich auf die Box +verbinden kann: + +.. code:: wiki + + remote meinserver.dyndns.org + proto udp + dev tun + ifconfig 192.168.200.2 192.168.200.1 + route 192.168.178.0 255.255.255.0 + secret "D:\\Eigene Dateien\\OpenVPN\\fritzbox.key" + tun-mtu 1500 + float + mssfix + nobind + verb 3 + keepalive 10 120 + +.. _Zertifikate: + +Zertifikate +~~~~~~~~~~~ + +Wenn man mehrere gleichzeitige Verbindungen ermöglichen will, muss man +mit Zertifikaten arbeiten. + +- es können sich mehrere Clients gleichzeitig mit dem Server verbinden +- Zertifikate müssen erstellt und auf Server und Client hinterlegt + werden +- Die Zertifikate werden über "Einstellungen" eingetragen (Zuordnung + siehe weiter unten) +- die IP-Zuweisung erfolgt dynamisch durch den Server +- einfache Konfiguration der Clients durch Push/Pull + +| Wie man ganz einfach Zertifikate erstellen und auf die Box laden kann, + erklären u.a. dieser + `​Wiki-Eintrag <http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:openvpn#2._zertifikate_erstellen>`__ + sowie die offizielle OpenVPN Hilfe zum Thema `​Public Key + Infrastructure <http://openvpn.net/howto.html#pki>`__. Die Zertifikate + werden auch mit Hilfe der GUI auf die Box geladen werden. Dafür öffnet + man im Freetz das Menu Einstellungen und wählt den entsprechenden + Eintrag aus (z.B. OpenVPN: Box Cert). Mit einem Editor öffnet man nun + die entsprechende Datei (z.B. Server.crt) und kopiert den Inhalt in + das Freetz Fenster. Mit Übernehmen überträgt nun die GUI das + Zertifikat auf die Box. +| **Hinweis:** Bevor man unter "Einstellungen" Dinge eintragen kann, + muss man ggf vorher die Sicherheitsstufe entsprechend ändern, das geht + z.B. mit + + *echo 0 > /var/tmp/flash/security && modsave* + +Zuordnung der Schlüssel und Zertifikate auf der Box: + ++-------------+----------------+----------------------------------------+ +| GUI-Name | Datei-Name | Beispiel / Bemerkung | ++-------------+----------------+----------------------------------------+ +| Box Cert | <Name>.crt | server.crt od. client01.crt | ++-------------+----------------+----------------------------------------+ +| Private Key | <Name>.key | server.key oder client01.key | ++-------------+----------------+----------------------------------------+ +| CA Cert | ca.crt | Zertifikat der CA | ++-------------+----------------+----------------------------------------+ +| DH Param | dh<Länge>.pem | dh1024.pem od. dh2048.pem | ++-------------+----------------+----------------------------------------+ +| Static Key | wird generiert | muss auf Server und Client gleich sein | ++-------------+----------------+----------------------------------------+ +| CRL | leer lassen | Liste zurückgezogener Zertifikate | ++-------------+----------------+----------------------------------------+ + +| In der folgenden Beispiel-Konfiguration soll der Server auf der Box + mit mehreren Clients genutzt werden können und im TAP-Modus laufen. + Die meiste Konfiguration der Clients (IP- und Netzwerkeinstellungen, + Routing, usw.) erfolgt ebenfalls durch den Server. +| Der Server vergibt an die Clients IP-Adressen ab der 192.168.200.100 + bis 192.168.200.150. Er übergibt dem Client auch eine Route zu seinem + LAN, dem Netz 192.168.178.0. Für das "Abholen" dieser Parameter sorgt + das **pull** in der Client-Konfiguration. + +.. figure:: /screenshots/28.png + :alt: OpenVPN Webinterface: certificate server + + OpenVPN Webinterface: certificate server + +Ebenfalls wieder eine Client-Konfiguration dazu, die sich mit diesem +Server verbinden könnte: + +.. code:: wiki + + remote meinserver.dyndns.org + proto udp + dev tap + tls-client + ns-cert-type server + ca "D:\\Eigene Dateien\\OpenVPN\\ca.crt" + cert "D:\\Eigene Dateien\\OpenVPN\\client.crt" + key "D:\\Eigene Dateien\\OpenVPN\\client.key" + tls-auth "D:\\Eigene Dateien\\OpenVPN\\static.key" 1 + tun-mtu 1500 + mssfix + nobind + pull + cipher AES-128-CBC + verb 3 + +Dass der Name des Servers (hinter **"remote"**) und die Pfade zu den +Zertifikaten ggf. anzupassen sind, versteht sich hoffentlich von selbst +|;-)|. Man sieht, dass der Client keine eigene IP Konfiguration oder +Routing Einträge hat, diese Parameter bekommt er mit dem *pull* vom +Server. Wichtig ist hierbei auch die **"Schlüsselrichtung"** bei der +TLS-Authentifizierung. Da freetz hierfür augenscheinlich den Wert "0" +nutzt, muss im Client entsprechend der Wert "1" gesetzt werden. + +.. _Routingvs.Bridging: + +Routing vs. Bridging +-------------------- + +Für die meisten Anwendungsfälle ist Routing (TUN) die beste Wahl, doch +in einigen Fällen kann es auch sinnvoll sein, das VPN Netzwerk mit einer +Brücke (TAP) zu realisieren. Eine ausführliche Beschreibung der +Unterschiede findet man auf der `​OpenVPN +Webseite <http://openvpn.net/faq.html#bridge2>`__ + +Hier ein paar Vorteile von Bridging: + +- Der Client befindet sich nach Aufbau der Verbindung im gleichen Netz + wie der Server +- Broadcasts werden durch den VPN-Tunnel geleitet, das hat den Vorteil, + dass z.B. NetBIOS Namen aufgelöst werden können (sinnvoll für PING, + Netzwerkfreigaben etc) +- Bridging leitet alle Ethernet-Protokolle über den Tunnel (IPv4, IPv6, + IPX, AppleTalk etc.) + +Hier ein paar Nachteile von Bridging: + +- weniger effizient als Routing (langsamer) +- alle Broadcasts gehen durch das Netz + +Um mit der Fritz Box ein echtes Bridging zu realisieren, ist es +notwendig, den tap0-Adapter in die Liste der gebrückten Adapter der +Fritz Box einzutragen. Dies geschieht wiederum in der ar7.cfg, die im +oben beschriebenen Verfahren geändert werden muß. Unter dem Punkt +"brinterfaces" → interfaces muß der tap0-Adapter ergänzt werden: + +Also wieder: + +.. code:: wiki + + cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg + vi /var/tmp/ar7.cfg + +Dann suchen nach /brinterfaces und den Eintrag "tap0" vor dem Semikolon +einfügen. + +.. code:: wiki + + brinterfaces { + name = "lan"; + dhcp = no; + ipaddr = 192.168.178.1; + netmask = 255.255.255.0; + dstipaddr = 0.0.0.0; + interfaces = "eth0", "usbrndis", "tiwlan0", "wdsup0", + "wdsdw0", "wdsdw1", "wdsdw2", "wdsdw3", "tap0"; + dhcpenabled = yes; + dhcpstart = 192.168.178.20; + dhcpend = 192.168.178.100; + +Zum Abschluß noch mal + +.. code:: wiki + + cat /var/tmp/ar7.cfg > /var/flash/ar7.cfg + reboot + +Die Konfiguration in der OpenVPN-Gui könnte für den FritzBox Standard +dann folgendermaßen aussehen: + +.. figure:: /screenshots/29.png + :alt: OpenVPN Webinterface: bridged server + + OpenVPN Webinterface: bridged server + +Die Windows-Client-Konfiguration dazu sieht so aus: + +.. code:: wiki + + client + dev tap + #udp/tcp je nachdem, was ausgewählt wurde + proto tcp + #Port entsprechend der Konfiguration + remote meinserver.dyndns.org 443 + nobind + persist-key + persist-tun + #hier die Zertifikate/Schlüssel, wie beim Erstellen benannt + ca ca.crt + cert client01.crt + key client01.key + # für TLS-Remote "ServerBox1" wie beim Erstellen benannt + tls-remote ServerBox1 + tls-auth static.key 1 + auth SHA1 + cipher AES-256-CBC + comp-lzo + verb 3 + +.. _CRL: + +CRL +--- + +CRL steht für "certificate revocation list" und bietet eine Möglichkeit, +ausgestellte Zertifikate zurückzuziehen und damit ungültig zu machen. +Aktuell gibt es einen BUG in Freetz (`/ticket/1578 </ticket/1578>`__) so +dass eine CRL nur mit etwas Handarbeit über die Telnet Konsole bzw. +Rudishell zum Laufen gebracht werden kann. Wer sich das manuelle +Erstellen einer CRL nicht zutraut findet mit Kleopatra (Windows / +`​http://www.gpg4win.de/ <http://www.gpg4win.de/>`__) oder TinyCA (Linux +/ `​http://tinyca.sm-zone.net/ <http://tinyca.sm-zone.net/>`__) +GUI-basierte Zertifikatmanager, die das Erstellen einer CRL +unterstützen. + +.. _Fehlersuche:EinpaarTipswennesnichtgleichsoklappt: + +Fehlersuche: Ein paar Tips wenn es nicht gleich so klappt +--------------------------------------------------------- + +Meist versucht man gleich den schwierigsten Fall, über das Internet mit +Zertifikaten und TLS-Authentifizierung zwei Netze zu verbinden und +testet, indem man versucht eine Freigabe auf dem Fileserver im anderen +Netz anzubinden |;-)|. + +Schön, wenn es sofort klappt, dafür gibt es "unendlich" viele +Fehlermöglichkeiten falls nicht… + +Daher der Apell, tastet euch langsam an das ganze heran! + +- Erster "Fehlerkandidat" ist der Zugang über das Internet, der über + eine "virtuelle IP" oder in der Datei "/var/flash/ar7.cfg" + freigeschaltet werden muss (siehe oben, ich bevorzuge persönlich die + zweite Methode). Diesen Faktor kann man prüfen, indem man die + Verbindung zunächst mal "intern" testet, also über die + LAN-Schnittstelle. Klappt es so, aber nicht über das Internet, habt + ihr den Fehler eingegrenzt. +- Wenn es was anderes ist, hilt nur noch der Vergleich der + Konfigurationen Punkt für Punkt. Eigentlich gibt es nur zwei Arten + von Parametern: + Solche, die identisch sein müssen und solche, die "spiegelverkehrt" + auftreten müssen. + + - Die "identischen" sind z.B. Cipher, "comp-lzo", tls-auth, das + benutzte Protokoll (UDP/TCP) und der Port, + - "Spiegelbildlich" sind die IPs beim TUN, die Routing-Einträge, die + Server- / Client-Parameter wie "tls-server/tls-client", push und + pull. + +- Die Config auf der Box kann man am einfachsten in der + `Rudi-Shell <rudi-shell.html>`__ ausgeben lasssen, indem man dort + *cat /mod/etc/openvpn*.conf* + ausführt. Diese Config kann man dann gut mit der Config der + "Gegenseite" vergleichen. +- | Erste Hilfe für mehr Infos, z.B. wenn die Ausgabe nur lautet + | *Starting OpenVPN …failed.* + | In der `Rudi-Shell <rudi-shell.html>`__ (wenn openvpn nicht mehr + läuft) sollten so (spätestens nach zehn Sekunden) die + Startmeldungen Hinweise auf den Fehler bringen.: + + .. code:: wiki + + # die .../openvpn*.conf wird erst beim Starten des Dienstes erstellt und beim Stoppen gelöscht! + + .. code:: wiki + + cat /mod/etc/openvpn*.conf | grep -v daemon > /var/tmp/ovpn.conf + openvpn /var/tmp/ovpn.conf & + sleep 10 + killall openvpn + +- Ein typisches Fehlerbild (ich tippe mal auf mindestens 20% aller + Probleme |;-)|): Die Verbindung wird aufgebaut, aber der Client und + Server können sich nicht per Ping erreichen, es "geht nichts durch + das VPN". Häufigste Ursache ist ein nur auf einer Seite aktiviertes + "comp-lzo" + +- Und noch ein Hinweis für die "Windows-Nutzer": Wenn der Rechner, der + eine Freigabe hat, nicht im gleichen Netz ist (also zum Beispiel über + VPN verbunden ist), muss zum einen die Firewall Zugriffe aus einem + anderen Netz zulassen zum anderen funktioniert die Windows + Namensauflösung nicht. Kann man im LAN die Freigabe in der Art * + Der_PC_mit-Freigabe\meine_Daten* + nutzen, so ist das über das VPN nicht möglich. Es gibt dann zwei + Möglichkeiten: + + #. Nutzung der IP-Adresse, also * + 192.168.178.12\meine_Daten* + #. Nutzung der Datei + *<Windowsverzeichnis>\system32\drivers\etc\lmhosts*, in die man + Rechnername und IP einträgt. Dann kann die Freigabe weiterhin über + den Namen genutzt werden + +.. _Verschlüsselung:WelcherCipher: + +Verschlüsselung: Welcher "Cipher" ? +----------------------------------- + +Der Verkehr zwischen Client und Server wird normalerweise verschlüsselt +übertragen, um die Inhalte vor dem Ausspähen zu schützen. Die Wahl des +Verschlüsselungsalgorithmus erfolg über die "Cipher" Auswahlbox. +Momentan sind dort diese Cipher wählbar, in Klammern jeweils die OpenVPN +Bezeichnung, wie sie aus dem OpenSSL übernommen wurde: + +.. code:: wiki + + Blowfish (BF-CBC) + AES 128 (AES-128-CBC) + AES 256 (AES-256-CBC) + Triple-DES (DES-EDE3-CBC) + +Um die Frage der durch die Verschüsselung erzeugte Last auf der Box +nachzugehen, habe ich mal mit ``openssl speed des aes blowfish`` einen +"Leistungsvergleich" der Verfahren auf einem Speedport 701 gemacht (nur +für die wählbaren Optionen): + +.. code:: wiki + + The 'numbers' are in 1000s of bytes per second processed. + type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes + des cbc 1827.26k 1909.78k 1931.44k 1935.13k 1888.51k + blowfish cbc 2940.90k 3187.67k 3257.75k 3245.84k 3108.06k + aes-128 cbc 1936.58k 1984.45k 2019.82k 2004.45k 1940.50k + aes-256 cbc 1500.48k 1532.26k 1541.70k 1510.14k 1494.16k + +Man sieht, dass von den verfügbaren Algorithmen "Blowfish" den größten +Durchsatz hat. Bei intensiver Nutzung könnte das von Interesse sein. Für +tiefergehende Vergleiche der Algorithmen sei z.B. auf +`​Wikipedia <http://en.wikipedia.org/wiki/Block_cipher>`__ verwiesen. + +Zum Vergleich die Zahlen von einer 7320: + +.. code:: wiki + + The 'numbers' are in 1000s of bytes per second processed. + type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes + des cbc 2256.44k 2403.96k 2394.38k 2398.15k 2416.23k + des ede3 838.01k 863.05k 852.47k 864.63k 860.43k + blowfish cbc 5949.83k 6772.94k 6777.60k 6852.09k 6858.03k + aes-128 cbc 4218.86k 4641.06k 4719.34k 4722.43k 4723.41k + aes-192 cbc 3731.79k 4053.84k 4106.21k 4079.90k 4176.53k + aes-256 cbc 3312.71k 3596.58k 3627.24k 3628.52k 3678.10k + +… und von einer 7390: + +.. code:: wiki + + The 'numbers' are in 1000s of bytes per second processed. + type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes + des cbc 3020.13k 3136.60k 3153.10k 3178.21k 3166.10k + des ede3 1104.84k 1119.55k 1127.09k 1129.19k 1126.40k + blowfish cbc 8043.34k 8744.39k 8965.62k 8973.62k 8947.55k + aes-128 cbc 5597.86k 6122.27k 6304.22k 6262.31k 6254.70k + aes-192 cbc 4932.01k 5308.92k 5450.89k 5446.16k 5429.97k + aes-256 cbc 4388.37k 4711.52k 4812.80k 4817.99k 4798.96k + +.. _DNSRedirectallclientstraffic: + +DNS & Redirect all clients' traffic +----------------------------------- + +I wanted to monitor all traffic coming from my Android device, so I +route all my traffic through openVPN and am using tcpdump to see the +traffic. I discovered that DNS going to my mobile provider is blocked +via by my DSL provider (of course). To circumvent that problem I tried +to specific a DNS server using openVPN, but that didn' work. Eventually +I fixed this problem by using iptables to re-route DNS to the local DNS +server (dnsmasq) like this: + +.. code:: wiki + + iptables -A PREROUTING -i tun0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.178.1 + iptables -A PREROUTING -i tun0 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.178.1 + +It is interesting to see what Android is doing … + +.. _Diskussion: + +Diskussion +---------- + +Fragen und Anmerkungen zu diesem Paket werden in `​diesem +Thread <http://www.ip-phone-forum.de/showthread.php?t=101980>`__ +diskutiert. + +.. _NeuesimpleGUIGUI2: + +Neue, simple GUI (GUI2) +----------------------- + +.. figure:: /screenshots/273.png + :alt: neue OpenVPN GUI + + neue OpenVPN GUI + +Aktuell ist im "trunk" (der Freetz Entwicklerversion) eine weitere GUI +zum Paket hinzugekommen, die deutlich "schlanker" ist als die bisherige. +Sie ist als "simple GUI" für Experten gedacht, die direkt eine +Konfigurationsdatei eingeben können. + +Wichtig: + +- Um diese GUI wählen zu können, muss der "Level of user competence" + mindestens "Advanced" sein. + +Als Option sind zusätzlich Skript-Dateien hinzugekommen, die z.B. als +"up"- oder "client-connect"-Skript genutzt werden können. + +Ein Beispiel sei hier genannt für einen Server mit Zertifikaten, zu dem +sich Clients verbinden, zu denen Netze geroutet werden sollen. Damit das +funktioniert muss neben dem "normalen" Routing auch das interne Routing +des Servers konfiguriert werden, der dazu "iroute" Einträge benötigt. + +.. code:: wiki + + mode server + tls-server + port 1194 + proto udp + ca /tmp/flash/openvpn/ca.crt + cert /tmp/flash/openvpn/box.crt + key /tmp/flash/openvpn/box.key + dh /tmp/flash/openvpn/dh.pem + dev tun + topology subnet + push "topology subnet" + ifconfig 10.10.10.1 255.255.255.0 + cipher AES-128-CBC + verb 3 + + script-security 2 + client-connect "/bin/sh /tmp/flash/openvpn/script1" + + daemon + +Um für die Clients IPs zu vergeben wird hier "script1" als +client-connect Skript genutzt (ähnlich wie die "erweiterte Clientconfig" +der "alten GUI"). Die Idee/Anwendung sollte selbsterklärend sein (hoffe +ich): + +.. code:: wiki + + #!/bin/sh + CLIENTS='name:ip maske:netz1 maske1; netz2 maske2 + Client1:10.10.10.1 255.255.255.0:192.168.100.0 255.255.255.0 + Client2:10.10.10.2 255.255.255.0:192.168.200.0 255.255.255.0 + Client3:10.10.10.3 255.255.255.0: + Client4:10.10.10.4 255.255.255.0:192.168.104.0 255.255.255.0;192.168.105.0 255.255.255.0 + client3:10.10.10.12 255.255.255.0:192.168.104.0 255.255.255.0;192.168.105.0 255.255.255.0 + Client5:10.10.10.5 255.255.255.0' + + # env will give name of connected client in variable "common_name" + X=$(echo "$CLIENTS" | sed -n "/^${common_name}:/ s/^${common_name}:// p") + CLIENTCONFIG=$1 + + # if found info on common name, generate client-config + if [ -n "$X" -a -n "$CLIENTCONFIG" ]; then + IP=${X%%:*} + NETS=${X##*:} + [ -n "$IP" ] && echo "ifconfig-push $IP" > $CLIENTCONFIG + [ -n "$NETS" -a "$NETS" != "$IP" ] && echo -e "iroute $NETS" | \ + sed "s/[[:space:]]*;[[:space:]]*/\niroute /g" >> $CLIENTCONFIG + fi + +.. _WeitereKonfigsanlegen: + +Weitere Konfigs anlegen +~~~~~~~~~~~~~~~~~~~~~~~ + +Um weitere Konfigs anzulegen, muss man momentan noch von Hand einmal +einen Aufruf machen. Um Beispielsweise eine Config Namens +``OpenVPN_TCP`` anzulegen: + +``http://fritz.box:81/cgi-bin/conf/openvpn?genconfigname=OpenVPN_TCP`` + +ACHTUNG: Nicht den Config-Namen "OpenVPN" oder "openvpn" verwenden! + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ +- `vpn </tags/vpn>`__ + +.. |;-)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/owfs.rst b/wiki/packages/owfs.rst new file mode 100644 index 0000000..9690e8a --- /dev/null +++ b/wiki/packages/owfs.rst @@ -0,0 +1,48 @@ +packages/owfs +============= +owfs +==== + +Dieses Paket bietet ähnliche Funktionen wie das digitemp Paket, mit dem +Vorteil, dass eine größere Auswahl an Chips unterstützt wird. Eine +Integration in die Freetz Oberfläche ist jedoch noch nicht vorhanden. + +| Der 1-Wire-Bus sollte für längere Distanzen (x00m) mindestens mit + Shielded/TwistedPair Kabeln aufgebaut werden. Wie bei jedem Bus dürfen + die Zweige nicht zu lang werden, dh. < 1m, damit die Reflexionen das + Datensignal nicht überlagern. +| Als Busmaster wurde derzeit der USB-1.1 Adapter DS9490R an einer + Fritzbox getestet. + +| Das Paket wird ohne Fuse-Support gebaut, die Shelltools erlauben + jedoch gleichwertige Funktionen. Grundsätzlich muss ein owserver + gestartet werden, er serialisiert/managed die Anfragen an den Bus. +| Verbindungen laufen standardmäßig über Port 4304. +| ``owserver --usb=ALL`` + +| owhttpd ist ein mini Webserver und erlaubt komfortables BUS-Debugging + per Webbrowser (`​http://fritz.box:99 <http://fritz.box:99>`__) +| ``owhttpd -s 127.0.0.1:4304 -p 99`` +| Dieser muss natürlich nicht zwingend auf der fritzbox laufen, denn die + option -s bestimmt die tcp/ip Verbindungsparameter zu irgendeinem + ``owserver``. + +owdir owread owwrite: erlaubt das einfache Auslesen und Beschreiben von +1-Wire Devices in der Shell bzw. in Shell-Skripten. + +Mehr Infos gibts in den manpages unter "weiterführende Links". + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://owfs.org/ <http://owfs.org/>`__ +- `​A Guide to the 1WRJ45 + Standard <http://1wire.org/index.html?target=p_2.html&lang=en-us>`__ + +-------------- + +- Tags +- `homeautomation </tags/homeautomation>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/pciutils.rst b/wiki/packages/pciutils.rst new file mode 100644 index 0000000..77f65fc --- /dev/null +++ b/wiki/packages/pciutils.rst @@ -0,0 +1,27 @@ +packages/pciutils +================= +pciutils +======== + +Die **PCI Utilities** sind eine Tool-Sammlung zur Untersuchung und +Manipulation von +`​PCI <http://de.wikipedia.org/wiki/Peripheral_Component_Interconnect>`__ +Geräten. Die Tools basieren auf einer gemeinsamen, portablen Bibliothek +namens *libpci*. + +Enthalten sind folgende Programme: + +- **lspci** zeigt detaillierte Informationen über alle vorhandenen PCI + Busse des Systems sowie daran angeschlossene Geräte an +- **setpci** erlaubt das Lesen von und auch Schreiben in + Konfigurations-Register von PCI Geräten. Zum Beispiel lassen sich + damit "Latency Timer" justieren. + +Für weitere Informationen siehe auch +`​http://mj.ucw.cz/pciutils.shtml <http://mj.ucw.cz/pciutils.shtml>`__ + +-------------- + +- Tags +- `hardware </tags/hardware>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/php.rst b/wiki/packages/php.rst new file mode 100644 index 0000000..5d8ab0d --- /dev/null +++ b/wiki/packages/php.rst @@ -0,0 +1,51 @@ +packages/php +============ +.. _PHP: + +PHP +=== + +"*PHP is a widely-used general-purpose scripting language that is +especially suited for Web development and can be embedded into HTML.*" + +.. _Memoryusage: + +Memory usage +------------ + +It works, but it needs a lot of memory, so a swap file is advisable +(about 32 MB will do in most cases). + +.. code:: wiki + + -rwxr-xr-x 1 root root 5036004 Apr 25 18:41 php-cgi + +.. code:: wiki + + VmPeak: 10740 kB + VmSize: 10740 kB The size of the virtual memory allocated to the process + VmRSS: 3068 kB The amount of memory mapped in RAM ( instead of swapped out ) + +This is why `​fast-CGI <http://www.fastcgi.com/>`__ is better too: +instead of loading the PHP binary over and over again it stays in +memory, also giving the system the opportunity to swap out unused parts +of it. + +Another thing is that *php.ini* will use valuable flash space and is +quite big. A solution is to make a symbolic link to an USB storage +device: + +.. code:: wiki + + cp /tmp/flash/php.ini /var/media/ftp/uFlash/hiawatha/php.ini + rm /tmp/flash/php.ini + ln -s /var/media/ftp/uFlash/hiawatha/php.ini /tmp/flash/php.ini + modsave + +.. _Links: + +Links +----- + +- `​Home page <http://www.php.net/>`__ +- `​PHP Tutorial <http://www.w3schools.com/php/>`__ diff --git a/wiki/packages/phpxmail.en.rst b/wiki/packages/phpxmail.en.rst new file mode 100644 index 0000000..c685e00 --- /dev/null +++ b/wiki/packages/phpxmail.en.rst @@ -0,0 +1,166 @@ +packages/phpxmail.en +==================== +.. _Introduction: + +Introduction +============ + +The mail to/from my hosting provider got interrupted now and then and +the support wasn't that good. Setting up a mail server using Freetz and +PHPXMail was very simple. Now I can select my own blocklists and see in +the logs what is (not) happening. + +.. _Basicsetupguide: + +Basic setup guide +================= + +#. To prevent disappointment: check if your internet provider allows + SMTP (port 25) traffic +#. Build and install Freetz with PHPXMail and + `AVM-firewall-cgi <avm-firewall.html>`__ + + #. PHPXMail selects XMail and PHP + #. Be prepared for the space requirements … + +#. Setup Firewall (Freetz menu Packages > AVM-Firewall) + + #. Select port forwarding + #. Forward TCP port 25 to Fritz!Box port 10025 (SMTP) + #. Forward TCP port 110 to Fritz!Box port 10110 (POP3) + #. Apply settings + #. Reboot + +#. Setup XMail (Freetz menu Packages > XMail) + + #. Set start type to automatic + #. Fill in a **existing** directory for settings & storage, for + example + + .. code:: wiki + + /var/media/ftp/uStor01/XMail + +#. Activate SMTP & POP3 +#. Activate unencrypted admin access +#. Activate all logging for the time being +#. Apply +#. Start XMail (freetz menu Services > XMail > Start) +#. Change the user name of the web interface to set XMail password + (Freetz menu Settings > webcfg > change password) +#. Open PHPXMail configuration site (Freetz menu Packages > PHPXMail > + here) + + #. Login with user *admin* and the set web interface password + #. Goto server config + + #. Enable *DefaultSMTPGateways* + #. Fill in your provider's smtp server address + #. Save values + #. Read + `​this <http://www.xmailserver.org/Readme.html#smtp_client_authentication>`__ + if you need to authenticate + + #. Goto server domains > new domain + #. Enter your domain name, for example *your-domain.com* + #. Submit + #. Goto server config + + #. Enable and set *CustMapsList* to (see + `​here <http://xmailforum.homelinux.net/index.php?showtopic=4620>`__): + + .. code:: wiki + + zen.spamhaus.org.:0 + +#. Create an MX record that points to the external IP of your FritzBox + + #. See for example + `​here <http://www.dyndns.com/support/kb/email_mail_exchangers_and_dns.html>`__ + for information + #. Use `​DynDNS <http://www.dyndns.com/>`__ or similar if you have a + dynamic IP address + #. I created an MX record with a higher priority than the existing + records, so in case of problems mail will be handled by my hosting + provider as usual + +#. Setup your preferred e-mail client + + #. Server: external IP of your FritzBox + #. User name: *postmaster @ your-domain.com* + +#. Test your configuration + + #. Send a test mail to *postmaster @ your-domain.com* (check server + logs > smtp) + #. Receive the test mail with your e-mail client (check server logs > + pop3) + #. Check for open mail relaying for example + `​here <http://www.abuse.net/relay.html>`__ + +#. Setup as many other domains and accounts as you like … + +If you want to forward e-mail: + +#. Goto the domain user you want to forward mail for +#. Select the link user mail proc +#. Enter redirect|<forwarding e-mail address> +#. Submit + +It is not a bad idea to backup your XMail settings and storage +directory! + +.. _SetupSSL: + +Setup SSL +========= + +#. Build XMail with SSL support +#. Login using telnet (or better SSH) +#. Goto the XMail settings directory +#. Create the file *openssl.cnf* with the example contents from + `​here <http://www.iona.com/support/docs/orbix2000/2.0/tls/html/OpenSslUtils3.html>`__ +#. Enter the following commands: + + .. code:: wiki + + openssl_genrsa 2048 > server.key + openssl_req -new -x509 -key server.key -out server.cert -days 365 -config openssl.cnf + +#. Answer the questions with anything you like, but use your domain name + as common name (CN) +#. Forward TCP port 465 to Fritz!Box port 10465 (SSMTP) +#. Forward TCP port 995 to Fritz!Box port 10995 (POP3S) +#. Activate the XMail options SSMTP and POP3S (note that the checkboxes + don't show up checked again before changeset + `r4760 </changeset/4760>`__) +#. Test by checking your e-mail with SSL (port 995) enabled + +.. _Usefullinks: + +Useful links +============ + +- `​XMail Home Page <http://www.xmailserver.org/>`__ +- `​PHPXmail source + forge <http://sourceforge.net/projects/phpxmail/>`__ +- `​PhpXMail + Configuration <http://wiki.qnap.com/wiki/PhpXMail_Configuration>`__ +- `​IPPF: Mailserver für die + Fritzbox? <http://www.ip-phone-forum.de/showthread.php?t=103699&highlight=PHPXMail>`__ +- `​IPPF: [PATCH]: XMail + funktioniert <http://www.ip-phone-forum.de/showthread.php?t=205071&highlight=PHPXMail>`__ + \* +- `​OpenSSL Self-signed Test + Certificates <http://sial.org/howto/openssl/self-signed/>`__ +- `​HOWTO: Creating SSL certificates with CAcert.org and + OpenSSL <http://www.lwithers.me.uk/articles/cacert.html>`__ +- `​Welche Webmail-Oberflächen in PHP gibt + es? <http://www.php-faq.de/q-scripte-webmailer.html>`__ +- `​AfterLogic WebMail + Pro <http://www.afterlogic.com/products/webmail-pro>`__ + +- Tags +- `mail </tags/mail>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/phpxmail.rst b/wiki/packages/phpxmail.rst new file mode 100644 index 0000000..26b39fd --- /dev/null +++ b/wiki/packages/phpxmail.rst @@ -0,0 +1,10 @@ +packages/phpxmail +================= +- `Basic setup guide <phpxmail.en.html>`__ +- `​XMail <http://www.xmailserver.org/>`__ +- `​PHPXMail <http://phpxmail.sourceforge.net/>`__ + +- Tags +- `mail </tags/mail>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/pingtunnel.rst b/wiki/packages/pingtunnel.rst new file mode 100644 index 0000000..6fa96f7 --- /dev/null +++ b/wiki/packages/pingtunnel.rst @@ -0,0 +1,100 @@ +packages/pingtunnel +=================== +pingtunnel +========== + +**PTunnel** erlaubt das verlässliche Tunneln von TCP Verbindungen über +`​ICMP <http://de.wikipedia.org/wiki/Internet_Control_Message_Protocol>`__ +Echo-Requests, was auch als `​ICMP +Tunnel <http://en.wikipedia.org/wiki/Pingtunnel>`__ bekannt ist. Das mag +zwar auf den ersten Blick recht nutzlos aussehen - dafür erweist es sich +in manchen Situationen als recht hilfreich. Wenn nämlich nichts anderes +weiterhilft, weil eine restriktive Firewall im Wege steht… + +.. _Setup: + +Setup +----- + +Folgendes bei ``forwardrules`` der ar7.cfg eintragen um Pings aus dem +Internet zuzulassen: + +.. code:: wiki + + "icmp 0.0.0.0 0.0.0.0 0 # PTunnel" + +Or use `AVM-Firewall <avm-firewall.html>`__ from revision 6794 to do the +same from a web interface. + +Capturing packets (`​libpcap <http://www.tcpdump.org/pcap3_man.html>`__) +from interface *dsl* doesn't work (packets are fragmented), but from +interface *lan* does: + +.. code:: wiki + + ptunnel -c lan + +(Error message if using dsl: "*Received fragmented packet - unable to +reconstruct! This error usually occurs because pcap is used on devices +that are not wlan or ethernet.*") + +The web interface of pingtunnel (from revision 6792) uses the following +options if you don't specify extra options: + +.. code:: wiki + + -c lan -syslog -x <password> + +For maximum flexibility ``-c lan -syslog`` is omitted if you specify +extra options. + +Be sure to specify enough tunnels when tunneling ``http`` traffic with +the ``-m`` option. + +.. _Security: + +Security +-------- + +Pingtunnel is not very secure, because it possible to choose random +tunnel endpoints from the client. The best thing that can be done, is +using a strong password. + +Be sure to use client version 0.71 or higher and the patched 0.71 server +version when using passwords! + +Also realize that ICMP traffic makes it to the internal net of the box +if you configure ICMP forwarding. + +It is easily overlooked, but you can tighten security with these option: + +.. code:: wiki + + -da: Set remote proxy destination address if client + Restrict to only this destination address if server + -dp: Set remote proxy destionation port if client + Restrict to only this destination port if server + +You can restrict access to for example Polipo? like this: + +.. code:: wiki + + -da localhost -dp 8123 + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Homepage <http://www.cs.uit.no/~daniels/PingTunnel/>`__ (Englisch) +- `​Freshmeat Projektseite <http://freshmeat.net/projects/ptunnel/>`__ +- `​Breaking through firewalls with a ping + tunnel <http://psung.blogspot.com/2008/05/breaking-through-firewalls-with-ping.html>`__ + (Blog Artikel) + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/polipo.en.rst b/wiki/packages/polipo.en.rst new file mode 100644 index 0000000..0bfa78f --- /dev/null +++ b/wiki/packages/polipo.en.rst @@ -0,0 +1,116 @@ +packages/polipo.en +================== +.. _UsingwithTor: + +Using with Tor +-------------- + +#. Add *socksParentProxy=localhost:9050* to *Additional options* +#. Point your browser http proxy to 192.168.178.1:8123 +#. Set *No proxy for* to *localhost, 127.0.0.1, 192.168.178.0/24* + +(assuming default configuration) + +If you use Firefox, use `​Tor +Button <https://addons.mozilla.org/nl/firefox/addon/2275/>`__ to prevent +DNS leakage (and other privacy problems with cookies, plugins, etc). + +.. _Usingatyouroffice: + +Using at your office +-------------------- + +Maybe your internet access at your office (school, internet café, etc) +is restricted, filtered and/or monitored and you don't want that. In my +case Trend Micro OfficeScan blocks a lot of web-sites as false positives +(including `​www.ip-phone-forum.de <http://www.ip-phone-forum.de/>`__). +A solution is this: + +#. Install Polipo and `dropbear <dropbear.html>`__ (or another tunnel + package) +#. Forward port 22 (and/or 80 if port 22 is blocked) to localhost:22 + using `AVM-firewall <avm-firewall.html>`__ +#. Create an `​SSH + tunnel <http://oldsite.precedence.co.uk/nc/putty.html>`__ from your + office to your FritzBox, for example using + `​putty <http://www.chiark.greenend.org.uk/~sgtatham/putty/>`__ +#. Configure your browser at your office to use the http proxy + localhost:8123 (assuming default Polipo configuration) + +It is not an bad idea to restrict the memory Polipo will use with the +following additional option: + +.. code:: wiki + + chunkHighMark=1048576 + +.. _Security: + +Security +-------- + +Unless you restrict the IP addresses that can access dropbear, my advice +is to disable password login and to use `host-based +authentication <dropbear.html#ZugangmitPutty1>`__. + +It is also possible to encapsulate SSH traffic using +`STunnel <stunnel.html>`__, for cases where only http/https traffic is +allowed. + +Beware that DNS requests could still be monitored, see the section about +Tor about how to prevent this. (it is possible to use Tor Button without +Tor) + +It is possible to tighten security by using these options: + +.. code:: wiki + + tunnelAllowedPorts=443;allowedPorts=80,443 + +This prevent tunneling through the proxy and access to the freetz web +interface. + +.. _Blockingdomains: + +Blocking domains +---------------- + +Using the extra options it is possible to specify a file with forbidden +domains, like this: + +.. code:: wiki + + forbiddenFile=/var/media/ftp/uFlash/polipo/forbidden + +Add the domains you want to block on separate lines, like this: + +.. code:: wiki + + doubleclick.net + googleadservices.com + google-analytics.com + googlesyndication.com + facebook.com/plugins + +.. _Issues: + +Issues +------ + +- Download of large files is broken and wont be fixed: + `​ticket <https://trac.torproject.org/projects/tor/ticket/1149>`__ + +.. _Links: + +Links +----- + +- `​Polipo home <http://www.pps.jussieu.fr/~jch/software/polipo/>`__ +- `​Polipo status <http://192.168.178.1:8123/polipo/status?>`__ +- `​Polipo configuration <http://192.168.178.1:8123/polipo/config?>`__ +- `Package Tor <tor.html>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `proxy </tags/proxy>`__ diff --git a/wiki/packages/portmap.rst b/wiki/packages/portmap.rst new file mode 100644 index 0000000..0a0ea7c --- /dev/null +++ b/wiki/packages/portmap.rst @@ -0,0 +1,32 @@ +packages/portmap +================ +portmap +======= + +Der **portmap**-Dienst ist ein dynamischer Port-Zuweisungs-Daemon für +`​RPC <http://de.wikipedia.org/wiki/Remote_Procedure_Call>`__-Dienste +wie `​NIS <http://de.wikipedia.org/wiki/Network_Information_Service>`__ +und `​NFS <http://de.wikipedia.org/wiki/Network_File_System>`__. Es +besitzt schwache Authentifizierungsmechanismen und hat die Fähigkeit, +eine große Bandbreite an Ports für die von ihm kontrollierten Dienste +zuzuweisen. + +*Portmap* wird u.a. vom `NFS <nfs.html>`__ Paket benötigt. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Portmap Man page <http://www.manpagez.com/man/8/portmap/>`__ +- `​Portmap + absichern <http://www.linuxtopia.org/online_books/deutsch/redhat_linux_security_guide/s1-server-port.html>`__ + (Redhat Security Guide) +- `​Wikipedia Artikel <http://en.wikipedia.org/wiki/Portmap>`__ + (Englisch) + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/ppp.rst b/wiki/packages/ppp.rst new file mode 100644 index 0000000..fc54629 --- /dev/null +++ b/wiki/packages/ppp.rst @@ -0,0 +1,197 @@ +packages/ppp +============ +.. figure:: /screenshots/121.jpg + :alt: ppp-cgi + + ppp-cgi + +ppp-cgi +======= + +| Entstanden aus diesem Thread im IPPF: + `​http://www.ip-phone-forum.de/showthread.php?t=201519 <http://www.ip-phone-forum.de/showthread.php?t=201519>`__ +| Mit dem "ppp-cgi" kann man eine dialup-network Verbindung über eine + serielle Schnittstelle aufbauen. USB-Modems für UMTS stellen eine + solche zur Verfügung. + +| + +.. _AllgemeineKonfiguration: + +Allgemeine Konfiguration +======================== + +| zu finden im Webinterface unter "Pakete" > "PPP" + +.. _Starttyp: + +Starttyp +~~~~~~~~ + +Wenn man "automatisch" wählt wird die Verbindung gleich beim starten der +Box aufgebaut, bzw bei Fallback nach Ausfall der +DSL/ATA-Internetverbindung. + +.. _Logdatei: + +Logdatei +~~~~~~~~ + +Hier kann der Pfad zu Logdatei angegeben werden. Sie kann im +Freetz-Webinterface unter "Status" eingesehen werden. Es ist zu +empfehlen den Pfad auf einen persistenten Ort zu ändern damit die Datei +durch einen Reboot der Fritzbox nicht verloren geht! + +| + +.. _KonfigurationfürUMTS: + +Konfiguration für UMTS +====================== + +.. _PEERS:chat: + +PEERS: chat +~~~~~~~~~~~ + +Hier muss der benötigte Access-Pount-Name (APN) anstelle des +"your.personal.apn" eingetragen werden. + +.. _PEERS:options: + +PEERS: options +~~~~~~~~~~~~~~ + +Hier kann der Port (Vorgabe: /dev/ttyUSB0) geändert und falls benötigt +der Benutzername und das Passwort angegeben werden. + +.. _Befehls-TTY: + +Befehls-TTY +~~~~~~~~~~~ + +Optional kann hier der 2. Port des Modem eingetragen werden (meist +/dev/ttyUSB1). Über diesen werden Statusinformationen wie verfügbare +Netze abgerufen und auf der Statusseite angezeigt. Wenn das Feld leer +bleibt wird wie komplette Statusbox nicht angezeigt. + +.. _Modus: + +Modus +~~~~~ + +Optional kann hier der gewünschte Verbindungsmodus ausgewählt werden. + +| + +.. _Namensauflösung: + +Namensauflösung +=============== + +Für eine dynamisch wechselnde Namensauflösung zwischen Mobilfunk und +herkömmlicher Verbindung empfiehlt sich folgendes: + +- Bei dnsmasq im Feld "Zusätzliche Kommandozeilen-Optionen (für + Experten)" dies eintragen: + + .. code:: wiki + + -r /var/tmp/avm-resolv.conf -r /etc/ppp/resolv.conf + +- alternativ falls OpenDNS bevorzugt wird + + .. code:: wiki + + -r /etc/ppp/resolv.conf -S 208.67.220.220 -S 208.67.222.222 + +| + +.. _FirewallRoutingNAT: + +Firewall, Routing & NAT +======================= + +Um Masquerading zu aktivieren sind folgende Befehle nötig: + +.. code:: wiki + + modprobe ipt_state + modprobe ipt_MASQUERADE + iptables -A INPUT -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT + iptables -A INPUT -i ppp0 -j DROP + iptables -A FORWARD -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT + iptables -A FORWARD -i ppp0 -j DROP + iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE + +Hierzu werden die iptables-Module *state* und *MASQUERADE* benötigt. + +|/!\\| Diese lassen (ließen?) Boxen mit altem Kernel 2.6.13.1 wie zB die +7170 nach einer gewissen Zeit rebooten, siehe Ticket +`#260 </ticket/260>`__. + +Die Befehle können in der debug.cfg oder rc.custum eingetragen werden. +Von Vorteil ist es aber sie von den Skripten des ppp-cgi ausfgühren zu +lassen und nach Verbindungsabbau wieder aufzuheben und vor allem die +Module wieder zu entladen. + +| + +.. _Fallback: + +Fallback +======== + +|/!\\| Dieses Feature ist noch exprimentell. Fehlfunktionen und hohe +Kosten können nicht ausgeschlossen werden! + +Bei Aktivierung von Fallback wird die DSL/ATA-Internetverbindung alle X +Sekunden mit den durch Leerzeichen angegebenen Hosts geprüft und nach Y +Sekunden ohne Antwort die ppp-Verbindung aufgebaut. Zu dem Host "prüfen +auf Wiederherstellung" wird eine Route eingerichtet um zu erkennen wann +die DSL/ATA-Internetverbindung wieder besteht. Durch anlegen dieser +Route kann die entsprechende IP nicht per ppp-Verbindung erreicht +werden! + +| + +.. _Treiberprobleme: + +Treiberprobleme +=============== + +Das Treibermodul *option* wird beim Start automatisch geladen. Es kann +aber nötig sein es mit eigenen Parameter zu laden, zB durch +``usbserial vendor=0xYYYY product=0xZZZZ`` in der *Freetz: modules*. + +| + +.. _Wasistnochzubeachten2do-Liste: + +Was ist noch zu beachten? (2do-Liste) +===================================== + +|/!\\| Es können momentan nur SIMs mit deaktivierter PIN-Abfrage genutzt +werden. (dies ist allerdings mit dem Package *gcom* möglich) + +| + +.. _Weiteres: + +Weiteres +======== + +Deaktivierung des integrierten CD-Roms bei Huawei-Sticks mittels +einmaligem ``at^u2diag=0`` an das 2. virtuelle, serielle Interface +(meist /dev/ttyUSB1 unter Linux) des Sticks, bzw ``at^u2diag=1`` um es +wieder einzuschalten. + +| + +- Tags +- `cgi </tags/cgi>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/pptp.rst b/wiki/packages/pptp.rst new file mode 100644 index 0000000..367e7c5 --- /dev/null +++ b/wiki/packages/pptp.rst @@ -0,0 +1,58 @@ +packages/pptp +============= +.. _PPTPClient: + +PPTP Client +=========== + +``"PPTP Client is a Linux, FreeBSD, NetBSD and OpenBSD client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP. Allows connection to a PPTP based Virtual Private Network (VPN)."`` + +Viele Firmen setzen den PPTP-Server von Microsoft ein. Mit dem Client +kann man ein Verbindung zu diesem VPN über das **Point-to-Point +Tunneling Protocol** (**PPTP**) aufbauen + +|/!\\| Das PPTP-Package benötigt "replace kernel". + +.. _PPTPKonfiguration: + +PPTP Konfiguration +------------------ + +| +| **Hostname**: ``VPN-Server``\ (Beispiel vpn.tolledomain.de) +| **Benutzername**: ``VPN-Benutzername``\ (Bei Windows bitte Domäne so + schreiben → DOMÄNE/user oder DOMÄNE\\user, nicht DOMÄNE\user) +| **Servername**: ``PPTP`` + +.. _IPRouting: + +IP Routing +---------- + +| +| Aktivieren und in das Textfeld das Firmennetz samt Subnetzmaske + reinschreiben (z.B. 10.0.0.0 255.255.255.0) + +| Die Änderungen übernehmen und nochmal auf die Seite. Jetzt auf + ``PPPD: chap-secrets bearbeiten`` klicken und dort folgendes + eintragen: ``VPN-Username PPTP VPN-Password *`` +| *Wichtig*: VPN-Username und VPN-Password sind durch eure Sachen zu + ersetzen! + +Danach unter Dienste das PPTP-Package starten und per SSH von der +Fritzbox einen Rechner im Firmennetz anpingen. + +Routing/NAT infos folgen + +Screenshot? + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `security </tags/security>`__ +- `server </tags/server>`__ +- `tunnel </tags/tunnel>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/pptpd.rst b/wiki/packages/pptpd.rst new file mode 100644 index 0000000..51dafcc --- /dev/null +++ b/wiki/packages/pptpd.rst @@ -0,0 +1,85 @@ +packages/pptpd +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `PoPTop - PPTP-VPN-Server <pptpd.html#PoPTop-PPTP-VPN-Server>`__ + + #. `What is PPTP? <pptpd.html#WhatisPPTP>`__ + #. `What is Poptop? <pptpd.html#WhatisPoptop>`__ + +#. `Installation <pptpd/install.html#Installation>`__ + + #. `Kernel 2.6 (Freetz) <pptpd/install.html#Kernel2.6Freetz>`__ + #. `Kernel 2.4 (ds-mod) <pptpd/install.html#Kernel2.4ds-mod>`__ + + #. + + #. `Vorbereitungen <pptpd/install.html#Vorbereitungen>`__ + + #. `Patch einspielen <pptpd/install.html#Patcheinspielen>`__ + #. `Kernel konfigurieren und + kompilieren <pptpd/install.html#Kernelkonfigurierenundkompilieren>`__ + #. `Kompilieren des Images vorbereiten und + durchführen <pptpd/install.html#KompilierendesImagesvorbereitenunddurchführen>`__ + +#. `Das Web-Frontend zum + Paket <pptpd/webif.html#DasWeb-FrontendzumPaket>`__ + + #. `Portweiterleitung <pptpd/webif.html#Portweiterleitung>`__ + +#. `Konfiguration <pptpd/config.html#Konfiguration>`__ + + #. `pptpd.conf <pptpd/config.html#pptpd.conf>`__ + #. `options.pptpd <pptpd/config.html#options.pptpd>`__ + #. `chap-secrets <pptpd/config.html#chap-secrets>`__ + #. `Troubleshooting <pptpd/config.html#Troubleshooting>`__ + #. `Troubleshooting keine + Fehlermeldung <pptpd/config.html#TroubleshootingkeineFehlermeldung>`__ + +.. _PoPTop-PPTP-VPN-Server: + +PoPTop - PPTP-VPN-Server +======================== + +Paket aus dem Thread: `​PPTP Server auf der Fritzbox und Speedport W701 +V/W 900 V +funktioniert <http://www.ip-phone-forum.de/showthread.php?p=714224>`__ + +Als erstes ein großer Dank an +`​gamf <http://www.ip-phone-forum.de/member.php?u=93421>`__ und +`​hehol <http://www.ip-phone-forum.de/member.php?u=63500>`__ für die +Bereitstellung der Patches und des Pakets. + +.. _WhatisPPTP: + +What is PPTP? +------------- + +PPTP stands for Point to Point Tunneling Protocol. It was developed by a +consortium including Microsoft and is used for establishing VPN (Virtual +Private Network) tunnels across the Internet. This allows remote users +to securely and inexpensively access their corporate network from +anywhere on the Internet. + +PPTP uses a client-server model for establishing VPN connections. Most +Microsoft operating systems ship with a PPTP client, so there is no need +to purchase third-party client software. PPTP has the additional +advantage over other VPN technologies of being easy to setup. + +.. _WhatisPoptop: + +What is Poptop? +--------------- + +Before Poptop, no solution existed if you wish to connect PPTP clients +to Linux servers. Using Poptop, Linux servers can now function +seamlessly in a PPTP VPN environment. This enables administrators to +leverage the considerable benefits of both Microsoft and Linux operating +systems. + +The current release version supports Windows 95/98/Me/NT/2000/XP PPTP +clients and Linux PPTP clients. + +Quelle und weitere Infos: +`​http://www.poptop.org/ <http://www.poptop.org/>`__ diff --git a/wiki/packages/pptpd/config.rst b/wiki/packages/pptpd/config.rst new file mode 100644 index 0000000..f8b6c45 --- /dev/null +++ b/wiki/packages/pptpd/config.rst @@ -0,0 +1,169 @@ +packages/pptpd/config +===================== +.. _Konfiguration: + +Konfiguration +============= + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ + + #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ + #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ + +#. `Installation <install.html#Installation>`__ + + #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ + #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ + + #. + + #. `Vorbereitungen <install.html#Vorbereitungen>`__ + + #. `Patch einspielen <install.html#Patcheinspielen>`__ + #. `Kernel konfigurieren und + kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ + #. `Kompilieren des Images vorbereiten und + durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ + +#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ + + #. `Portweiterleitung <webif.html#Portweiterleitung>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `pptpd.conf <config.html#pptpd.conf>`__ + #. `options.pptpd <config.html#options.pptpd>`__ + #. `chap-secrets <config.html#chap-secrets>`__ + #. `Troubleshooting <config.html#Troubleshooting>`__ + #. `Troubleshooting keine + Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ + +Die drei für Poptop relevanten Dateien können entweder über das +`Webinterface <webif.html>`__ oder auf der Shell per vi editiert werden. +Sie liegen im Verzeichnis ``/tmp/flash/ppp``. + +pptpd.conf +---------- + +In der mitgelieferten Konfiguration ist logwtmp standardmäßig aktiviert +(bezieht sich auf Version 1.1.2-stable. Ist im 'trunk' schon gefixed.). +Dies sollte deaktiviert werden, da wtmp auf der fritzbox nicht läuft und +somit eine vpn-Verbindung nicht zustande kommt. + +.. code:: wiki + + # TAG: logwtmp + # Use wtmp(5) to record client connections and disconnections. + # + #logwtmp + +Falls die Datenrate vom Wlan ins Internet mit pptpd sehr langsam ist, +sollte die Zeile ``bcrelay`` auskommentiert werden (siehe +`​IPPF <http://www.ip-phone-forum.de/showthread.php?t=201539>`__) + +options.pptpd +------------- + +In der Datei options.pptpd ist gegebenenfalls ``require-mppe-128`` +eingetragen (bezieht sich auf Version 1.1.2-stable. Ist im 'trunk' schon +gefixed.). Der pppd kennt diese Option aber nicht. Beim Aushandeln der +Verschlüsselung per 'Auto' Einstellung im Client kann es unter Umständen +zu Verbindungsproblemen kommen, wenn der Client erstmal verhandeln will +(negotiation), der pppd aber direkt verschlüsselt sprechen will. Man +kann die Verschlüsselung direkt auf 128 Bit fest einstellen. Mit dieser +Einstellung hat eine PPTP Verbindung mit dem iPhone VPN-Client geklappt: + +.. code:: wiki + + # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft + # Challenge Handshake Authentication Protocol, Version 2] authentication. + require-mschap-v2 + # Require MPPE 128-bit encryption + # (note that MPPE requires the use of MSCHAP-V2 during authentication) + #require-mppe-128 + + mppe required,no40,no56,stateless + +chap-secrets +------------ + +In der ``options.pptpd`` ist der Name auf ``fritzbox`` eingestellt. Dies +sollte sich dann in einem Benutzereintrag in der ``chap-secrets`` +widerspiegeln: + +.. code:: wiki + + # client server secret IP addresses + username fritzbox password 192.168.x.y + EOF + +In vielen Beispielen im Netz steht in der zweiten Spalte ``pptpd``. +Möchte man das so haben, dann sollte man einfach den ``name`` Eintrag in +``options.pptpd`` entsprechend anpassen. + +.. _Troubleshooting: + +Troubleshooting +--------------- + +Um die pptpd Meldungen zu sehen, muss man zunächst einen syslogd +starten: + +.. code:: wiki + + /var/tmp/flash/ppp # syslogd -L -C256 -l 7 + +Und kann sich danach die Meldungen des daemons im syslog per ``logread`` +anschauen: + +.. code:: wiki + + /var/tmp/flash/ppp # logread + +Um mehr Meldungen zu bekommen, kann man in ``options.pptpd`` und/oder +``pptpd.conf`` den Debug-Modus aktivieren: + +options.pptpd: + +.. code:: wiki + + # Enable connection debugging facilities. + # (see your syslog configuration for where pppd sends to) + debug + +pptpd.conf: + +.. code:: wiki + + # TAG: debug + # Turns on (more) debugging to syslog + # + debug + +.. _TroubleshootingkeineFehlermeldung: + +Troubleshooting keine Fehlermeldung +----------------------------------- + +Bei mir tauchte im log keine Fehlermeldung auf. Da hilft debuggen auf +der Box mit: + +.. code:: wiki + + ./strace pptpd -d -f -c /etc/ppp/pptpd.conf + +Dabei kam heraus, dass es folgende Fehlermeldung gibt: + +.. code:: wiki + + can't resolve symbol 'bzero' + +Dazu gibt es einen Thread im Forum, der letzte Post erklärt wie man die +Toolchain zum fixen neu bauen muss: +`​http://www.ip-phone-forum.de/showpost.php?p=1407147&postcount=25 <http://www.ip-phone-forum.de/showpost.php?p=1407147&postcount=25>`__ + +Update[18.07.11]: Das Problem sollte mit Freetz-1.2 bzw. einem aktuellen +Trunk nicht mehr auftreten. diff --git a/wiki/packages/pptpd/install.rst b/wiki/packages/pptpd/install.rst new file mode 100644 index 0000000..93d7aad --- /dev/null +++ b/wiki/packages/pptpd/install.rst @@ -0,0 +1,216 @@ +packages/pptpd/install +====================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ + + #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ + #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ + +#. `Installation <install.html#Installation>`__ + + #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ + #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ + + #. + + #. `Vorbereitungen <install.html#Vorbereitungen>`__ + + #. `Patch einspielen <install.html#Patcheinspielen>`__ + #. `Kernel konfigurieren und + kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ + #. `Kompilieren des Images vorbereiten und + durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ + +#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ + + #. `Portweiterleitung <webif.html#Portweiterleitung>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `pptpd.conf <config.html#pptpd.conf>`__ + #. `options.pptpd <config.html#options.pptpd>`__ + #. `chap-secrets <config.html#chap-secrets>`__ + #. `Troubleshooting <config.html#Troubleshooting>`__ + #. `Troubleshooting keine + Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ + +.. _Installation: + +Installation +============ + +.. _Kernel2.6Freetz: + +Kernel 2.6 (Freetz) +------------------- + +pptpd ist mittlerweile als Paket in `Freetz <../../index.html>`__ +integriert, sodass es hier nur noch bei ``make menuconfig`` entsprechend +ausgewählt werden muss. Nach speichern der Konfiguration sowie +erfolgreichem ``make`` ist pptp dann im erstellten Image enthalten. + +|/!\\| Wichtig ist hier: Aufgrund der Crypt-Module wird ein "replaced +kernel" benötigt (kann entsprechend in ``make menuconfig`` ausgewählt +werden). Nur dann ist pptpd sichtbar und selektierbar! + +.. _Kernel2.4ds-mod: + +Kernel 2.4 (ds-mod) +------------------- + +Wer pptpd in einem Image mit Kernel 2.4 (also mit dem "alten" DS-Mod) +verbauen will, hat ein wenig mehr Hand anzulegen: + +.. _Vorbereitungen: + +Vorbereitungen +^^^^^^^^^^^^^^ + +Man braucht einen Crosscompiler? um den Kernel kompilieren zu können. +Falls noch nicht vorhanden: + +.. code:: wiki + + make toolchain + +Anschließend: + +.. code:: wiki + + make menuconfig + +Die entsprechende Box auswählen, für die nachfolgend der PPTP-Server +kompiliert werden soll. (Es wird nach der entsprechenden Kernel-Größe +4MB oder 8MB unterschieden.) + +*menuconfig* beenden und die Einstellungen abspeichern. + +Folgende Dateien herunterladen: + +- `​pptp-patch.zip <http://www.ip-phone-forum.de/attachment.php?attachmentid=9892&d=1157118571>`__ +- `​pptpd-1.3.0_fixed.tar.gz <http://www.ip-phone-forum.de/attachment.php?attachmentid=10966&d=1161809653>`__ + +Die Verzeichnisse für spätere Anpassungen vorbereiten: + +.. code:: wiki + + make kernel-dirclean + make kernel-menuconfig + +Hier noch keine Einstellungen vornehmen, einfach Beenden und +Abspeichern. + +.. _Patcheinspielen: + +Patch einspielen +~~~~~~~~~~~~~~~~ + +``pptp-patch.zip`` entpacken und Patch einspielen + +- für 8MB-Kernel + + :: + + unzip pptp-patch.zip -d DS-MOD-VERZEICHNIS/source/ref-ohio-8mb-04.06/kernel/kernel_ohio-8mb_build/kernel + cd DS-MOD-VERZEICHNIS/source/ref-ohio-8mb-04.06/kernel/kernel_ohio-8mb_build/kernel + patch -p0 < pptp-patch.patch + +- für 4MB-Kernel + + :: + + unzip pptp-patch.zip -d DS-MOD-VERZEICHNIS/source/ref-4mb-04.06/kernel/kernel_ohio-8mb_build/kernel + cd DS-MOD-VERZEICHNIS/source/ref-4mb-04.06/kernel/kernel_ohio-8mb_build/kernel + patch -p0 < pptp-patch.patch + +Beim Patchen werden euch noch ein paar Hinweise erwarten: + +.. code:: wiki + + The next patch would create the file linux-2.4.17_mvl21/include/asm-mips/kmap_types.h, + which already exists! Assume -R? [n] + Apply anyway? [n] + +Dort einfach alles mit *ENTER* betätigen. + +.. _Kernelkonfigurierenundkompilieren: + +Kernel konfigurieren und kompilieren +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: wiki + + make kernel-menuconfig + +Folgende Pakete zusätzlich auswählen: + +.. code:: wiki + + Network device support ---> + <*> PPP (point-to-point protocol) support + [*] PPP multilink support + [*] PPP support for async serial ports + <*> PPP Deflate compression + <*> Microsoft PPP compression/encyptions + + Cryptographic options ---> + [*] Cryptographic API + <*> SHA1 digest algorithms + <*> ARC4 cipher algorithms + +Beenden und Abspeichern + +.. code:: wiki + + make kernel-precompiled + +Sollte der Kompiliervorgang mit einem Segmentation-Fault abbrechen, den +Vorgang mit ``make kernel-precompiled`` noch einmal starten. Weshalb der +Fehler auftritt ist mir noch nicht klar, aber es entsteht schließlich +ein lauffähiges Kernel-Image. + +.. _KompilierendesImagesvorbereitenunddurchführen: + +Kompilieren des Images vorbereiten und durchführen +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Das Addon-Paket? ``pptpd-1.3.0_fixed.tar.gz`` nach +``DS-MOD-VERZEICHNIS/addon`` entpacken und anschließen in die Datei +``static.pkg`` eintragen. + +.. code:: wiki + + tar -C DS-MOD-VERZEICHNIS/addon -xvzf pptpd-1.3.0_fixed.tar.gz + echo pptpd-1.3.0 >> DS-MOD-VERZEICHINS/addon/static.pkg + +Um die Erstellung des fertigen Firmware-Images vorzubereiten: + +.. code:: wiki + + make menuconfig + +Dort die gewünschten Einstellungen vornehmen sowie sonstige Paktete +auswählen. + +Für das PPTP-Server-Image ist zusätzlich die Einbindung folgender +Libraries nötig: + +.. code:: wiki + + Advanced options --> + Shared libraries--> + [*] libcc_s.so.1 + uClibc ---> + [*] libutil-0.9.28.so + </code> + +Zuguterletzt erstellen wird das endgültige Image mit: + +.. code:: wiki + + make + +.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/pptpd/webif.rst b/wiki/packages/pptpd/webif.rst new file mode 100644 index 0000000..96aa02f --- /dev/null +++ b/wiki/packages/pptpd/webif.rst @@ -0,0 +1,100 @@ +packages/pptpd/webif +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ + + #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ + #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ + +#. `Installation <install.html#Installation>`__ + + #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ + #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ + + #. + + #. `Vorbereitungen <install.html#Vorbereitungen>`__ + + #. `Patch einspielen <install.html#Patcheinspielen>`__ + #. `Kernel konfigurieren und + kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ + #. `Kompilieren des Images vorbereiten und + durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ + +#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ + + #. `Portweiterleitung <webif.html#Portweiterleitung>`__ + +#. `Konfiguration <config.html#Konfiguration>`__ + + #. `pptpd.conf <config.html#pptpd.conf>`__ + #. `options.pptpd <config.html#options.pptpd>`__ + #. `chap-secrets <config.html#chap-secrets>`__ + #. `Troubleshooting <config.html#Troubleshooting>`__ + #. `Troubleshooting keine + Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ + +.. _DasWeb-FrontendzumPaket: + +Das Web-Frontend zum Paket +========================== + +Das Interface an sich ist leicht überschaubar |;-)|. + +Unter **Einstellungen** sind die Links zu den einzelnen +Konfigurationsdateien zu finden. + +Ein Übersicht über die Einstellmöglichkeiten gibt die Dokumantation von +Poptop auf deren `​Homepage <http://poptop.sourceforge.net/dox/>`__. + +- **"pptpd Einstellungen bearbeiten"** editiert die Datei + `​pptpd.conf <http://poptop.sourceforge.net/dox/pptpd.conf.txt>`__ + + - Pfadangaben zum Binary sowie zur Konfigurations-Datei + - mögliche Debug-Infos einschalten + - Server-IP festlegen (Standard: localip 192.168.178.1) + - IP-Bereich angemeldeter Rechner festlegen (Standard: remoteip + 192.168.178.210-229 ) + - Sonstiges + +- **"PPPD Einstellungen bearbeiten"** editiert die Datei + `​options.pptpd <http://poptop.sourceforge.net/dox/options.pptpd.txt>`__ + + - Name des PPTP-Server (Standard: fritzbox) + - Angabe, welche Protokolle zugelassen sind + - DNS-Server für Clients festlegen (Standard: ms-dns 192.168.178.1) + - Sonstiges + +- **"Password bearbeiten"** editiert die Datei + `​chap-secrets <http://poptop.sourceforge.net/dox/chap-secrets.txt>`__ + + - verwaltet berechtigte Benutzer sowie deren Passwörter + +.. figure:: /screenshots/38.png + :alt: pptpd Einstellungen + + pptpd Einstellungen + +.. _Portweiterleitung: + +Portweiterleitung +----------------- + +Um sich schließlich von außen auf den PPTP-Server verbinden zu können, +muss natürlich eine Portweiterleitung auf die IP der FRITZBox +eingerichtet werden. + +.. code:: wiki + + Protokoll: TCP Port: 1723 + Protokoll: GRE (keine Portangabe nötig) + +Siehe dazu auch folgende Paketen: + +- `Virtual IP <../virtualip.html>`__ +- `AVM Firewall CGI <../avm-firewall.html>`__ + +.. |;-)| image:: ../../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/privoxy.rst b/wiki/packages/privoxy.rst new file mode 100644 index 0000000..1f2b602 --- /dev/null +++ b/wiki/packages/privoxy.rst @@ -0,0 +1,180 @@ +packages/privoxy +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Filter und Aktionen <privoxy.html#FilterundAktionen>`__ +#. `Zugriffskontrolle <privoxy.html#Zugriffskontrolle>`__ +#. `Privoxy und Tor <privoxy.html#PrivoxyundTor>`__ +#. `Transparenter Proxy <privoxy.html#TransparenterProxy>`__ +#. `Werbefilter <privoxy.html#Werbefilter>`__ +#. `Installation <privoxy.html#Installation>`__ +#. `Diskussion <privoxy.html#Diskussion>`__ + +.. _Privoxy: + +Privoxy +======= + +`​Privoxy <http://www.privoxy.org>`__ ist ein HTTP Proxy mit +umfangreichen Filtermöglichkeiten zum **Schutz der Privatsphäre** und +zum Filtern von Webseiten-Inhalten: Privoxy **entfernt Werbung und +Popups**, bietet eine vollständig konfigurierbare **Zugriffskontrolle** +auf das Internet ("Kindersicherung") sowie die Verwaltung und Kontrolle +von Cookies. + +Das Privoxy Paket enthält neben einem vorkompilierten Privoxy mitsamt +Standardkonfiguration vordefinierte Standard-Filter sowie ein +Webfrontend zur Konfiguration. Das nachstehende Bild zeigt die Version +ab Revision 2938 (neu hinzugekommen sind die Optionen +enable-remote-toggle und enforce-blocks) + +.. figure:: /screenshots/11.png + :alt: Privoxy Configuration since Rev. 2938 + + Privoxy Configuration since Rev. 2938 + +.. _FilterundAktionen: + +Filter und Aktionen +------------------- + +Eine detailierte Beschreibung der mächtigen und umfangreichen +Filter-Funktionen liefert das `​Privoxy +Benutzerhandbuch <http://www.privoxy.org/user-manual/>`__ in den +Kapiteln `​Filter +Files <http://www.privoxy.org/user-manual/filter-file.html>`__ und +`​Actions +Files <http://www.privoxy.org/user-manual/actions-file.html>`__ +(englisch). + +.. _Zugriffskontrolle: + +Zugriffskontrolle +----------------- + +Die Privoxy Zugriffskontrolle ist über das Freetz Webinterface +steuerbar. Eine detailierte Beschreibung dazu findet man ebenfalls im +`​Privoxy Benutzerhandbuch <http://www.privoxy.org/user-manual/>`__ im +Kapitel +`​Zugriffskontrolle <http://www.privoxy.org/user-manual/config.html#ACCESS-CONTROL>`__ +(englisch). + +.. _PrivoxyundTor: + +Privoxy und Tor +--------------- + +Privoxy ist auch ideal für die Verwendung zusammen mit +`Tor <tor.html>`__, um anonym und sicher im Internet surfen zu können. + +Dazu muss in der Privoxy Konfiguration der Port und der IP-Adresse des +Tor Proxy Servers angeben werden. Wenn der Tor Proxy auf der selben +Fritzbox läuft, so kann man z.B. *127.0.0.1:9050* eintragen. + +.. _TransparenterProxy: + +Transparenter Proxy +------------------- + +| In manchen Fällen ist es gewünscht, dass jeglicher Webtraffic durch + den Proxy geleitet wird und so ohne Konfiguration auf dem Client-PC zu + filtern. Dazu wird zusätzlich `Iptables <iptables.html>`__ mit den + Modulen **ip_tables**, **iptable_filter**, **x_tables**, + **xt_tcpudp**, **ipt_REDIRECT**, **ip_nat** und **iptable_nat** + benötigt. + +Um die Umleitung zu aktivieren folgendes ausführen (Konsole oder +rc.custom): + +.. code:: wiki + + modprobe ip_tables + modprobe iptable_filter + modprobe x_tables + modprobe xt_tcpudp + modprobe ipt_REDIRECT + modprobe ip_nat + modprobe iptable_nat + iptables -t nat -A PREROUTING -p tcp -i lan --dport 80 -j REDIRECT --to 8118 + [ -z "$(grep accept-intercepted-requests /var/mod/etc/privoxy/config)" ] && echo "accept-intercepted-requests 1" >> /var/mod/etc/privoxy/config + +.. _Werbefilter: + +Werbefilter +----------- + +| Um den Privoxy als Werbefilter zu nutzen ist es notwendig eine + aktuelle und gute Filterliste zu haben. Um die Daten nicht selbst + pflegen zu müssen ist es hilfreich beispielsweise auf die Filterlisten + des Firefox-Plugins AdBlockPlus zuzugreifen. +| Da diese Listen ziemlich groß sind, wird es im Flashspeicher der + Fritz.Box etwas eng. Deswegen ist es nützliche die Listen beim Start + der Fritz.Box neu zu laden. + +.. code:: wiki + + URL="http://adblockplus.mozdev.org/easylist/easylist.txt" + ACTION=/var/tmp/flash/privoxy/user.action + FILTER=/var/tmp/flash/privoxy/user.filter + FILE=$(basename ${URL}) + LIST=${FILE%\.*} + wget -qO ${FILE} ${URL} + echo -e "{ +block{${LIST}} }" > ${ACTION} + sed '/^!.*/d;1,1 d;/^@@.*/d;/\$.*/d;/#/d;s/\./\\./g;s/\?/\\?/g;s/\*/.*/g;s/(/\\(/g;s/)/\\)/g;s/\[/\\[/g;s/\]/\\]/g;s/\^/[\/\&:\?=_]/g;s/^||/\./g;s/^|/^/g;s/|$/\$/g;/|/d' ${FILE} >> ${ACTION} + echo "FILTER: ${LIST} Tag filter of ${LIST}" > ${FILTER} + sed '/^#/!d;s/^##//g;s/^#\(.*\)\[.*\]\[.*\]*/s|<([a-zA-Z0-9]+)\\s+.*id=.?\1.*>.*<\/\\1>||g/g;s/^#\(.*\)/s|<([a-zA-Z0-9]+)\\s+.*id=.?\1.*>.*<\/\\1>||g/g;s/^\.\(.*\)/s|<([a-zA-Z0-9]+)\\s+.*class=.?\1.*>.*<\/\\1>||g/g;s/^a\[\(.*\)\]/s|<a.*\1.*>.*<\/a>||g/g;s/^\([a-zA-Z0-9]*\)\.\(.*\)\[.*\]\[.*\]*/s|<\1.*class=.?\2.*>.*<\/\1>||g/g;s/^\([a-zA-Z0-9]*\)#\(.*\):.*[:[^:]]*[^:]*/s|<\1.*id=.?\2.*>.*<\/\1>||g/g;s/^\([a-zA-Z0-9]*\)#\(.*\)/s|<\1.*id=.?\2.*>.*<\/\1>||g/g;s/^\[\([a-zA-Z]*\).=\(.*\)\]/s|\1^=\2>||g/g;s/\^/[\/\&:\?=_]/g;s/\.\([a-zA-Z0-9]\)/\\.\1/g' ${FILE} >> ${FILTER} + echo "{ +filter{${LIST}} }" >> ${ACTION} + echo "*" >> ${ACTION} + echo "{ -block }" >> ${ACTION} + sed '/^@@.*/!d;s/^@@//g;/\$.*/d;/#/d;s/\./\\./g;s/\?/\\?/g;s/\*/.*/g;s/(/\\(/g;s/)/\\)/g;s/\[/\\[/g;s/\]/\\]/g;s/\^/[\/\&:\?=_]/g;s/^||/\./g;s/^|/^/g;s/|$/\$/g;/|/d' ${FILE} >> ${ACTION} + echo "{ -block +handle-as-image }" >> ${ACTION} + sed '/^@@.*/!d;s/^@@//g;/\$.*image.*/!d;s/\$.*image.*//g;/#/d;s/\./\\./g;s/\?/\\?/g;s/\*/.*/g;s/(/\\(/g;s/)/\\)/g;s/\[/\\[/g;s/\]/\\]/g;s/\^/[\/\&:\?=_]/g;s/^||/\./g;s/^|/^/g;s/|$/\$/g;/|/d' ${FILE} >> ${ACTION} + +Nähere Infos unter: +`​http://andrwe.org/doku.php/scripting/bash/privoxy-blocklist <http://andrwe.org/doku.php/scripting/bash/privoxy-blocklist>`__ + +If you want to store the action and filter file external in stead of +flash: + +.. code:: wiki + + ACTION=/var/media/ftp/uFlash/privoxy/user.action + FILTER=/var/media/ftp/uFlash/privoxy/user.filter + +.. code:: wiki + + rm /tmp/flash/privoxy/user.filter + rm /tmp/flash/privoxy/user.action + ln -s /var/media/ftp/uFlash/privoxy/user.filter /tmp/flash/privoxy/user.filter + ln -s /var/media/ftp/uFlash/privoxy/user.action /tmp/flash/privoxy/user.action + modsave + +.. _Installation: + +Installation +------------ + +Das Paket kann während der +`Freetz-Installation <../help/howtos/common/install.html>`__ einfach mit +ausgewählt werden, und wird somit Bestandteil der selbstgebauten +Firmware. + +.. _Diskussion: + +Diskussion +---------- + +Fragen und Anmerkungen zu diesem Paket werden in `​diesem +Thread <http://www.ip-phone-forum.de/showthread.php?t=115778>`__ +diskutiert. + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `privacy </tags/privacy>`__ +- `proxy </tags/proxy>`__ +- `server </tags/server>`__ +- `transparent </tags/transparent>`__ +- `werbung </tags/werbung>`__ diff --git a/wiki/packages/prosody.en.rst b/wiki/packages/prosody.en.rst new file mode 100644 index 0000000..af485bd --- /dev/null +++ b/wiki/packages/prosody.en.rst @@ -0,0 +1,47 @@ +packages/prosody.en +=================== +.. _ProsodyIM: + +Prosody IM +========== + +"*Prosody is a flexible communications server for Jabber/XMPP written in +Lua. It aims to be easy to use, and light on resources. For developers +it aims to be easy to extend and give a flexible system on which to +rapidly develop added functionality, or prototype new protocols.*" + +**This package is a work in progress!** + +.. _Configuration: + +Configuration +------------- + +- Forward TCP ports 5222 (client-to-server) and 5269 (server-to-server) + using the `AVM-Firewall <avm-firewall.html>`__ package +- Define a virtual host for your (sub)domain + + - The (sub)domain should point to your FritzBox + +- Creating users: + + - Check *Allow registration* (temporarily) to create your account(s) + from a XMPP client + - Or use *prosodyctl adduser [user]@[domain]* + +- Generate and configure a private key and belonging server certificate + (free at `​cacert.org <http://www.cacert.org/>`__) + +.. _Links: + +Links +----- + +- `​Prosody IM homepage <http://prosody.im/>`__ +- `​Ticket with patches <http://trac.freetz.org/ticket/858>`__ +- `​Lua homepage <http://www.lua.org/>`__ +- `Lua package <lua.html>`__ +- `​Wikipedia: + XMPP <http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol>`__ + (Jabber) +- `​OpenWrt thread <http://open-wrt.ru/forum/viewtopic.php?id=21643>`__ diff --git a/wiki/packages/prosody.rst b/wiki/packages/prosody.rst new file mode 100644 index 0000000..927d023 --- /dev/null +++ b/wiki/packages/prosody.rst @@ -0,0 +1,259 @@ +packages/prosody +================ +.. _ProsodyIM: + +Prosody IM +========== + +"*Prosody ist ein flexibler Jabber/XMPP-Server, geschrieben in der +Skriptsprache Lua. Die Ziele von Prosody sind einfache Bedienbarkeit und +geringe Systemauslastung.*" + +**Dieses Paket ist in Arbeit!** + +.. _Konfiguration: + +Konfiguration +------------- + +Zunächst kopieren wir uns die Beispielkonfiguration aus /var/mod/etc/: + +.. code:: wiki + + cp /var/mod/etc/prosody.cfg.lua /var/tmp/flash/mod/prosody.cfg.lua + +Diese können wir dann mit vi bearbeiten: + +.. code:: wiki + + vi /var/tmp/flash/mod/prosody.cfg.lua + +.. _VirtualHosthinzufügen: + +VirtualHost hinzufügen +~~~~~~~~~~~~~~~~~~~~~~ + +Zunächst sollte man einen VirtualHost konfigurieren, dazu verändert man +man die "example.com" in die gewünschte Domain und entfernt das enabled += false + +.. code:: wiki + + VirtualHost "example.com" + enabled = false -- Remove this line to enable this host + +.. _SSLverwenden: + +SSL verwenden +~~~~~~~~~~~~~ + +Wenn man SSL verwenden möchte, benötigt man eine Zertifikat und einen +Schlüssel, diese kann man mit OpenSSL erstellen und auf ein externes +Speichermedium (z.B. USB-Stick) auf die FritzBox übertragen. + +Die Pfade dazu müssen in der prosody.cfg.lua entsprechend verändert +werden: + +.. code:: wiki + + ssl = { + key = "/var/media/ftp/uStor01/certs/localhost.key"; + certificate = "/var/media/ftp/uStor01/certs/localhost.crt"; + } + +.. _InsInternetfreigeben: + +Ins Internet freigeben +~~~~~~~~~~~~~~~~~~~~~~ + +Damit der Prosodyserver auch im Internet verfügbar ist, muss man nun +noch die entsprechenden Ports auf die FritzBox weiterleiten. Dazu fügt +man in der `AVM-Firewall <avm-firewall.html>`__ die Einträge für den +TCP-Port 5222 (für client-zu-server) und 5269 (server-zu-server) auf die +IP der entsprechenden FritzBox (meist 0.0.0.0) hinzu. + +.. _Benutzerhinzufügen: + +Benutzer hinzufügen +~~~~~~~~~~~~~~~~~~~ + +Das Hinzufügen von Benutzern ist standardmäßig aus Sicherheitsgründen +deaktiviert. Dies kann man in der prosody.lua.cfg temporär ändern, indem +man false bei Allow registration auf true setzt. Danach kann man sich +mit einem XMPP-Client registrieren. + +Alternativ kann man mit der Shell Benutzer erstellen: + +.. code:: wiki + + prosodyctl adduser [Benutzer]@[Domain] + +.. _POSIXaktivieren: + +POSIX aktivieren +~~~~~~~~~~~~~~~~ + +Damit man prosody als Hintergrundprozess ausführen kann und damit man +logging aktivieren kann, muss POSIX aktiviert werden. + +Zunächst aktiviert man das Modul in der prosody.cfg.lua: + +.. code:: wiki + + modules_enabled = { + -- andere Module + "posix"; -- mod_posix aktivieren + } + +Zusätzlich wird noch ein pid-File benötigt, dazu fügen wir in der +prosody.cfg.lua an: + +.. code:: wiki + + pidfile = "/var/tmp/flash/mod/prosody.pid" + +.. _Datenexternspeichern: + +Daten extern speichern +~~~~~~~~~~~~~~~~~~~~~~ + +Damit die Benutzerdateien nicht auf der FritzBox sondern auf einem +externen Medium gespeichert werden, erstellt man eine symbolische +Verlinkung: + +.. code:: wiki + + ln -s /var/media/ftp/uStor01/prosody/data /var/tmp/flash/mod/prosody/ + +.. _Benutzerhinzufügen1: + +Benutzer hinzufügen +~~~~~~~~~~~~~~~~~~~ + +Damit prosody nicht mit root-Rechten geöffnet werden muss, wird ein +anderer Benutzer benötigt. Diesen kann man mithilfe der Shell erstellen: + +.. code:: wiki + + addgroup prosody + adduser -G prosody prosody + chown -R prosody:prosody /var/mod/home/prosody + +.. _BeiSystemstartausführen: + +Bei Systemstart ausführen +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Wenn man die Daten nicht extern speichert, reicht es, wenn mit vi +/tmp/flash/mod/rc.custom folgendes hinzufügt: + +.. code:: wiki + + prosodyctl start + +Wenn man die Daten extern speichert, sollte man in das Verzeichnis +/var/tmp/flash/mod wechseln und dort die folgenden Dateien anlegen: + +.. code:: wiki + + root@fritz:/var/tmp/flash/mod# vi rc.prosody + #!/bin/sh + + start() { + /usr/bin/prosodyctl start + } + + stop() { + /usr/bin/prosodyctl stop + } + + case $1 in + ""|start) + start + ;; + stop) + stop + ;; + *) + echo "Usage: $0 [start|stop]" 1>&2 + exit 1 + ;; + esac + + exit 0 + +.. code:: wiki + + root@fritz:/var/tmp/flash/mod# vi rc.external + #!/bin/sh + case $1 in + load) + ;; + unload) + sh /etc/init.d/rc.ngircd stop + sh /etc/init.d/rc.prosody stop + ;; + esac + + eventadd 1 "Running custom rc.external done." + +.. code:: wiki + + root@fritz:/var/tmp/flash/mod# vi /var/tmp/flash/onlinechanged-cgi + case "$1" in + start) + # Kommandos beim Start des Routers + # ggf. sollten hier die Entraege von online) stehen + ;; + online) + # Kommandos wenn der Router online geht (zB Zwangstrennung) + # + sleep 2; + /var/tmp/flash/mod/rc.prosody start; + ;; + offline) + # Kommandos wenn der Router offline geht (zB Zwangstrennung) + /var/tmp/flash/mod/rc.prosody stop; + sleep 2; + ;; + esac + +.. _Änderungenspeichern: + +Änderungen speichern +~~~~~~~~~~~~~~~~~~~~ + +|/!\\| Damit diese Änderung beim Neustart erhalten bleibt müssen diese +gespeichert werden: + +.. code:: wiki + + modsave all + +.. _Prosodyausführen: + +Prosody ausführen +----------------- + +Prosody kann auch manuell gestartet werden mit: + +.. code:: wiki + + prosodyctl start + +.. _Links: + +Links +----- + +- `​Prosody IM homepage <http://prosody.im/>`__ +- `​Ticket with patches <http://trac.freetz.org/ticket/858>`__ +- `​Lua homepage <http://www.lua.org/>`__ +- `Lua package <lua.html>`__ +- `​Wikipedia: + XMPP <http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol>`__ + (Jabber) +- `​OpenWrt thread <http://open-wrt.ru/forum/viewtopic.php?id=21643>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/quagga.rst b/wiki/packages/quagga.rst new file mode 100644 index 0000000..d2d8a04 --- /dev/null +++ b/wiki/packages/quagga.rst @@ -0,0 +1,49 @@ +packages/quagga +=============== +.. _Quagga: + +Quagga +====== + +`​Quagga <http://www.quagga.net/>`__ ist eine Routing-Software Suite, +die Implementierungen für +`​OSPF <http://de.wikipedia.org/wiki/OSPF>`__\ v2, OSPFv3, +`​RIP <http://de.wikipedia.org/wiki/Routing_Information_Protocol>`__ v1 +und v2, RIPng and `​BGP <http://de.wikipedia.org/wiki/BGP>`__-4 für +Unix-Plattformen bietet. *Quagga* ist ein Fork von `​GNU +Zebra <http://www.zebra.org/>`__, und basiert auf dem Server-Client +Modell. + +Dieses Paket enthält derzeit noch keine Konfigurationshilfe; die +Konfigurationsdateien lassen sich jedoch über das Web-Interface +bearbeiten. + +|/!\\| **Wer nicht weiß, wie die Routing-Daemons zu konfigurieren sind, +sollte dieses Paket NICHT installieren''' /!\\** + +Ein sicheres Konfigurations-Interface ist allerdings in Arbeit… + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Quagga Homepage <http://www.quagga.net/>`__ +- `​Quagga Dokumentation <http://www.quagga.net/docs.php>`__ +- `​Quagga Wiki <http://wiki.quagga.net/>`__ +- Quagga IRC channel: irc:irc.freenode.net#quagga +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Quagga_(Software)>`__ +- `​Quagga auf + OpenWRT <http://martybugs.net/wireless/openwrt/quagga.cgi>`__ + +-------------- + +- Tags +- `daemons </tags/daemons>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/radvd.en.rst b/wiki/packages/radvd.en.rst new file mode 100644 index 0000000..c07bf37 --- /dev/null +++ b/wiki/packages/radvd.en.rst @@ -0,0 +1,159 @@ +packages/radvd.en +================= +.. _RADVD: + +RADVD +----- + +| The router advertisement daemon (RADVD) allows to both Linux and + Windonws clients to obtain an IPv6 IP address, without any changes on + the clients. +| More info about RADVD can be found via: + `​http://www.litech.org/radvd/ <http://www.litech.org/radvd/>`__ + +.. _RequestasubnetfromSixXS: + +Request a subnet from SixXS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| I hope you have enough points left to request a subnet from SixSX. +| If not, make sure you have Aiccu up for a few weeks, see the + `​creadits FAQ <http://www.sixxs.net/faq/account/?faq=credits>`__. + +| You can request a subnet from your SixXS `​home + page <https://www.sixxs.net/home/>`__ +| At the left on your home page you should find a list of options from + which you should select `​Request + subnet <https://www.sixxs.net/home/requestsubnet/>`__. + +.. _CreatingaFeetzImagewithRadvd: + +Creating a Feetz Image with Radvd +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +| Follow the directions from the `/wiki/WikiStart.en# + Wiki <../index.en.html#%20Wiki>`__ +| After the following step you can configure the packages you want to + have included in your image. + +.. code:: wiki + + make menuconfig + +Make sure the following is selected: + +.. code:: wiki + + [*] Show advanced options + [*] Enable IPv6 support + +.. code:: wiki + + Package selection ---> Standard packages ---> [*] radvd (router advertisement daemon) + +I also advice to add the following for easier troubleshooting: + +.. code:: wiki + + Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] ping6 command + Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] traceroute6 command + +.. _PatchingFreetz-1.2withClientconfigoption: + +'Patching' Freetz-1.2 with Client config option +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| Due to an application that is not supported on later versions, I + prever to stay on Freetz-1.2. +| But due to issues with other IPv6 enabled devices, I would like to + include enhancement `1921 </ticket/1921>`__ also in Freetz-1.2. + +With the following commands executed before make you can have this +enhancement included also: + +.. code:: wiki + + cd ~/freetz-1.2/make/radvd/files/root/etc/default.radvd/ + wget "/browser/trunk/make/radvd/files/root/etc/default.radvd/radvd.cfg?rev=9419&format=txt" -O radvd.cfg + cd ~/freetz-1.2/make/radvd/files/root/etc/default.radvd/ + wget "/browser/trunk/make/radvd/files/root/etc/default.radvd/radvd_conf?rev=9453&format=txt" -O radvd_conf + cd ~/freetz-1.2/make/radvd/files/root/usr/lib/cgi-bin/ + wget "/browser/trunk/make/radvd/files/root/usr/lib/cgi-bin/radvd.cgi?rev=9444&format=txt" -O radvd.cgi + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the setup it is 'sufficient' to just configure a /64 from your /48 +you received from SixXS. E.g. you can pick the first possilbe /64 range +2001:aaaa:bbbb:0000::/64 + +Network range - 2001:aaaa:bbbb:0000:0000:0000:0000:0000 - +2001:aaaa:bbbb:0000:ffff:ffff:ffff:ffff + +**Note** In below screenshot enhancement `1921 </ticket/1921>`__ is +included. + +.. figure:: /screenshots/236.jpg + :alt: Howto setup radvd + + Howto setup radvd + +| To prevent unexpected reboots I had to unselect the 'Activate on start + resp. deactivate on stop the IPv6 forwarding' on my FB-7270v3. + +.. _LinuxClients: + +Linux Clients +~~~~~~~~~~~~~ + +Not much to tell here. The output of ifconfig should show that it +recieved an IPv6 address, starting with your configured subnet and +ending with part of your MAC address in there. + +There should also be a default IPv6 route pointing to the IPv6 gateway +(the router). + +.. _WinXPClients: + +WinXP Clients +~~~~~~~~~~~~~ + +| With my WinXP system I had no problems to obtain an IPv6. All I had to + do was to was to enable IPv6 with: + +.. code:: wiki + + netsh interface ipv6 install + +| Then you should see that you get two IPv6 addresses. One public and a + temporary one. +| You can also see them with: + +.. code:: wiki + + netsh interface ipv6 show address + +.. _Win7Clients: + +Win7 Clients +~~~~~~~~~~~~ + +| I have two Win7 systems. One that was not mutch used with IPv6, and + one where I used AICCU locally as a service at startup. +| The one that was not mutch used with IPv6 obtained an IPv6 address + immediately. With the other one it took more effort. +| After modifying the service to only startup manually I didn't obtain + an IPv6 address from RADVD, even after a reboot. + +| If you have a similar problem you can try the following: + +- firt make sure you create a restore point. +- | next use the following commands (note I used both commands without + verifying correctly which one was needed): + + .. code:: wiki + + netsh int ipv6 reset c:\ipv6_reset.log + netsh interface isatap set state enabled diff --git a/wiki/packages/radvd.rst b/wiki/packages/radvd.rst new file mode 100644 index 0000000..bc29270 --- /dev/null +++ b/wiki/packages/radvd.rst @@ -0,0 +1,22 @@ +packages/radvd +============== +.. _Radvd: + +Radvd +===== + +Router advertisement daemon for IPv6. + +Mostly used together with package `aiccu <aiccu.html>`__. + +Note that the subnet address prefix for sixxs should be /64, see +`​here <http://www.sixxs.net/faq/connectivity/?faq=usingsubnet&os=linux.router>`__. + +.. _Links: + +Links +----- + +- `​Sixxs.net <http://www.sixxs.net/>`__ +- `​Man page <http://linux.die.net/man/8/radvd>`__ +- `​Man page <http://linux.die.net/man/5/radvd.conf>`__ radvd.conf diff --git a/wiki/packages/rrdstats.rst b/wiki/packages/rrdstats.rst new file mode 100644 index 0000000..74bd645 --- /dev/null +++ b/wiki/packages/rrdstats.rst @@ -0,0 +1,291 @@ +packages/rrdstats +================= +.. _RRDstats: + +RRDstats +======== + +.. figure:: /screenshots/229.jpg + :alt: RRDstats screenshot + + RRDstats screenshot + +.. _Einleitung: + +Einleitung +---------- + +RRD steht für Round Robin Database und wurde für Linux und Windows unter +der GNU-Lizenz von Tobias Oetiker entwickelt. Es ist ein sehr +leistungsfähiges Werkzeug, um zeitbezogene Messdaten wie Temperatur, +Festplattenauslastung, Netzwerkverkehr auf kompakte Art und Weise in +einer Datenbank zu speichern und ansprechend zu visualisieren. Weitere +Details sind hier im Wiki beim Paket `RRDtool <rrdtool.html>`__ +nachzulesen. Um die Daten nachher graphisch darzustellen, wird rrdstats +verwendet, worum es hier im Detail geht. Das Package +`DigiTemp <digitemp.html>`__ wird zum Aufzeichen von Temperaturwerten +benötigt. + +.. _VoraussetzungenundEinbauvonRRDstatsbeimFirmware-Bau: + +Voraussetzungen und Einbau von RRDstats beim Firmware-Bau +--------------------------------------------------------- + +Im ``menuconfig``: + +- Package selection / Web interface / RRDstats for RRDtool [selektiert + automatisch auch RRDtool 1.2.30 unter "Package selection / Testing"] +- *nur für DigiTemp:* Package selection / Testing / digitemp 3.0.6 / + digitemp for ds9097 [mit den beiden anderen Optionen ging es (bei ao) + nicht] Ich (cuma) nutze "ds2490" mit dem "DS9490R". Hierbei sind + keine zusätzlichen Module nötig. +- *nur für DigiTemp:* Advanced options / Kernel modules / drivers / + pl2303.ko [habe für einen anderen Adapter zusätzlich auch noch + ftdi_sio.ko ausgewählt] +- *nur für Kabelmodem:* Optional das Package "wget" installieren. + Dadurch werden Ausfälle bei Nichterreichbarkeit des Kabelmodem + vermieden, es ist aber ca 350 kB gross. + +Auf der Box: + +- *nur für DigiTemp:* im Freetz-WebGUI unter "Einstellungen / + Freetz:modules das bzw. die Kernel-Modul(e) untereinander eintragen + (aber ohne "modprobe" o.ä.!) + +.. code:: wiki + + pl2303 + ftdi_sio + +- im Freetz-Webif unter "RRDstats" weitere Einstellungen vornehmen + +.. _Backup: + +Backup +------ + +Sinnvoll ist die Anpassung der Pfade, falls man regelmäßige Backups der +Messdaten machen möchte, z.B.: + +.. code:: wiki + + Backup Verzeichnis: /var/media/ftp/uStor01/rrdstats/backup + +… und im Freetz-WebGUI bei den RRDstats-Einstellungen das automatisch +Wiederherstellen von Backups beim Starten aktivieren + +Wenn man die Backups nun regelmäßig mittels eines cronjobs durchführt, +z.B. alle 20-30 Minuten, sind die Lücken in den Graphen bei entsprechend +kurzen Box-Ausfallzeiten auch nicht zu groß. Im Freetz-WebGUI gibt man +dazu unter "Einstellungen / Freetz: crontab" z.B. folgendes ein: + +.. code:: wiki + + 00 * * * * /etc/init.d/rc.rrdstats backup + 20 * * * * /etc/init.d/rc.rrdstats backup + 40 * * * * /etc/init.d/rc.rrdstats backup + +Näheres zu crontab bitte im Internet nachlesen. + +.. _EinstellungenWebGUI: + +Einstellungen WebGUI +-------------------- + +"Not lazy" bedeutet, dass die Graphen immer neu generiert werden, +hingegen bedeutet "lazy", dass sie nur neu generiert werden, wenn sie +veraltet sind. Die Einstellung "lazy" (bzw. das Abschalten von "not +lazy") verringert die CPU-Last. + +Vefügbare Netzwerkintrafaces auf der Box kann man so ermitteln: +``ifconfig |grep -v "^ "`` + +|/!\\| Das Unterdrücken der 85°C Fehlerwerte wirkt sich nur auf die .rrd +Dateien aus, nicht auf die .cvs. + +*Die anderen Einstellungen dürften selbsterklärend sein. Falls nicht, +bitte im Forum nachfragen und bei neuen Erkenntnissen hier ergänzen.* + +.. _DigiTemp: + +DigiTemp +-------- + +| Die Initialisierung ist nur 1x pro Messfühler nötig. +| Danach muss der Dienst "RRDstats" manuell wieder im Freetz-Webif unter + "Dienste" gestartet werden + +.. _Kabelmodem: + +Kabelmodem +---------- + +.. figure:: /screenshots/253.jpg + :alt: RRDstats Cisco EPC (S-N Ratio) + + RRDstats Cisco EPC (S-N Ratio) + +.. figure:: /screenshots/252.jpg + :alt: RRDstats Cisco EPC (Signal) + + RRDstats Cisco EPC (Signal) + +Es werden die Kabelmodems Thomson THG 520 und 540, Cisco EPC 3212 und +Arris Touchstone TM sowie baugleiche unterstützt. + +.. _LoggenderKanäle: + +Loggen der Kanäle +~~~~~~~~~~~~~~~~~ + +| Sollen mehr Kanäle geloggt werden als beim Erstellen der Datenbank + eingestellt waren, ist es an einfachsten die epc_*.rrd zu löschen. +| Bereits aufgezeichneten Daten weiterzuverwenden ist aufwändiger, da + rrdtool keine Möglichkeit bietet nachträglich einen DS hinzuzufügen. + Dazu: + +- Datensicherung! +- Die Daten exportieren: ``rrdtool dump epc_60.rrd dump.xml`` +- | DS Spalten hinzufügen. Hier am Beispiel 1 Upstreamkanal auf 2 + erweitern: + | 1) Am Anfang der dump.xml vor den Zeilen + + .. code:: wiki + + <ds> + <name> up </name> + + dies hinzufügen + + .. code:: wiki + + <name> txfq2 </name> + <type> GAUGE </type> + <minimal_heartbeat> 600 </minimal_heartbeat> + <min> 9.0000000000e+00 </min> + <max> 9.9000000000e+01 </max> + + <!-- PDP Status --> + <last_ds> UNKN </last_ds> + <value> NaN </value> + <unknown_sec> 25 </unknown_sec> + </ds> + + <ds> + <name> txdb2 </name> + <type> GAUGE </type> + <minimal_heartbeat> 600 </minimal_heartbeat> + <min> 0.0000000000e+00 </min> + <max> 9.9000000000e+01 </max> + + <!-- PDP Status --> + <last_ds> UNKN </last_ds> + <value> NaN </value> + <unknown_sec> 25 </unknown_sec> + </ds> + + 2) 12 Zeilen vor allen ``</cdp_prep>`` Zeilen dies hinzufügen + + .. code:: wiki + + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> NaN </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> NaN </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> + + 3) Nun noch alle Zeilen die mit ``</row>`` enden zwischen das + drittletzte und vorletzte ``<v> ... </v>`` dies einfügen: + ``<v> NaN </v> <v> NaN </v>``. + +- Geänderte Datenbank erstellen: + ``rrdtool restore dump.xml epc_60.rrd -f`` + +Viel Spass und Erfolg beim nachmachen |:)| + +.. _Kabelsegment: + +Kabelsegment +------------ + +.. figure:: /screenshots/257.jpg + :alt: RRDstats Kabelsegment + + RRDstats Kabelsegment + +Hiermit kann die Auslastung des Segmentes von Kabelinternet aufzeichnet +werden. Es wird zusätzlich noch ein Treiber benötigt. Momentan gibt es +nur ein Package für DVB-Sticks von `Sundtek <sundtek.html>`__. Vorteil +dieser ist, dass man kein v4l im Kernel benötigt. + +.. _Datenbanken: + +Datenbanken +~~~~~~~~~~~ + +Bis zu `r11010 </changeset/11010>`__ konnte mit einem Intervall von 60 +Sekunden 146 Tage aufgezeichnet werden, mit 150 Sekunden 1 Jahr. Ab +dieser Revision werden die Datenbanken von DigiTemp und +RRDstats-Kabelsegment mit 2 Jahren bei 60 Sekunden \*erstellt*. Damit +wachsen die einzelnen Dateien von ~85kB auf ~150kB. Existierende +rrd-Datenbanken kann man so neue RRAs hinzufügen: +`DigiTemp#Datenbank <digitemp.html#Datenbank>`__ + +.. _Dateiübersichtunvollständig: + +Dateiübersicht (unvollständig) +------------------------------ + +Folgende Dateien/Pfade sind an der Erstellung der Graphischen Auswertung +beteiligt: + +- ``/usr/lib/cgi-bin/rrdstats/stats.cgi``: Diverses Feintuning kann man + in der Datei vornehmen. Erstellt die png Graphen, aus den rrd + Dateien. Es lassen sich z.B. slopes u.ä. hinzufügen. Ein paar + Hinweise dazu gibt es in `​diesem + IPPF-Thread <http://www.ip-phone-forum.de/showpost.php?p=1250750&postcount=44>`__. + Zum manuellen generieren der Graphen (z.B. durch cron) kann der neue + Parameter "graph" von rc.rrdstats genutzt werden + +- ``/usr/bin/rrdstats``: Dieses Shellskript dient dem einsammeln der + anzuzeigenden Werte, erstellt csv Dateien und pflegt die neuen Werte + in die Round Robin Database über `RRDtool <rrdtool.html>`__ ein. + +.. _BUGS: + +BUGS +---- + +Manchmal kann es vorkommen, dass die Zähler / Graphiken für CPU, Memory +etc. nicht mehr verfügbar sind. Im Persistenten Verzeichnis (Dienste - +RRDStats) sind dann leere Dateien für den jeweiligen counter zu finden. +Abhilfe schafft ein stoppen des Dienstes, löschen der leeren Dateien und +erneutes starten des Dienstes. Dabei werden die fehlenden Dateien erneut +korrekt angelegt und der Fehler ist weg. Verursacht wahrscheinlich durch +eine fehlerhaftes Datum auf der Fritzbox (Jahr 2017-Problem). + +Die Dateien können auf ihre Konsistenz mit +``rrdtool dump dateiname.rrd`` überprüft werden. + +.. _Links: + +Links +----- + +Entstanden aus diesem Thread im IPPF: +`​http://www.ip-phone-forum.de/showthread.php?t=183491 <http://www.ip-phone-forum.de/showthread.php?t=183491>`__ + +- Tags +- `monitoring </tags/monitoring>`__ +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |:)| image:: ../../chrome/wikiextras-icons-16/smiley.png + diff --git a/wiki/packages/rrdtool.rst b/wiki/packages/rrdtool.rst new file mode 100644 index 0000000..fb2ee01 --- /dev/null +++ b/wiki/packages/rrdtool.rst @@ -0,0 +1,48 @@ +packages/rrdtool +================ +.. _RRDTool: + +RRDTool +======= + +.. _Einleitung: + +Einleitung +---------- + +RRD steht für Round Robin Database und wurde für Linux und Windows unter +der GNU-Lizenz von Tobias Oetiker entwickelt. Es ist ein sehr +leistungsfähiges Werkzeug, um zeitbezogene Messdaten wie Temperatur, +Festplattenauslastung, Netzwerkverkehr auf kompakte Art und Weise in +einer Datenbank zu speichern und ansprechend zu visualisieren. Die +Messdaten können beispielsweise über einfache Skriptsprachen wie +`Bash <bash.html>`__ oder auch mit Hilfe komplexer Webanwendungen wie +`​Cacti <http://de.wikipedia.org/wiki/Cacti>`__ aufbereitet und dem +`​RRDtool <http://www.rrdtool.org/>`__ übergeben werden." (Wikipedia) + +.. _RRDstats: + +RRDstats +-------- + +Mit `RRDstats <rrdstats.html>`__ lassen sich die Statistiken auch auf +der FritzBox grafisch anzeigen. Details dazu bitte dort nachlesen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​RRDTool Homepage <http://www.rrdtool.org/>`__ +- `​RRDTool IrcNet Channel <http://www.krogloth.de/rrd/channel/>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/RRDtool>`__ +- `​RRDTool <http://oss.oetiker.ch/rrdtool/>`__ +- `​RRDTool - Warum und + Wie? <http://www.msexchangefaq.de/tools/rrdtool.htm>`__ (und viele + weiterführende Informationen zum Thema) +- `​Linux Magazin: Messdaten mit RRDtool und Perl + verwalten <http://www.linux-magazin.de/heft_abo/ausgaben/2004/06/daten_ausgesiebt>`__ + +- Tags +- `monitoring </tags/monitoring>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/ruby.rst b/wiki/packages/ruby.rst new file mode 100644 index 0000000..032a2e7 --- /dev/null +++ b/wiki/packages/ruby.rst @@ -0,0 +1,59 @@ +packages/ruby +============= +.. _Ruby: + +Ruby +==== + +`​Ruby <http://www.ruby-lang.org/de/>`__ ist eine dynamische +Programmiersprache mit dem Fokus auf Produktivität und Einfachheit. Es +verfügt über eine elegante Syntax, die sich natürlich liest und einfach +zu schreiben ist. Und dann ist das Ganze natürlich auch noch Open +Source… + +Das *Ruby* Paket enthält: + +- den *Ruby* Interpreter (ca. 800kb "stripped size") +- die interaktive *Ruby* Konsole (``irb``) +- das komplette *Ruby* + `​API <http://de.wikipedia.org/wiki/Programmierschnittstelle>`__ - + also alle ``*.rb`` Module (ca. 4.7MB) +- alle zugehörigen ``*.so`` Erweiterungs-Bibliotheken (ca. 1MB) + *Diese können auch statisch gelinkt oder weggelassen werden, aber + dafür gibt es (noch?) keinen Eintrag + in*\ `menuconfig <../help/howtos/common/install/menuconfig.html>`__\ *. + Wer dies also machen möchte, muss es "zu Fuß" nach den Angaben in der + ``README`` Datei tun.* + +Das summiert sich auf ca. 5.5MB für alle installierten Dateien, wobei +man ungewünschte noch manuell entfernen kann (dies muss nach +``make precompiled``, jedoch vor ``make`` passieren). Klingt jetzt echt +fett, aber: *Ruby* Module lassen sich wunderbar packen, so dass die +"volle Ladung" im gepackten Squash nur noch ca. 1.3MB Platz benötigt. +Wer also eine Box mit "mehr Speicher" (ab 8MB aufwärts) benutzt, kann +*Ruby* also durchaus auch in der Firmware selbst unterbringen. Naja, +u.U. muss dafür so einiges anderes weggelassen werden |:-)| + +|/!\\| **Achtung:** Auf dem "Build-Host" muss die gleiche *Ruby* Version +installiert sein, die man für die Box bauen möchte! + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Ruby Homepage <http://www.ruby-lang.org/de/>`__ +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Ruby_(Programmiersprache)>`__ +- `​WikiBooks: Ruby + Programmierung <http://de.wikibooks.org/wiki/Ruby-Programmierung>`__ + +-------------- + +- Tags +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ + +.. |:-)| image:: ../../chrome/wikiextras-icons-16/smiley.png +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/rudi-shell.rst b/wiki/packages/rudi-shell.rst new file mode 100644 index 0000000..db4af8c --- /dev/null +++ b/wiki/packages/rudi-shell.rst @@ -0,0 +1,168 @@ +packages/rudi-shell +=================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <rudi-shell.html#Server>`__ + #. `Client <rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <rudi-shell/install.html#Installation>`__ +#. `Funktionsweise <rudi-shell/functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <rudi-shell/usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript + ausführen <rudi-shell/usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <rudi-shell/usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <rudi-shell/usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <rudi-shell/usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <rudi-shell/usage.html#Datei-Upload>`__ + +#. `Grenzen & + Einschränkungen <rudi-shell/limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <rudi-shell/tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via + HTTPS <rudi-shell/tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <rudi-shell/tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote + flashen <rudi-shell/tips.html#Firmwareremoteflashen>`__ + +.. _Rudi-Shell: + +Rudi-Shell +========== + +"Rudi" steht für rudimentär, denn wir haben es mit einem rudimentären +Shell-Ersatz via CGI-Interface zu tun. Ich hatte angefangen, ihn recht +komplex zu gestalten und mich dann eines Besseren besonnen: Small is +beautiful. Rudi kann inzwischen nicht weniger als ursprünglich geplant, +aber die Oberfläche ist puristischer als noch während der ersten +Entwicklungsphase. Nicht zuletzt sind auch die CGI-Quelldateien +inzwischen viel kleiner und einfacher geworden. Puristischere +Oberflächen erfordern andererseits etwas mehr Dokumentation, also +beschreibe ich im Folgenden, teils bebildert, was man mit Rudi so +anstellen kann - kurz: **alles!** + +.. _Feature-Übersicht: + +Feature-Übersicht +----------------- + +Mit Rudi kann man direkt über eine Weboberfläche Folgendes tun: + +- Beliebige (eingetippte oder per Copy & Paste ins Befehlsfenster + eingefügte) **Shell-Skripte** auf der FritzBox ausführen. Root-Rechte + sind selbstverständlich. +- In einer beliebig langen **Historie** der zuletzt eingegebenen + Befehle und Ausgaben(!) blättern, alte Befehle (bzw. Skripten) + editieren und/oder erneut ausführen +- Wählen, ob die **Befehls-Ausgabe in Textform** inline im Browser + angezeigt **oder als Datei-Download** gespeichert werden soll. Dieses + Konzept ist sehr mächtig, denn man kann z.B. die Ausgabe eines + *Tar*-Befehls so umleiten, daß man auf einfache Weise Backups + beliebiger Dateien oder Verzeichnisse anfertigen kann. +- Lokale **Dateien** (auch Archive) **hochladen** an einen beliebigen + Zielort auf der Box, um sie dort anschließend ggf. mit weiteren + Befehlen zu bearbeiten: Archiv auspacken, Patch für ``debug.cfg`` + einspielen, mittels `mini_fo <mini_fo.html>`__ (falls installiert) + nur lesbare Dateien zum Test mit einer Schattenkopie überschreiben + usw. + +.. _Systemvoraussetzungen: + +Systemvoraussetzungen +--------------------- + +Ich habe die Rudi-Shell entwickelt für den Danisahne-Mod, genauer gesagt +für Olivers (olistudent) Version mit Kernel 2.6. Getestet habe ich +konkret auf meiner FritzBox Fon WLAN 7170 mit Firmware 29.04.29, +ds-0.2.9_26-13, Kernel 2.6.13.1, Busybox 1.4.1, Haserl 0.9.16 +CGI-Handler. Grundsätzlich sollte meiner Meinung nach aber Folgendes +ausreichen (*ohne* DS-Mod/Freetz): + +.. _Server: + +Server +~~~~~~ + +- beliebige Box (genug Platz zum Speichern und Ausführen von Rudi + vorausgesetzt) +- beliebiger Kernel (2.4.x oder 2.6.x) +- beliebige `​Busybox <http://www.busybox.net/>`__-Version mit *httpd* + und *sed* +- beliebige `​Haserl <http://haserl.sourceforge.net/>`__-Version (z.B. + die aktuelle *stable* 0.8.0) + +.. _Client: + +Client +~~~~~~ + +- Web-Browser mit eingeschaltetem + `​Javascript <http://de.wikipedia.org/wiki/JavaScript>`__; getestetet + mit IE7, Opera 9.10, Firefox 2.0.0.2. Es wird ein wenig Javascript + benutzt, um im + `​DOM <http://de.wikipedia.org/wiki/Document_Object_Model>`__ zu + navigieren, die Historie zu steuern und + `​CGI <http://de.wikipedia.org/wiki/Common_Gateway_Interface>`__-Unterprozesse + in einem unsichtbaren + `​IFrame <http://de.wikipedia.org/wiki/Iframe>`__ auszuführen und mit + deren Ergebnisse die Hauptseite zu aktualisieren (Konsolenausgabe). + +.. _WasNICHTgebrauchtwird: + +Was NICHT gebraucht wird +~~~~~~~~~~~~~~~~~~~~~~~~ + +- Auf dem Server sind grundsätzlich weder Telnet noch + `SSH <dropbear.html>`__ noch `OpenVPN <openvpn.html>`__ notwendig, + d.h. Rudi sollte auch (und gerade) für "schwachbrüstige" Boxen mit + wenig Speicher interessant sein. +- Eine Dateisystem-Verbindung, gleich in welche Richtung, ist auch + nicht notwendig. D.h., wir brauchen weder `Samba <samba.html>`__ noch + smbmount noch `NFS <nfs.html>`__. +- Es ist keine Filetransfer-Verbindung via FTP notwendig, alles läuft + mittels HTTP, auch Up- und `Downloads <../Download.html>`__. +- Zum Datenaustausch wird auch kein externes Speichermedium (USB-Stick, + Festplatte) und somit kein USB-Anschluß an der Box benötigt. + +.. _PlatzbedarfderRudi-Shell: + +Platzbedarf der Rudi-Shell +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Der Patch besteht aus drei CGI-Skripten im horrenden |;-)| + Gesamtumfang von 3,5 KB sowie ggf. einer Textzeile für das Menü von + Freetz. +- Hinzu kommt Haserl. Das Binary meiner Version 0.9.16 für Kernel 2.6 + ist knapp 24 KB groß. Im Vergleich dazu ist bereits + `bftpd <bftpd.html>`__ 67 KB groß (und man kann weniger damit tun!) + und `Dropbear <dropbear.html>`__ mit 179 KB riesig. Ein + `Samba-Server <samba.html>`__ schlägt gar mit knapp 900 KB zu Buche. +- Rudi verwendet von sich aus keine temporären Dateien für die + auszuführenden Skripten oder die Befehlsausgaben. Alles läuft direkt + durch anonyme + `​UNIX-Pipes <http://de.wikipedia.org/wiki/Pipe_%28Informatik%29#Unix>`__, + von der Eingabe über die Verarbeitung bis zur Ausgabe. Lediglich, + wenn der Benutzer selbst Dateien durch Ausgabeumleitung oder + Datei-Uploads erstellt, wird Platz im Dateisystem benötigt. + +- Tags +- `cgi </tags/cgi>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ + +.. |;-)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/rudi-shell/functions.rst b/wiki/packages/rudi-shell/functions.rst new file mode 100644 index 0000000..fba7267 --- /dev/null +++ b/wiki/packages/rudi-shell/functions.rst @@ -0,0 +1,108 @@ +packages/rudi-shell/functions +============================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <../rudi-shell.html#Server>`__ + #. `Client <../rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <install.html#Installation>`__ +#. `Funktionsweise <functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <usage.html#Datei-Upload>`__ + +#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ + +.. _Funktionsweise: + +Funktionsweise +============== + +.. figure:: /screenshots/39.gif + :alt: Freetz Menü + + Freetz Menü + +Der Einstieg in die Rudi-Shell erfolgt in Freetz übers Hauptmenü (siehe +Bild). Direkt kann sie ebenfalls erreicht werden, und zwar über +`​http://fritz.box:81/cgi-bin/rudi_shell.cgi <http://fritz.box:81/cgi-bin/rudi_shell.cgi>`__. + +Die Oberfläche präsentiert sich spartanisch, aber funktionell und +besteht aus folgenden Elementen: + +- Mehrzeiliges **Eingabefenster** für + `​UNIX-Shell <http://de.wikipedia.org/wiki/Unix-Shell>`__-Skripte. + Verwendet wird die auch von der Original-Firmware bekannte + Standard-Shell ``/bin/sh`` der Busybox, die + `​ash <http://en.wikipedia.org/wiki/Almquist_shell>`__ (eine + `​Bourne-Shell <http://de.wikipedia.org/wiki/Bourne_Shell#Die_Bourne-Shell>`__-Variante). +- **Ausführen-Knopf**, um die Skripten zur FritzBox zu schicken und + dort auszuführen. +- **Ergebnis-Ausgabe** (scrollbar) im unteren Fensterbereich. Dorthin + werden Standard- und Fehlerausgabe der Shell umgelenkt, sofern nichts + anderes angegeben ist. +- **Befehls-Historie**, bestehend aus einer numerierten Auswahlliste. + #0 ist immer die zuletzt eigegebene Befehlsfolge, die höheren Nummern + sind entsprechend ältere Skripten. Die Anzahl der Einträge ist + grundsätzlich unbegrenzt. Sollte der Browser irgendwann langsamer + werden, weil er zu viele Informationen puffert, einfach auf den + **Löschen-Knopf** drücken. +- `Download <../../Download.html>`__\ **-Schalter**, um die + Befehls-Ausgabe anstatt auf der Konsole als Datei zu empfangen. + Normalerweise hat der `Download <../../Download.html>`__ den (im + Speichern-Dialog des Browsers änderbaren) Namen *rudi_download*. +- Kreuzt man zusätzlich einen der **Dateiendung-Schalter (.tar, .gz)** + an, wird die entsprechende Endung (oder beide zusammen, also .tar.gz) + an den Namensvorschlag angehängt. Das dient nur zur Bequemlichkeit, + man kann es auch selbst beim Speichern machen. Für Benutzer mit + `Download <../../Download.html>`__-Manager und ausgeschaltetem + Speichern-Dialog ist es so ein bißchen einfacher. |/!\\| Achtung: Die + Schalter ändern *nicht* das Dateiformat, nur die Dateiendung. +- **Datei-Uploads** werden über die beiden Textfelder "Quelldatei" und + "Zieldatei" abgewickelt. Die Quelldatei kann mit "Durchsuchen" direkt + über einen Datei-Browser ausgewählt werden, die Zieldatei hat den + änderbaren Vorschlagsnamen ``/var/tmp/rudi_upload``. Es sollte + natürlich ein existierendes, beschreibbares Verzeichnis gewählt + werden. Ein nicht existierendes kann ja vorher über die + Befehlseingabe erzeugt werden. |/!\\| **Achtung:** Bitte nicht + versuchen, Dateien nach ``/var/flash`` hochzuladen. Immer erst + temporär woanders speichern und mittels ``cat`` ins *tffs* schreiben! + |/!\\| + +|/!\\| **Achtung, besonders wichtig: Die Rudi-Shell, insbesondere die +Historie, funktioniert ohne Navigation auf der Hauptseite. D.h., Sie +brauchen weder die Schaltflächen "Vor/Zurück" noch "Neu laden" des +Browsers. Im Gegenteil, wenn Sie sie benutzen, werden erstens die +Historie gelöscht und zweitens alle Schalter und Textfelder auf ihre +Standardwerte zurückgesetzt.** |/!\\| *Für die Techniker unter uns: +Alles, was an Rudi-Shell dynamisch ist, passiert in einem unsichtbaren +IFrame bzw. auf der Hauptseite durch javascript-basierte Änderungen am +DOM der Seite.* + +- Tags +- `rudi-shell </tags/rudi-shell>`__ + +.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/rudi-shell/install.rst b/wiki/packages/rudi-shell/install.rst new file mode 100644 index 0000000..3c49fde --- /dev/null +++ b/wiki/packages/rudi-shell/install.rst @@ -0,0 +1,88 @@ +packages/rudi-shell/install +=========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <../rudi-shell.html#Server>`__ + #. `Client <../rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <install.html#Installation>`__ +#. `Funktionsweise <functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <usage.html#Datei-Upload>`__ + +#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ + +*Die Rudi-Shell ist fester Bestandteil von allen Freetz-Versionen. Diese +Anleitung bezieht sich auf den Vorgänger DS-Mod.* + +.. _Installation: + +Installation +============ + +Das Archiv ``rudi_shell.zip`` kann man als Dateianhang des ersten +Postings aus dem `​Forums-Thread zur +Rudi-Shell <http://www.ip-phone-forum.de/showthread.php?p=810641>`__ +herunter laden und entpacken. + +Nehmen wir an, wir setzen den DS-Mod ein (falls nicht, entfällt dieser +erste Schritt). Dann müssen wir das Menü anpassen. Schauen wir uns im +Mod-Verzeichnis die Datei ``root/usr/lib/libmodcgi.sh`` an und suchen +nach dem Menüeintrag "Extras". Dort fügen wir die Zeile für Rudi ein (im +Beispiel sieht man noch die bei Ihnen evtl. nicht vorhandene Zeile für +meinen Backup/Restore-Mod): + +.. code:: wiki + + cat << EOF + <div id="extras"><a href="/cgi-bin/extras.cgi">Extras</a></div> + <div id="backup_restore"><a href="/cgi-bin/backup_restore.cgi">Sichern/Wiederherstellen</a></div> + <div id="rudi_shell"><a href="/cgi-bin/rudi_shell.cgi" target="_blank">Rudi-Shell</a></div> + </div> + EOF + +Der zweite einfache Schritt ist das Kopieren der drei CGI-Dateien + +- ``rudi_shell.cgi`` (Hauptseite) +- ``rudi_shellcmd.cgi`` (Befehlsausführung, Download) +- ``rudi_upload.cgi`` (Upload) + +nach ``root/usr/mww/cgi-bin``. Bitte anschließend nicht vergessen, die +Dateien mit ``chmod +x rudi*`` ausführbar zu machen! + +Schritt drei fällt nur an, falls Sie *Haserl* nicht sowieso schon in den +Mod integriert haben: Kopieren Sie eine der im Archiv enthaltenen +Dateien *haserl-0.9.16_26* (für Kernel 2.6) oder *haserl-0.8.0_24* +(Kernel 2.4) nach ``root/usr/bin/haserl`` und machen Sie sie ebenfalls +mit ``chmod`` ausführbar. Der Grund für die ältere Version für Kernel +2.4 ist einfach, daß ich für die dortige *uClibc-0.9.26* nicht selbst +kompiliere und mir eine vorhandene Version aus dem Forum, gebaut von +Oliver (olistudent), geschnappt habe. Ansonsten würde die 0.9.16 sicher +auch unter dem alten Kernel laufen, nur müßte man sie dafür mal +kompilieren. + +- Tags +- `rudi-shell </tags/rudi-shell>`__ diff --git a/wiki/packages/rudi-shell/limits.rst b/wiki/packages/rudi-shell/limits.rst new file mode 100644 index 0000000..aed9ed3 --- /dev/null +++ b/wiki/packages/rudi-shell/limits.rst @@ -0,0 +1,82 @@ +packages/rudi-shell/limits +========================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <../rudi-shell.html#Server>`__ + #. `Client <../rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <install.html#Installation>`__ +#. `Funktionsweise <functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <usage.html#Datei-Upload>`__ + +#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ + +.. _GrenzenEinschränkungen: + +Grenzen & Einschränkungen +========================= + +Wie erwähnt, gibt es kaum Grenzen bei dem, was man mit der Rudi-Shell +auf und mit der Box anstellen kann. Was man noch verbessern könnte, +wäre, dem Benutzer eine **interaktive Shell-Session** zu geben, welche +den Aufruf eines Skripts überdauert. Das würde z.B. bedeuten, daß ein +Verzeichniswechsel in Skript A noch Wirkung hätte für das anschließend +ausgeführte Skript B und nicht nur innerhalb von A. auch würden in A +geänderte oder gesetzte Umgebungsvariablen noch in B gelten etc. Das zu +erreichen, wäre nicht besonders schwierig. Alles, was man dazu bräuchte, +wäre ein virtuelles Terminal. Ich habe beispielsweise +`Screen <../screen.html>`__ installiert. Das Schöne an diesem Werkzeug +ist, daß man es nicht nur interaktiv an der Konsole benutzen kann, +sondern auch einer *Detached Session*, also einer vom Terminal +abgetrennten Benutzersitzung, per Fernsteuerung Befehle schicken kann, +die innerhalb der Sitzung ausgeführt werden. In Verbindung mit einer +Log-Datei oder einer `​Named +Pipe <http://de.wikipedia.org/wiki/Named_Pipe>`__ könnte man dann von +außen die Ausgaben lesen und an den Web-Client weiterreichen. Genau +dieses Feature hatte ich ursprünglich implementieren wollen, aber das +war auch noch, als ich an einzeilige Kommandos anstatt an ein +mehrzeiliges Skript-Fenster dachte. Inzwischen finde ich es so +einfacher, eleganter und vor allem schlanker. Benutzer kleiner Boxen +brauchen nicht extra *Screen* in die Firmware einzubauen, nur um ein +klein wenig mehr Komfort in der Benutzersitzung zu haben. Potentielle +Probleme mit Mehrfach-Logins in dieselbe *Screen*-Sitzung etc. müßten +auch behandelt werden. Ich brauche das nicht. Wer es haben will - die +Idee habe ich ja formuliert, der Weg ist gewiesen. Ausprobiert habe ich +die *Screen*-Fernsteuerung via Kommandozeile bereits, sie funktioniert +gut. + +Was geht noch alles nicht? Na ja, es macht kaum Sinn, Programme +aufzurufen, die ohne Benutzerinteraktion keinen Sinn ergeben, also z.B. +den `Midnight Commander (mc) <../mc.html>`__, ``tail -f``, seitenweise +Ausgaben mit ``more`` oder ``top`` in der nicht automatisch +terminierenden Variante. Von interaktiven Editoren wie ``vi`` rede ich +jetzt mal gar nicht - es gibt ja ``sed`` und ``awk`` für +kommandozeilenbasiertes Editieren. Für interaktives gibt es Down- und +Uploads (dazwischen offline am Client editieren, klar). + +- Tags +- `rudi-shell </tags/rudi-shell>`__ diff --git a/wiki/packages/rudi-shell/tips.rst b/wiki/packages/rudi-shell/tips.rst new file mode 100644 index 0000000..854d5e1 --- /dev/null +++ b/wiki/packages/rudi-shell/tips.rst @@ -0,0 +1,366 @@ +packages/rudi-shell/tips +======================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <../rudi-shell.html#Server>`__ + #. `Client <../rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <install.html#Installation>`__ +#. `Funktionsweise <functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <usage.html#Datei-Upload>`__ + +#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ + +.. _TipsTricks: + +Tips & Tricks +============= + +.. _SichererZugriffviaHTTPS: + +Sicherer Zugriff via HTTPS +-------------------------- + +|/!\\| Achtung: Diese Anleitung wurde geschrieben bevor AVM eine eigene +Fernzugrifffunktion integriert hat, weshalb die hier auch nicht erwähnt +wird. + +Jetzt haben wir endlich eine Shell, die über ein reines Web-Interface +läuft, sind also unabhängig von *Telnet,*\ `SSH <../dropbear.html>`__ & +Co. Was jetzt noch schön wäre: sicherer Zugriff auf die Rudi-Shell oder +am besten gleich die ganze Freetz-Konfiguration von außen über eine +`​SSL <http://de.wikipedia.org/wiki/Transport_Layer_Security>`__-gesicherte +Verbindung. Wir könnten dann aus dem Büro oder von jedem Internet-Café +der Welt aus unseren Router konfigurieren, ohne auf Proxies oder +Portbeschränkungen Rücksicht nehmen zu müssen. Port 443 für +`​HTTPS <http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure>`__ +ist bei 99% aller Proxies freigeschaltet. Wir bräuchten keinen +SSH-Client und hätten trotzdem eine sicher verschlüsselte Verbindung vom +Browser zum Router. + +Genau das konfigurieren wir uns jetzt! Zunächst brauchen wir eine +Firmware mit dem Paket `stunnel <../stunnel.html>`__. Das Paket +aktiviert übrigens automatisch die beiden Shared Libraries für +`​OpenSSL <http://de.wikipedia.org/wiki/OpenSSL>`__, nämlich +``libcrypto.so`` und ``libssl.so``. Außerdem wird die +`​zlib <http://de.wikipedia.org/wiki/Zlib>`__ (``libz.so``) benötigt. +Weitere Tips und Infos hierzu: + +- Der Platzbedarf dieser Pakete ist nicht zu unterschätzen, somit + nichts für kleine Boxen: 90 KB für `stunnel <../stunnel.html>`__, 70 + KB für die *zlib* und sage und schreibe 1.150 KB für *OpenSSL*. Das + sind fast 1,3 MB und somit eine Menge. Aber wenn die Box es + verkraftet (meine 7170 tut es), werden wir gleich noch viel Spaß + haben. +- Wer eine Firmware mit OpenSSL-Bibliotheken von AVM einsetzt, z.B. die + aktuelle 29.04.59 für die 7170, muß aufpassen, daß er in + ``/var/flash/tr069.cfg`` - so vorhanden - die Option *enabled = no* + setzt, bevor die Firmware mit den eigenen Bibliotheken installiert + wird (oder aber beim Erstellen des Images gleich den ganzen `TR-069 + Kram rauspatchen <../../patches/remove_tr069.html>`__ lassen). + Ansonsten würde es mit Boxen von 1&1 Probleme beim Aufrufen der durch + Freetz ersetzten *OpenSSL*-Bibliotheken geben. *Einige Provider wie + z.B. 1&1 verlangen bei Support-Anfragen, dass TR-069 in der Box + aktiviert ist!* + +Als nächstes brauchen wir für den HTTPS-Server ein Serverzertifikat und +ein Schlüsselpaar. Das bauen wir uns selbst mit *OpenSSL*. Das geht +unter Linux prinzipiell genauso wie unter Windows, man sollte nur +vorsichtshalber darauf achten, daß die Schlüsseldatei, welche am Ende +auf der Box landet, UNIX-Zeilenenden hat. Ich erkläre im Folgenden, wie +die Generierung eines `​Self-Signed +Key <http://en.wikipedia.org/wiki/Self-signed_certificate>`__ unter +Linux abläuft. Es genügt, folgendes Skript auszuführen: + +:: + + #!/bin/bash + + # Paßwortgeschützten Server Key erzeugen + openssl genrsa -des3 -out server.key 1024 + + # Ungeschützte Version extrahieren (der SSL-Server kann ja nicht + # vor der Benutzung selbst ein Paßwort eingeben) + openssl rsa -in server.key -out server.key.unsecure + + # Certificate Signing Request (CSR) mit persönlichen Daten erzeugen + openssl req -new -key server.key -out server.csr + + # Ein Jahr gültiges, selbst signiertes Zertifikat anfordern + openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt + + # CSR wird nicht mehr benötigt + rm server.csr + + # Schlüssel + Zertifikat (in dieser Reihenfolge!) + + + # in einer Datei zusammenführen + cat server.key.unsecure server.crt > stunnel-key.pem + + # Nachschauen, ob auch alles da ist + ls -l + +Der gesamte Vorgang erfordert zwischendurch die Eingabe einer Passphrase +für den Serverschlüssel sowie von persönlichen Daten für das Zertifikat. +Das sieht dann inkl. Ein- und Ausgaben beispielsweise so aus: + +.. code:: wiki + + $ openssl genrsa -des3 -out server.key 1024 + Generating RSA private key, 1024 bit long modulus + ..................++++++ + .......++++++ + e is 65537 (0x10001) + Enter pass phrase for server.key: + Verifying - Enter pass phrase for server.key: + + $ openssl rsa -in server.key -out server.key.unsecure + Enter pass phrase for server.key: + writing RSA key + + $ openssl req -new -key server.key -out server.csr + Enter pass phrase for server.key: + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + ----- + Country Name (2 letter code) [AU]:DE + State or Province Name (full name) [Some-State]:Bavaria + Locality Name (eg, city) []:Munich + Organization Name (eg, company) [Internet Widgits Pty Ltd]:ACME Ltd. + Organizational Unit Name (eg, section) []: + Common Name (eg, YOUR name) []:Manni Muster + Email Address []:manni@acme.de + + Please enter the following 'extra' attributes + to be sent with your certificate request + A challenge password []: + An optional company name []: + + $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt + Signature ok + subject=/C=DE/ST=Bavaria/L=Munich/O=ACME Ltd./CN=Manni Muster/emailAddress=manni@acme.de + Getting Private key + Enter pass phrase for server.key: + + $ rm server.csr + + $ cat server.key.unsecure server.crt > stunnel-key.pem + + $ ls -l + insgesamt 16 + -rw-r--r-- 1 ubuntu ubuntu 895 2007-02-26 21:50 server.crt + -rw-r--r-- 1 ubuntu ubuntu 963 2007-02-26 21:41 server.key + -rw-r--r-- 1 ubuntu ubuntu 887 2007-02-26 21:42 server.key.unsecure + -rw-r--r-- 1 ubuntu ubuntu 1782 2007-02-26 22:00 stunnel-key.pem + +Anschließend haben wir in Form der Datei ``stunnel-key.pem``, was wir +wollten: ein selbst signiertes Schlüsselpaar für unseren HTTPS-Server. +Das muß jetzt nur noch irgendwie auf die Box. Dafür gibt es zwei Wege: + +- Einbau in die Firmware: Einfach an den gewünschten Ort unter + ``<Mod-Verzeichnis>/root`` kopieren, z.B. nach + ``/usr/share/stunnel-key.pem``. +- Einbau in ``/var/flash/debug.cfg`` oder ``/tmp/flash/rc.custom`` in + der üblichen Form eines Hier-Dokuments, welchen beim Booten der Box + entpackt wird, z.B. nach ``/tmp/stunnel-key.pem`` oder nach + ``/mod/usr/share/stunnel-key.pem``. Das + `​Here-Dokument <http://en.wikipedia.org/wiki/Here-document>`__ kann + so aussehen: + + :: + + cat << EOF_CERT > /tmp/stunnel-key.pem + -----BEGIN RSA PRIVATE KEY----- + # Server-Schlüssel ... + -----END RSA PRIVATE KEY----- + -----BEGIN CERTIFICATE----- + # Zertifikat ... + -----END CERTIFICATE----- + EOF_CERT + +Wo auch immer die Schlüsseldatei liegt, wir müssen uns in der +*stunnel*-Konfiguration lediglich auf den richtigen Ablageort beziehen. +Weiter geht's: + +Über die Freetz-Oberfläche sorgen wir dafür, daß *stunnel* als Dienst +automatisch gestartet wird und geben unter *Einstellungen → stunnel +services* folgende Konfiguration ein, um eben diese Web-Oberfläche, in +der wir uns gerade aufhalten, zukünftig HTTPS-gesichert verfügbar zu +machen: + +.. code:: wiki + + [freetz_web] + cert = /tmp/stunnel-key.pem + client = no + accept = 443 + connect = 81 + +D.h. nichts anderes, als daß wir einen von uns +`Freetz <../../index.html>`__ getauften Service verfügbar machen, +welcher eingehende SSL-Verbindungen auf dem HTTPS-Port 443 akzeptiert +und diese nach dem Entschlüsseln an den Port 81 des Freetz-Webservers +weiterleitet. Wichtig: Das Ganze läuft nicht im Client-, sondern im +Server-Modus. + +Das war's schon! Jetzt können wir ausprobieren, was passiert, wenn wir +`​https://fritz.box <https://fritz.box>`__ aufrufen. Es sollten zunächst +der Passwort-Dialog von Freetz und anschließend die Web-Oberfläche +erscheinen. + +Wenn wir jetzt noch Services für Port 80 (AVM-Oberfläche) und/oder Port +82 (WoL?-Oberfläche) haben wollen, fügen wir einfach entsprechende +Abschnitte in die Konfiguration ein nach obigem Muster. + +|/!\\| **Achtung:** Um den oder die HTTPS-Ports nach außen verfügbar zu +machen, müssen entweder die üblichen Einstellungen in +``/var/flash/ar7.cfg`` vorgenommen werden, also z.B. folgender Abschnitt +unter *forwardrules* + +.. code:: wiki + + "tcp 0.0.0.0:443 0.0.0.0:443", + +oder aber über die AVM-Oberfläche ein entsprechendes `​Port +Forwarding <http://de.wikipedia.org/wiki/Portweiterleitung>`__ auf ein +virtuelles Interface konfiguriert werden. Das Ganze benötigen wir pro +Service, d.h. wir müssen uns entscheiden, welcher Service den "Premium +Port" 443 bekommt, der von überall her erreichbar sein sollte. Ich +schlage vor, der Freetz-Oberfläche diesen Port zu geben, denn dadurch +gelangen wir an die Rudi-Shell und können somit alles mit der Box +anstellen, was wir wollen. + +|/!\\| **Wichtig:** Es muß wohl nicht weiter erklärt werden, weshalb bei +diesem Szenario einem sicheren Passwort für die Web-Oberfläche besondere +Bedeutung zukommt… + +.. _HTTPS-Zugriffreloadedimproved: + +HTTPS-Zugriff reloaded & improved +--------------------------------- + +Die Aussicht auf ein Paket von (bei mir) 1.310 KB für die oben +beschriebene Lösung ist natürlich ein K.O.-Kriterium für kleine Boxen, +die sowieso schon mit dem Speicherplatz für einen Firmware-Mod +haushalten müssen. Wer sowieso OpenSSL auf der Box für etwas anderes +braucht, dem werden die 160 KB für **stunnel + zlib** zusätzlich nicht +mehr viel ausmachen. Aber wer SSL nur für den HTTPS-Server benötigt, +würde sich sicher über eine schlankere Variante freuen. Das Schöne ist: +es gibt eine. + +Es gibt eine für Embedded-Systeme optimierte Open-Source-SSL-Bibliothek +Namens `​matrixssl <http://www.matrixssl.org>`__. Außerdem hat jemand +für `​OpenWRT <http://openwrt.org>`__ den kleinen Wrapper +`​matrixtunnel <http://znerol.ch/svn/matrixtunnel/trunk>`__ geschrieben, +welcher unsere Alternative zu `stunnel <../stunnel.html>`__ sein wird. +Und es gibt das Ganze auch bereits als `Paket für +Freetz <../matrixtunnel.html>`__. Es handelt sich um ein Paket und eine +Bibliothek mit der Gesamtgröße von 110 KB(!). Das entspricht einer +Platzersparnis von ca. 92% gegenüber der ersten Lösung und funktioniert +genauso gut nach meinen bisherigen Erfahrungen. So schnell wie ohne +Verschlüsselung ist das Browsen subjektiv mit beiden HTTPS-Varianten +nicht, aber absolut in Ordnung zum Arbeiten. + +*Inzwischen wurde auch*\ `xrelayd <../xrelayd.html>`__\ *der Nachfolger +von*\ `matrixtunnel <../matrixtunnel.html>`__\ *in Freetz aufgenommen. +Hier wird*\ `xyssl <../xyssl.html>`__\ *(inzwischen polarssl) als +Crypt-Lib eingesetzt.* + +Der Aufruf, den man am besten in einer der beim Start ausgeführten +Dateien (siehe Beschreibung der **stunnel**-Variante) unterbringt, sieht +beispielhaft so aus: + +:: + + matrixtunnel -A cert.pem -p server_key.pem -d 443 -r 81 -P /tmp/matrixssl.pid + +Ich verwende übrigens für ``-A`` und ``-p`` denselben Dateinamen und +dieselbe kombinierte Datei mit Serverschlüssel und Zertifikat wie für +*stunnel* (Bauanleitung s.o.). Gibt man zusätzlich ``-f`` an, startet +der Server im Vordergrund und man kann die Ausgaben beobachten. Einen +Debug-Schalter gibt es auch - einfach mal mit ``-?`` aufrufen und +schauen. + +Übrigens: `matrixtunnel <../matrixtunnel.html>`__ kann auch für jede +Schnitstelle (IP-Adresse) eine andere Regel nutzen. Einfach die +IP-Addresse vor dem Port (ip:port) angeben wie z.B. + +:: + + # ds_mod web über SSL auf LAN + matrixtunnel -A mycert.pem -p mycert.pem -d 192.168.1.1:443 -r 192.168.1.1:81 -P /tmp/matrixssl.pid + # eigene Internetseite über SSL auf Virtual IP für externen Zugang + matrixtunnel -A mycert.pem -p mycert.pem -d 192.168.1.253:443 -r 192.168.1.253:82 -P /tmp/matrixssl.pid + +.. _Firmwareremoteflashen: + +Firmware remote flashen +----------------------- + +Auch das geht mit Rudi wunderbar, wie ich seit längerer Zeit in einem +`​Beitrag im +Forum <http://www.ip-phone-forum.de/showthread.php?p=846233>`__ +beschrieben habe. Hier nochmals der Code, den man in der Rudi-Shell auf +einmal ausführen kann. Vorher stoppen wir am besten noch einige +Freetz-Dienste, welche dem im Code aufgerufenen AVM-Skript nicht bekannt +sind und die deshalb weiter laufen und Speicher verbrauchen würden. + +:: + + # Bevor wir anfangen, ein Hintergrundbefehl: notfalls in 10 min die Box + # zwangsweise neu starten, das müßte für Download + FW-Update reichen. + { sleep 600 ; reboot -f; } & + + { + # Unnötige Dienste stoppen, aber websrv und dsld weiter laufen lassen + prepare_fwupgrade start_from_internet + # FW-Image herunterladen und direkt nach "/" entpacken + wget -q -O - http://mein.server.xy/mein.image 2> /dev/null | tar -C / -x + # Restliche Dienste stoppen + prepare_fwupgrade end + # Installation vorbereiten + /var/install + # Installation initialisieren + /var/post_install + # Box neu starten + reboot + } + +Dieser Code funktioniert übrigens nicht nur in der Rudi-Shell, sondern +grundsätzlich auch innerhalb einer Telnet- oder SSH-Sitzung. + +- Tags +- `https </tags/https>`__ +- `remote </tags/remote>`__ + +.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/rudi-shell/usage.rst b/wiki/packages/rudi-shell/usage.rst new file mode 100644 index 0000000..e42dc85 --- /dev/null +++ b/wiki/packages/rudi-shell/usage.rst @@ -0,0 +1,187 @@ +packages/rudi-shell/usage +========================= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ + + #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ + #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ + + #. `Server <../rudi-shell.html#Server>`__ + #. `Client <../rudi-shell.html#Client>`__ + #. `Was NICHT gebraucht + wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ + #. `Platzbedarf der + Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ + +#. `Installation <install.html#Installation>`__ +#. `Funktionsweise <functions.html#Funktionsweise>`__ +#. `Illustrierte + Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ + + #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ + #. `Historie verwenden <usage.html#Historieverwenden>`__ + #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ + #. `Download langer + Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ + #. `Datei-Upload <usage.html#Datei-Upload>`__ + +#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ +#. `Tips & Tricks <tips.html#TipsTricks>`__ + + #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ + #. `HTTPS-Zugriff reloaded & + improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ + #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ + +.. _IllustrierteAnwendungsfälle: + +Illustrierte Anwendungsfälle +============================ + +.. _Shell-Skriptausführen: + +Shell-Skript ausführen +---------------------- + +Befehl eingeben, ausführen, Ergebnis anschauen - fertig. + +.. figure:: /screenshots/40.gif + :alt: Rudi-Shell: Shell-Skript ausführen + + Rudi-Shell: Shell-Skript ausführen + +.. _Historieverwenden: + +Historie verwenden +------------------ + +Historien-Liste öffnen, per Maus oder Tastatur durchblättern. Beim +Blättern aktualisieren sich schon Befehlsfenster und Ergebniskonsole. +Durch Drücken des Knopfes "Hist. löschen" wird die Historie bereinigt +und ist wieder jungfräulich. + +.. figure:: /screenshots/41.gif + :alt: Rudi-Shell: History + + Rudi-Shell: History + +.. _DownloadTar-Archiv: + +Download Tar-Archiv +------------------- + +Man kann mittels eines Befehls wie ``tar c *`` ein Archiv erzeugen, im +Beispiel von allen Dateien und Unterverzeichnissen im aktuellen +Verzeichnis - übrigens bei Shellskript-Start immer ``/usr/mww/cgi-bin``, +weil von dort aus die CGI-Skripten ausgeführt werden. Wenn man +zusätzlich den Download-Schalter vor dem Ausführen aktiviert und evtl. +zur Bequemlichkeit noch den Dateiendung-Schalter *.tar*, erhält man das +Archiv direkt als Download, den man speichern kann, wohin man will. Was +hier technisch passiert, ist, daß die Standardausgabe der Shell - wir +haben ja keine Zieldatei für *Tar* angegeben, also gilt die +Standardausgabe - umgeleitet wird, und zwar in den Rückgabekanal des +CGI-Skripts hin zum Browser des Benutzers. + +**Trouble-Shooting:** Manchmal kommt es vor, daß *Tar* (oder auch andere +Shell-Befehle) zusätzlich zur eigentlichen Ausgabe noch Meldungen +(Fehler, Informationen, Warnungen) in einen anderen Ausgabekanal, die +sog. Fehlerausgabe, schreiben. Da ohne weitere Vorkehrungen bei der +Rudi-Shell - wie bei anderen interaktiven Shells auch - Standard- und +Fehlerausgabe gebündelt werden, landen evtl. Informationen im Download, +die wir dort gar nicht haben wollen. Im Falle unseres *Tar*-Archivs wird +dadurch die Datei "verunreinigt" und ist nicht mehr entpackbar. Um das +zu diagnostizieren, lassen wir uns das Tar-Archiv einfach kurzerhand auf +die Konsole ausgeben (Download-Schalter deaktivieren). Das sieht dann so +aus: + +.. figure:: /screenshots/42.gif + :alt: Rudi-Shell: Tar Diagnose + + Rudi-Shell: Tar Diagnose + +Es gibt im Prinzip zwei Möglichkeiten, solche Verunreinigungen zu +umgehen: Erstens kann man die Shell explizit anweisen, die Fehlerausgabe +umzuleiten in eine Datei, auf eine andere Konsole oder ins Nirgendwo +(``/dev/null``, das beliebte Faß ohne Boden), wie im folgenden Beispiel: + +.. figure:: /screenshots/43.gif + :alt: Rudi-Shell: Fehlerausgabe ins Nirvana umleiten + + Rudi-Shell: Fehlerausgabe ins Nirvana umleiten + +Die zweite (etwas unsicherere, da nicht immer vorhersehbare) Möglichkeit +besteht schlicht in der Vermeidung von Fehlerausgaben, indem man vorher +die Syntax von Befehlen, notwendige Berechtigungen etc. prüft. In +unserem Fall kann man die Meldung vermeiden, indem man vorher in das +passende Basisverzeichnis wechselt, aus dem heraus *Tar* operieren soll: + +.. figure:: /screenshots/44.gif + :alt: Rudi-Shell: Fehlerausgabe durch vorbereitende Schritte + vermeiden + + Rudi-Shell: Fehlerausgabe durch vorbereitende Schritte vermeiden + +.. _DownloadlangerKonsolenausgabe: + +Download langer Konsolenausgabe +------------------------------- + +Lange Konsolenausgaben eines Skripts werden von Rudi auf knapp 64 KB +gekürzt, weil je nach Browser das Umkopieren mehrerer hundert KB langer +Ausgaben aus dem unsichtbaren IFrame, worin die Original-Ausgabe +zunächst landet, den Browser extrem ausbremst. Außerdem ist solch ein +langer Text im Browser nur schlecht zu analysieren, das sollte man +lieber offline in einem leistungsfähigen Editor mit guten Suchfunktionen +machen. Ein Beispiel für eine lange Ausgabe ist z.B. ``ls -leAR /``, +also die detaillierte Anzeige sämtlicher Dateien mit vollem Datum usw, +rekursiv beginnend im Wurzelverzeichnis. + +Es gibt browserbedingte Unterschiede, die beeinflussen, wieviel von +diesen 64 KB tatsächlich beim Umkopieren im Hauptfenster ankommen. Der +*Internet Explorer* schneidet gar nichts ab (er würde auch 1 MB +umkopieren und daraufhin, warum auch immer, für eine Weile blockieren). +Opera kappt den Text bei 32 KB, Firefox bereits bei 8 KB. Nun sind 8 KB +nicht sehr viel, aber in den meisten Fällen ausreichend für normale +Befehle. Im Hinblick auf die Historie, welche ja u.U. sehr viele Befehle +mit zugehörigen Ausgaben speichern muß, ist die Begrenzung auch gesund. + +Wer nun also eine lange Konsolenausgabe in voller Länge genießen will, +aktiviert einfach den Download-Schalter und lädt sich das Ganze als +Textdatei herunter: + +.. figure:: /screenshots/45.gif + :alt: Rudi-Shell: Lange Konsolenausgabe als Datei-Download + + Rudi-Shell: Lange Konsolenausgabe als Datei-Download + +.. _Datei-Upload: + +Datei-Upload +------------ + +Das Ausführen von Befehlen und das Herunterladen von Dateien und +Konsolen-Ausgaben sind bereits mächtige Werkzeuge, aber richtig Spaß +macht die Arbeit mit der Rudi-Shell erst durch die Möglichkeit, +beliebige Dateien hochzuladen. Das geht ganz einfach: + +.. figure:: /screenshots/46.gif + :alt: Rudi-Shell: Erfolgreicher Datei-Upload + + Rudi-Shell: Erfolgreicher Datei-Upload + +*Für die Techniker: Es handelt sich um einen normalen Form-based Upload +gemäß*\ `​RFC 1867 <http://www.ietf.org/rfc/rfc1867.txt>`__\ *.* + +Nun kann beim Upload auch mal etwas schief gehen. Dann benötigt man eine +entsprechende, einigermaßen informative Rückmeldung des Systems. Auch +hierfür ist gesorgt - das sieht dann so aus: + +.. figure:: /screenshots/47.gif + :alt: Rudi-Shell: Fehler beim Datei-Upload + + Rudi-Shell: Fehler beim Datei-Upload + +- Tags +- `rudi-shell </tags/rudi-shell>`__ diff --git a/wiki/packages/s3fslite.rst b/wiki/packages/s3fslite.rst new file mode 100644 index 0000000..e5db2de --- /dev/null +++ b/wiki/packages/s3fslite.rst @@ -0,0 +1,64 @@ +packages/s3fslite +================= +s3fslite +======== + +"*s3fslite is a fork of s3fs, originally written by Randy Rizun. It is a +file system that stores all data in an Amazon S3 bucket. It allows +access to a bucket as though it were a local file system. It is useful +for publishing static web data that can be read easily by a browser, or +for backing up private or shared data.*" + +.. _Usage: + +Usage +----- + +See the home page for detailed usage instructions. Be sure to specify +the following options: + +.. code:: wiki + + -o attr_cache= + -o writeback_cache= + +to a non-memory location to prevent running out of memory when storing +larger files (your box could crash and reboot). + +For example: + +.. code:: wiki + + s3fs <bucket> <mount point> \ + -o attr_cache=/var/media/ftp/uStor01/... \ + -o writeback_cache=/var/media/ftp/uStor01/... + +| You can store your credentials in */tmp/flash/passwd-s3fs*, if you + don't want to specify them on the command line. + +It is possible to use a *mime.types* file, if you want to access your +objects from internet: (for example for a static web site)  + +- Copy */etc/mime.types* to your box, for example to + */var/media/ftp/uStor01/mime.types* +- Create a symbolic link like this: *ln -s + /var/media/ftp/uStor01/mime.types /tmp/flash/mime.types* + +Using *rsync* to make backups: + +.. code:: wiki + + rsync -avW --delete /source-folder/ /mount-point/ + +Advice: read the man page of rsync, before using it. + +.. _Links: + +Links +----- + +- `​Home page <http://github.com/russross/s3fslite>`__ +- `​Ticket <http://trac.freetz.org/ticket/796>`__ (with patch) +- `​Amazon S3 <http://aws.amazon.com/s3/>`__ +- `​Man page + rsync <http://optics.ph.unimelb.edu.au/help/rsync/rsync.html>`__ diff --git a/wiki/packages/samba.rst b/wiki/packages/samba.rst new file mode 100644 index 0000000..2246292 --- /dev/null +++ b/wiki/packages/samba.rst @@ -0,0 +1,272 @@ +packages/samba +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Package ins Image einbinden <samba.html#PackageinsImageeinbinden>`__ +#. `Verwandte Themen <samba.html#VerwandteThemen>`__ +#. `Konfigurieren des Pakets <samba.html#KonfigurierendesPakets>`__ + + #. `AVM Konfiguration <samba.html#AVMKonfiguration>`__ + #. `Freetz Konfiguration <samba.html#FreetzKonfiguration>`__ + + #. `Pakete → Samba <samba.html#PaketeSamba>`__ + #. `Einstellungen → Samba + Freigaben <samba.html#EinstellungenSambaFreigaben>`__ + #. `Einstellungen → Samba + Erweitert <samba.html#EinstellungenSambaErweitert>`__ + +.. _Samba: + +Samba +===== + +.. figure:: /screenshots/204.png + :alt: Samba Webinterface + + Samba Webinterface + +Dieses Paket macht angeschlossen USB-Speicher oder das Dateisystem der +FritzBox für Windows als Dateifreigabe verfügbar (die Beschreibung +basiert auf freetz-1.2 mit Samba 3.0.37). Unter Linux kann dieser +Speicher mittels *smbmount*, *cifsmount*, etc. verfügbar gemacht werden. +Natürlich ergibt ein Samba-Server auf der FritzBox nur dann Sinn, wenn +man einen USB-Datenträger angeschlossen hat oder wenn man einen +`WebDav <davfs2.html>`__ im LAN bereitstellen möchte - ein Samba-Client +kann jedoch durchaus auch genutzt werden, um der FritzBox externen +Speicher zur Verfügung zu stellen - etwa von einem +`​NAS <http://de.wikipedia.org/wiki/Network_Attached_Storage>`__ Device. + +Die Dateifreigabe ist zwar auch Bestandteil neuerer AVM Firmware, aber +das Freetz-Paket erweitert die Möglichkeiten: + ++-----------------+-----------------+-----------------+-----------------+ +| | AVM\ :sup:`1` | freetz\ :sup:`2 | Samba\ :sup:`3` | +| | | ` | | ++-----------------+-----------------+-----------------+-----------------+ +| Automatische | |(./)| | |(./)| | |(./)| | +| Freigabe von | | | | +| USB-Speicher | | | | ++-----------------+-----------------+-----------------+-----------------+ +| \* mit / ohne | |(./)| | |(./)| | |(./)| | +| Passwort | | | | ++-----------------+-----------------+-----------------+-----------------+ +| \* nur lesen / | |(./)| | |(./)| | |(./)| | +| lesen und | | | | +| schreiben | | | | ++-----------------+-----------------+-----------------+-----------------+ +| \* für FAT, | |(./)| | |(./)| | |(./)| | +| FAT32 | | | | ++-----------------+-----------------+-----------------+-----------------+ +| \* für EXT2, | -:sup:`4` | |(./)| | |(./)| | +| EXT3, NTFS | | | | ++-----------------+-----------------+-----------------+-----------------+ +| Arbeitsgruppe | - | - | |(./)| | +| und Servername | | | | +| konfigurierbar | | | | ++-----------------+-----------------+-----------------+-----------------+ +| Dateigröße über | - | - | |(./)| | +| 2GB | | | | ++-----------------+-----------------+-----------------+-----------------+ +| In der | - | - | |(./)| | +| Netzwerkumgebun | | | | +| g | | | | +| sichtbar | | | | ++-----------------+-----------------+-----------------+-----------------+ +| Manuell | - | - | |(./)| | +| konfigurierte | | | | +| Freigaben | | | | ++-----------------+-----------------+-----------------+-----------------+ +| Master Browser | - | - | |(./)| | ++-----------------+-----------------+-----------------+-----------------+ +| Detailierte | - | - | |(./)| | +| Konfiguration | | | | +| des Servers | | | | ++-----------------+-----------------+-----------------+-----------------+ + +| :sup:`1` wenn Dateifreigabe für das Modell vorgesehen ist +| :sup:`2` Freetz mit AVM-Samba +| :sup:`3` Freetz mit "eigenem" Samba +| :sup:`4` NTFS/EXT2 bei Modellen ab Generation x2xx (EXT2 nicht bei + 7270v1), EXT3/4 bei Modellen ab Firmware 5.x + +.. _PackageinsImageeinbinden: + +Package ins Image einbinden +--------------------------- + +Im menuconfig unter ``Package selection -> Standard packages`` befindet +sich + +- *Samba 3.0.37 smbd (Filesharing)* + Damit wird Dateifreigabe möglich. +- *Samba 3.0.37 nmbd (Nameservices)* + Dies macht die FritzBox in der Netzwerkumgebung sichtbar. ``nmbd`` + kann nur gewählt werden, wenn ``smbd`` ausgewählt ist. + +.. _VerwandteThemen: + +Verwandte Themen +---------------- + +Unter ``Patches`` befindet sich + +- *Patch USB storage names* … mit zusätzlichen Unterpunkten. + Diese beeinflussen ebenfalls Details der Dateifreigabe. +- *Remove smbd* |/!\\| Diese Option sollte deselektiert sein und wird + bei der Auswahl des Samba-Packages aus menuconfig entfernt. + +.. _KonfigurierendesPakets: + +Konfigurieren des Pakets +------------------------ + +.. _AVMKonfiguration: + +AVM Konfiguration +~~~~~~~~~~~~~~~~~ + +Die Optionen der original AVM Firmware sind unverändert verfügbar (unter +*Erweiterte Einstellungen → USB-Geräte → USB-Speicher*) . Dies sind: + +- aktivieren / deaktivieren des Dateiservers (Samba) +- Zugriffsberechtigung für die automatischen Freigaben: nur lesen / + lesen und schreiben +- Kennwort + +.. _FreetzKonfiguration: + +Freetz Konfiguration +~~~~~~~~~~~~~~~~~~~~ + +Im Freetz Webinterface werden die zusätzlichen Möglichkeiten des Pakets +konfiguriert. + +.. _PaketeSamba: + +Pakete → Samba +^^^^^^^^^^^^^^ + +- **Arbeitsgruppe** + unter dieser Arbeitsgruppe wird der Server in der Netzwerkumgebung + von Windows sichtbar +- **Name des Servers** + der Name des Server in seiner Arbeitsgruppe +- **Beschreibung des Servers** + und seine zusätzliche Beschreibung +- Optionen für den **Master Browser** + Wenn mehrere Windows Systeme im gleichen Netzwerksegment vorhanden + sind, übernimmt eines die Aufgabe, eine Liste mit verfügbaren + Systemen zu verwalten. Die folgenden Parameter bestimmen, ob die + FritzBox diese Aufgabe übernimmt und *Master Browser* wird. Details + unter + `​http://us3.samba.org/samba/docs/using_samba/ch07.html#samba2-CHP-7-TABLE-2 <http://us3.samba.org/samba/docs/using_samba/ch07.html#samba2-CHP-7-TABLE-2>`__ + + - OS Level für Election + Mit dem Standardwert von 20 wird die FritzBox fast immer *Master + Browser*. + - Bevorzugter Master + Wenn dies gewählt ist, versucht die FritzBox nach dem Booten einen + eventuell schon vorhanden Master Browser abzulösen. + +- Auswahl der **Netzwerkschnittstelle** + Hier wird das Netzwerksegment angegeben, für das die Box die + Dateifreigabe bereit stellt. Es kann leer gelassen werden. Dann gilt + die Dateifreigabe für alle Netzwerksegment, in der sich die Box + befindet. + |/!\\| **Achtung:** Wenn die Box direkt mit dem Internet verbunden + ist, sollte man sicher sein der der interne Firewall in Ordnung ist. + Sonst könnte das eine Angriffsmöglichkeit aus dem gesamten Internet + eröffnen. +- Startmodus + Hier kann entweder **automatisch** oder **manuell** ausgewählt + werden. (*TODO: Wird smbd auch von den Hotplug-Skripten gestartet*?) + +.. _EinstellungenSambaFreigaben: + +Einstellungen → Samba Freigaben +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| Zusätzlich zum USB-Speicher, der beim Anschließen automatisch eine + Freigabe erzeugt, können hier statische Freigaben definiert werden. Z. + B. das Dateisystem der FritzBox oder ausgewählte Verzeichnisse des + USB-Speichers als selbständige Freigabe. +| Konfiguriert werden kann: + +- **Path**: Der FritzBox-interne Pfad des Verzeichnisses, das + freigegeben wird. +- **Name**: Unter diesem Namen ist die Freigabe für Windows sichtbar +- **guest ok**: *1*: Legt fest, dass auf diese Freigabe auch ohne + Kennwort zugegriffen werden kann. Das Kennwort wird in der + Konfiguration der FritzBox festgelegt. +- **read only**: *1*: Auf diese Freigabe kann nur lesend zugegriffen + werden. *0*: Lese- und Schreibzugriff +- **comment 1**: *-*: Beschreibung folgt +- **comment 2**: Beschreibung / Kommentar, den Windows mit dieser + Freigabe anzeigt. + +**Beispiel:** + +.. code:: wiki + + /var/media/ftp/uStor01/Videos hdd1 1 0 - Videos + /var/media/ftp/uStor01/Bilder hdd1 1 0 - Bilder + /var/media/ftp/uStor01/Musik hdd1 1 0 - Musik + +Bei Nutzung eines USB-Speichers ist zu beachten, dass die Zugriffsrechte +entsprechend gesetzt sein müssen. Wurde der Speicher an einem +Fremdrechner z. B. mit ext2 oder ext3 formatiert, sind oft keine +Schreibrechte und auch nicht ``ftpuser`` als Eigentümer gesetzt. In der +FRITZBox kann das mit folgenden Kommandos korrigiert werden: + +.. code:: wiki + + chmod -R 777 uStor01 + +.. code:: wiki + + chown ftpuser -R uStor01 + +.. _EinstellungenSambaErweitert: + +Einstellungen → Samba Erweitert +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| Hier können sich die Experten austoben und beliebige globale Optionen + für Samba definieren: Der eingegebene Text wird verbatim ans Ende der + ``[global]`` - Sektion in der Samba-Konfiguration eingefügt. +| Details unter + `​http://samba.org/samba/docs/using_samba/ch06.html <http://samba.org/samba/docs/using_samba/ch06.html>`__ + +Weitere Tuningmöglichkeiten gibt es hier: +`​http://lug.krems.cc/docu/samba/appb_02.html <http://lug.krems.cc/docu/samba/appb_02.html>`__ + +| Für Performanceverbesserungen kann folgendes unter 'Erweitert' + eingetragen werden: + +.. code:: wiki + + socket options = TCP_NODELAY IPTOS_LOWDELAY + read raw = yes + write raw = yes + oplocks = yes + max xmit = 65535 + dead time = 15 + getwd cache = yes + +| Nichtexperten können diese Einstellung einfach leer lassen. +| Falls bei Windows 7 64-bit ein BSOD auftritt "oplocks = no" setzen, + siehe + `​IPPF <http://www.ip-phone-forum.de/showpost.php?p=1538911&postcount=1>`__. + +- Tags +- `daemons </tags/daemons>`__ +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ +- `samba </tags/samba>`__ +- `server </tags/server>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ + +.. |(./)| image:: ../../chrome/wikiextras-icons-16/tick.png +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/sane-backends.rst b/wiki/packages/sane-backends.rst new file mode 100644 index 0000000..2e2a8dd --- /dev/null +++ b/wiki/packages/sane-backends.rst @@ -0,0 +1,291 @@ +packages/sane-backends +====================== +.. _SANE: + +SANE +==== + +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Beschreibung <sane-backends.html#Beschreibung>`__ +#. `Schnellstart <sane-backends.html#Schnellstart>`__ + + #. `Vorbemerkung <sane-backends.html#Vorbemerkung>`__ + #. `Installation und + Konfiguration <sane-backends.html#InstallationundKonfiguration>`__ + #. `Nutzung vom PC unter + Linux/Windows <sane-backends.html#NutzungvomPCunterLinuxWindows>`__ + #. `Scannen funktioniert + nicht <sane-backends.html#Scannenfunktioniertnicht>`__ + +#. `Probleme und Lösungen <sane-backends.html#ProblemeundLösungen>`__ +#. `Einschränkungen und + Hinweise <sane-backends.html#EinschränkungenundHinweise>`__ + + #. `Hinweise zu speziellen + Geräten <sane-backends.html#HinweisezuspeziellenGeräten>`__ + +#. `Weiterführende Links <sane-backends.html#WeiterführendeLinks>`__ + +.. _Beschreibung: + +Beschreibung +------------ + +Dieses Paket ermöglicht den Betrieb von Scannern an der Fritz!Box. Diese +können dann wie Drucker von allen Rechnern im lokalen Netzwerk genutzt +werden. Ebenso ist es damit möglich, Scanner direkt von der Fritz!Box +aus zu nutzen (z.B. in Scripts). + +.. _Schnellstart: + +Schnellstart +------------ + +.. _Vorbemerkung: + +Vorbemerkung +~~~~~~~~~~~~ + +Die aktuellsten Treiber sind nur im Trunk verfügbar: +`​http://trac.freetz.org/#Entwicklerversion <http://trac.freetz.org/#Entwicklerversion>`__ + +.. _InstallationundKonfiguration: + +Installation und Konfiguration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- make menuconfig +- Sicherstellen, daß im Hauptmenü ``Show advanced options`` und unter + ``Package selection`` ``Unstable`` ausgewählt sind +- Im Hauptmenü zu ``Package selection`` → ``Unstable`` → ``SANE`` + wechseln und ``SANE`` auswählen +- Empfehlung: ``sane-find-scanner`` und ``scanimage`` auswählen. (Diese + sind nicht notwendig für den Betrieb, aber hilfreich, falls das + Scannen im nächsten Schritt nicht funktioniert. Wenn einmal alles + klappt, kann man die beiden Punkte wieder abwählen um Speicherplatz + zu sparen (~150kB) und ein neues Image erstellen) +- Backend auswählen: + + - Geräte von Hewlett-Packard (HP): Eine Ebene höher wechseln, HPLIP + auswählen (HPLIP ist momentan nur im Trunk verfügbar) und dann + ``Printer Class`` und ``Printer Type`` entsprechend auswählen + (Hilfefunktion steht zur Verfügung) + - Für alle anderen Geräte (und sehr alte HPs): Über die `​Liste + unterstützter + Geräte <http://www.sane-project.org/sane-mfgs.html>`__ den Namen + des Backends feststellen und auswählen. + +- Unter ``Package selection`` → ``Standard packages`` ``Inetd`` + auswählen (wird in kommenden Versionen automatisch ausgewählt) +- Image erstellen, flashen, neu starten + +.. _NutzungvomPCunterLinuxWindows: + +Nutzung vom PC unter Linux/Windows +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _Linux: + +Linux +^^^^^ + +- `​XSane <http://www.xsane.org/>`__ installieren (inkl. net-Backend) +- ``SANE_NET_HOSTS=fritz.box xsane`` starten + + - Tip: ``/etc/sane.d/net.conf`` um eine neue Zeile ``fritz.box`` + erweitern, dann reicht es, nur ``xsane`` einzutippen. + +.. _Windows: + +Windows +^^^^^^^ + +- Mit `​SaneTwain <http://sanetwain.ozuzo.net/>`__ kann man den Scanner + aus allen Windows-Anwendungen heraus verwenden, die Scanner über die + TWAIN-Schnittstelle unterstützen. +- `​XSane für Windows <http://www.xsane.org/xsane-win32.html>`__ + + - Die Sprache läßt sich so auf Deutsch ändern, indem man die + Umgebungsvariable ``LANG`` auf ``de`` setzt. Z.B. Folgendes in + xsane.bat: + + .. code:: wiki + + @echo off + set LANG=de + c:\sane\bin\xsane.exe + +.. _Scannenfunktioniertnicht: + +Scannen funktioniert nicht +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Falls das Scannen wie in dieser Anleitung beschrieben nicht +funktioniert: + +- Auf der Box einloggen und dort schauen, ob ``sane-find-scanner`` das + Gerät findet + + - Falls man sich nicht an die Empfehlung gehalten hat, + sane-find-scanner und scanimage ins Image aufzunehmen: Neues Image + mit den beiden Tools erstellen und flashen + +- Falls kein Scanner gefunden wird, hat man schlechte Karten +- Falls das geht, mit ``scanimage -L`` schauen, ob der Scanner + aufgelistet wird. Falls es hier scheitert, stimmt mit dem Backend was + nicht + + - Manche Backends brauchen zusätzliche Anpassungen/Einstellungen, + z.B. einen Firmware-Upload ⇒ man page zum Backend durchlesen (sind + auch hier verlinkt: + `​http://www.sane-project.org/sane-mfgs.html <http://www.sane-project.org/sane-mfgs.html>`__) + - Evtl. wird der Scanner unterstützt, aber die Version von SANE bzw. + HPLIP in Freetz ist zu alt: + `​http://www.sane-project.org/sane-backends-1.0.19.html <http://www.sane-project.org/sane-backends-1.0.19.html>`__ + für Freetz 1.1.3, sonst unter + `​http://www.sane-project.org/sane-supported-devices.html <http://www.sane-project.org/sane-supported-devices.html>`__ + bzw. + `​http://hplipopensource.com/hplip-web/supported_devices/index.html <http://hplipopensource.com/hplip-web/supported_devices/index.html>`__ + schauen und **Versionen vergleichen**. + +- Falls der Scanner nicht aufgelistet worden ist, hat es gar keinen + Sinn, es mit Programmen wie ``xsane`` weiter zu versuchen. Ansonsten + bei `Probleme und + Lösungen <sane-backends.html#ProblemeundLösungen>`__ weiterlesen + +.. _ProblemeundLösungen: + +Probleme und Lösungen +--------------------- + +- *Problem*: Es wird kein Scanner gefunden + *Lösung*: Netzwerkeinstellungen prüfen (ping fritz.box + funktioniert?); im Web-Interface unter Dienste schauen, ob saned + läuft und unter Pakete die Einstellungen von SANE prüfen (mal auf + Standard zurücksetzen und sicherstellen, daß man im richigen Subnetz + ist); Scanner aus- und wieder einschalten +- *Problem*: Nach einmaligem Scannen ist der Scanner nicht mehr + erreichbar. + *Lösung*: Sicherstellen, daß ``Inetd`` installiert worden ist, und im + Webinterface prüfen, ob als Starttyp für saned ``inetd`` ausgewählt + ist (in kommenden Versionen ist kein anderer Starttyp mehr auswählbar + und dieses Problem tritt nicht mehr auf). + +.. _EinschränkungenundHinweise: + +Einschränkungen und Hinweise +---------------------------- + +- Dieses Paket erlaubt standardmäßig den Zugriff für alle Rechner im + LAN (192.168.178.0/24) +- Man sollte einen Scanvorgang nicht abbrechen, da das zum Einfrieren + des Scanners führen kann +- Neben reinen Scannern werden auch Multifunktionsgeräte mit Scanner + sowie ein paar Kameras unterstützt +- Es sollte möglich sein, auch mehrere Scanner gleichzeitig + anzuschließen (nicht getestet) +- Es sind nicht alle Backends von SANE enthalten (wen's interessiert: + [`source:trunk/make/sane-backends/config-update.pl#L134 </browser/trunk/make/sane-backends/config-update.pl#L134>`__\ `​ </export/HEAD/trunk/make/sane-backends/config-update.pl#L134>`__) +- saned ist trotz des Namens kein Dämon +- saned ist zum Scannen mit scanimage auf der Box nicht nötig +- scanimage ist zum Scannen über saned nicht nötig + +.. _HinweisezuspeziellenGeräten: + +Hinweise zu speziellen Geräten +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _AGFASnapScane20: + +AGFA SnapScan e20 +^^^^^^^^^^^^^^^^^ + +- Firmwaredatei besorgen (z.B. aus einer Windowsinstallation) - + snape20.bin +- diese in den Ordner "``root/usr/share``" kopieren +- die Dateien "``snapscan.conf``" und "``snapscan.conf.in``" aus dem + Ordner "``source/sane-backends-1.0.19/backend``" anpassen: + +.. code:: wiki + + #------------------------------ General ----------------------------------- + + # Change to the fully qualified filename of your firmware file, if + # firmware upload is needed by the scanner + firmware /usr/share/snape20.bin + + # If not automatically found you may manually specify a device name. + +- freetz-image erstellen +- und der Scanner kann z.B. per xsane genutzt werden + +.. _MustekBearPaw1200TA: + +Mustek BearPaw 1200 TA +^^^^^^^^^^^^^^^^^^^^^^ + +- Firmwaredatei besorgen - A1fw.usb - + `​http://www.meier-geinitz.de/sane/gt68xx-backend/ <http://www.meier-geinitz.de/sane/gt68xx-backend/>`__ +- In freetz Verzeichnis eingeben: + + .. code:: wiki + + mkdir -p make/sane-backends/files/root/usr/share/sane/gt68xx + cp <Pfad zu A1fw.usb> make/sane-backends/files/root/usr/share/sane/gt68xx + +- freetz-image erstellen + +.. _HP-GerätedieeinPluginbenötigen: + +HP-Geräte, die ein Plugin benötigen +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Folgende HP-Geräte benötigen zum Scannen ein Plugin, das nur für x86 und +x86_64 verfügbar ist, und können nach derzeitigem Wissensstand nicht als +Scanner an der Fritz!Box betrieben werden (s.a. +`​Forum <http://www.ip-phone-forum.de/showthread.php?t=108479&page=19#379>`__): + +- HP Color LaserJet CM1015 Multifunction Printer +- HP Color LaserJet CM1017 Multifunction Printer +- HP Color LaserJet CM1312 Multifunction Printer +- HP Color LaserJet CM1312nfi Multifunction Printer +- HP Color LaserJet CM2320 Multifuntion Printer +- HP Color LaserJet CM2320fxi Multifunction Printer +- HP Color LaserJet CM2320n Multifunction Printer +- HP Color LaserJet CM2320nf Multifunction Printer +- HP LaserJet M1005 Multifunction Printer +- HP LaserJet M1120 Multifunction Printer +- HP LaserJet M1120n Multifunction Printer +- HP LaserJet M1319f Multifunction Printer +- HP LaserJet M1522 Multifunction Printer +- HP LaserJet M1522n Multifunction Printer +- HP LaserJet M1522nf Multifunction Printer +- HP LaserJet M2727 Multifunction Printer +- HP LaserJet M2727nf Multifunction Printer +- HP LaserJet M2727nfs Multifunction Printer + +Generell betroffen sind alle Geräte, bei denen in der models.dat aus +HPLIP als scan-type 3, 4 oder 5 steht. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​IPPF-Thread <http://www.ip-phone-forum.de/showthread.php?t=108479>`__ + zur Entstehung dieses Freetz-Paketes, mit entsprechenden Hinweisen +- `​SANE-Homepage <http://www.sane-project.org/>`__ +- `​Von SANE unterstützte + Geräte <http://www.sane-project.org/sane-mfgs.html>`__ +- `​XSane <http://www.xsane.org/>`__ +- `​HPLIP <http://hplipopensource.com/>`__ +- `​Von HPLIP unterstützte + Geräte <http://hplipopensource.com/hplip-web/supported_devices/index.html>`__ + +- Tags +- `hardware </tags/hardware>`__ +- `packages <../packages.html>`__ +- `scanner </tags/scanner>`__ +- `usb </tags/usb>`__ diff --git a/wiki/packages/screen.rst b/wiki/packages/screen.rst new file mode 100644 index 0000000..8c3ac66 --- /dev/null +++ b/wiki/packages/screen.rst @@ -0,0 +1,85 @@ +packages/screen +=============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Bedienung <screen.html#Bedienung>`__ + + #. `aushängen/detach <screen.html#aushängendetach>`__ + #. `einhängen/attach <screen.html#einhängenattach>`__ + +#. `PuTTY-Tip: Änderung der Fensterbreite beim Screen-Start + verhindern <screen.html#PuTTY-Tip:ÄnderungderFensterbreitebeimScreen-Startverhindern>`__ +#. `Weiterführende Links <screen.html#WeiterführendeLinks>`__ + +screen +====== + +*"Screen is a full-screen window manager that multiplexes a physical +terminal between several processes, typically interactive shells."* +`​http://www.gnu.org/software/screen/ <http://www.gnu.org/software/screen/>`__ + +*screen* erzeugt eine Shell welche auch nach einem Ausloggen bestehen +bleibt und die man aushängen (detach) und sich auch beliebig wieder +einhängen (attach) kann, jedesmal wird dabei der Bildschirm +wiederhergestellt, auch wenn er sich verändert haben sollte. + +.. _Bedienung: + +Bedienung +--------- + +*screen* kann ohne alles aufgerufen werden und bietet dann eine ganz +normale Shell an. *screen* kann aber auch mit einem Befehl als Argument +aufgerufen werden, woraufhin dieser ausgeführt wird bis er sich selbst +beendet oder der Prozess beendet wird. Oder auch: die Daemon-Version für +Arme (den jeder Prozess ist so im Hintergrund ausführbar ohne als Daemon +programmiert worden zu sein). + +aushängen/detach +~~~~~~~~~~~~~~~~ + +Mit *CTRl+A* und dann *D* kann man sich aus einer Shell aushängen die +auch dann im Hintergrund weiterläuft. + +einhängen/attach +~~~~~~~~~~~~~~~~ + +Ausserhalb der ausgehängten Shell kann man mit ``screen -x`` sich in die +Shell einhängen aus der man sich ausgehangen hat (wenn es nur eine gibt) +Mit ``screen -list`` kann man sich eine Liste der Shells anzeigen die im +Hintergrund laufen. Die Namen (die man mit ``screen -t <neuerName>`` +ändern kann) werden dazu benutzt mit ``screen -r <Name>`` ausgewählt zu +werden. + +.. _PuTTY-Tip:ÄnderungderFensterbreitebeimScreen-Startverhindern: + +PuTTY-Tip: Änderung der Fensterbreite beim Screen-Start verhindern +------------------------------------------------------------------ + +Kleiner Tip für *PuTTY*-Benutzer: Beim Starten von *screen* verändert +das Programm gern mal eigenmächtig die Fensterbreite auf 80 Zeichen. Man +kann das entweder durch eine entsprechende Einstellung in *screen* +verhindern (Kommando +`​termcapinfo <http://lists.gnu.org/archive/html/screen-users/2005-10/msg00006.html>`__), +wovon ich aber nicht genug verstehe, oder man kann durch eine +*PuTTY*-Einstellung serverseitige Größenänderungen am Terminal verbieten +- siehe Bild. Trotzdem kann man noch clientseitig die Fenstergröße +verändern. + +.. figure:: /screenshots/35.gif + :alt: PuTTY Terminal Konfiguration + + PuTTY Terminal Konfiguration + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Screen <http://de.wikipedia.org/wiki/Screen>`__ bei Wikipedia + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/ser2net.rst b/wiki/packages/ser2net.rst new file mode 100644 index 0000000..c2b38b7 --- /dev/null +++ b/wiki/packages/ser2net.rst @@ -0,0 +1,15 @@ +packages/ser2net +================ +Homepage: +`​http://ser2net.sourceforge.net/ <http://ser2net.sourceforge.net/>`__ + +Anwendungsbeispiele: +`​http://www.nwlab.net/tutorials/ser2net/konsolenserver-linux.html <http://www.nwlab.net/tutorials/ser2net/konsolenserver-linux.html>`__ +`​http://www.aufpreis.de/aufpreis/php/ser2netttyredirect.php <http://www.aufpreis.de/aufpreis/php/ser2netttyredirect.php>`__ + +Als Windows-Client eignet sich `​HW Virtual Serial +Port <http://www.hw-group.com/products/hw_vsp/index_de.html>`__ Auch ein +direkter Zugriff über Telnet auf den Netzport von ser2net ist möglich. + +Thread im IPPF: +`​http://www.ip-phone-forum.de/showthread.php?p=1329692 <http://www.ip-phone-forum.de/showthread.php?p=1329692>`__ diff --git a/wiki/packages/siproxd.rst b/wiki/packages/siproxd.rst new file mode 100644 index 0000000..9a14fb4 --- /dev/null +++ b/wiki/packages/siproxd.rst @@ -0,0 +1,9 @@ +packages/siproxd +================ +`​Siproxd <http://siproxd.sourceforge.net/>`__ is a proxy/masquerading +daemon for the SIP protocol. + +- Tags +- `daemon </tags/daemon>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/sispmctl.rst b/wiki/packages/sispmctl.rst new file mode 100644 index 0000000..ea6392d --- /dev/null +++ b/wiki/packages/sispmctl.rst @@ -0,0 +1,223 @@ +packages/sispmctl +================= +sispmctl +======== + +`​sispmctl <http://sispmctl.sourceforge.net/>`__ ermöglicht das Schalten +von 230V-Steckdosen über den USB-Anschluss der Fritzbox (nur für +Fritzboxen mit USB-Host-Anschluss). Es unterstützt die USB-Steckdosen +GEMBIRD Silvershield SIS-PM, SIS-PMS und mSIS-PM. Diese USB-Steckdosen +sind deutlich günstiger zu bekommen als Steckdosen, die übers Netzwerk +geschaltet werden. Dank der Fähigkeiten von Freetz können diese +Steckdosen auch per Internet und per Telefon geschaltet werden. + +.. _Einschränkung: + +Einschränkung +------------- + +sispmctl läuft leider nicht auf Boxen, die den USB-Low-Speed-Modus nicht +unterstützen. Zu diesen Boxen gehört z.B. die alt bekannte 7170. Der +Grund dafür liegt darin, dass der USB-Controller solcher Boxen in einem +FPGA realisiert ist und von AVM nur sehr spärlich programmiert wurde. Da +dieser Teil der Firmware zum Closed-Source-Bereich gehört, sehen wir +leider keine große Chancen, dass sich die Situation in der nächsten Zeit +verbessern wird. Wenn sich jemand damit auskennt, ist er dennoch +herzlich eingeladen den USB-Controller einer 7170 dazu zu ertüchtigen, +mit den Steckdosenleisten von GEMBIRD zu reden. + +| Liste der Boxen, mit denen sispmctl **nicht** funktioniert: alle x1xx + Modelle z.B. **3131**, **7141**, **7170** +| Liste der Boxen, mit denen sispmctl funktioniert: **3370**, **7270**, + **W920V** + (`​Speedport2Fritz <http://www.ip-phone-forum.de/showthread.php?t=172137>`__) + +.. _Benutzung: + +Benutzung +--------- + +**sispmctl** kann einerseits per Kommandozeile benutzt werden +(telnet/ssh), andererseits enthält es einen kleinen Webserver, der das +Schalten der Steckdosen ermöglicht. Der eingebaute Webserver enthält +leider keine Möglichkeit zur Authentifizierung, so dass auch bei +Benutzung von https (xrelayd, matrixtunnel) von der Verwendung übers +Internet abzuraten ist. Es ist leider ohne Weiteres nicht möglich den +integrierten Webserver über inetd laufen zu lassen, da sispmctl nur +rudimentär Listener-Mode unterstützt. Selbst im Listener-Mode +unterstützt sispmctl-Binary nicht die echte Daemon-Funktionalität. Aus +diesem Grund muss der integrierte Webserver mit einem & am Ende in den +Hintergrund geschickt werden, um eine Daemon-ähnliche Funktionsweise +abzubilden. + +Die Steckdosenleiste kann, wenn sie direkt an einem Windows-Rechner +angeschlossen ist, über die mitgelieferte Software auch so eingestellt +werden, dass sie unabhängig vom Rechner zu bestimmten Zeitpunkten +Schaltvorgänge ausführt. Diese Fähigkeit unterstützt **sispmctl** seit +Version 3.0 (30.03.2011). Da diese Funktionalität noch ziemlich neu ist, +wird sie oft auch durch andere Pakete in Freetz realisiert: + +- **cron**: zeitgesteuertes Schalten +- **callmonitor**: Schalten per Telefon (ohne Annahme des Gesprächs). +- **dtmfbox**: Schalten per Telefon (mit Annahme des Gesprächs; per + DTMF). +- **dropbear (ssh)**: Schalten übers Internet. +- **apache/lighthttpd/busybox-httpd, haserl/php und + xrelayd/matrixtunnel**: Schalten per Web-Interface. + +.. _FreetzWebinterface: + +Freetz Webinterface +------------------- + +.. figure:: /screenshots/207.jpg + :alt: CGI zur Einrichtung von sispmctl + + CGI zur Einrichtung von sispmctl + +Seit Mitte März 2011 wurden die ersten Versuche unternommen, eine +Konfigurationsseite für FREETZ und einen rc-Startskript zu entwickeln. +Näheres s. unter weiterführenden Links. + +Die Version 1.0 von sispmctl-cgi erlaubt das Wählen zwei zusätzlicher +Skins über menuconfig. Insbesonders "smartphone"-Skin ist minimalistisch +gestaltet und bestens für Kleingeräte zugeschnitten. Auf der +Einstellungsseite kann man "on-the-box" zwischen den Skins umschalten. + +Seit Version 1.1 von sispmctl-cgi besteht die Möglichkeit mehrere +Steckdosenleisten (bis 9) zu konfigurieren und einzelnen Steckdosen +Namen zu vergeben. Diese benutzerdefinierten Bezeichnungen werden in +FREETZ-Einstellungen abgespeichert und vom integrierten Webserver dank +einer Parser-Funktion im rc-Skript dargestellt. Um mehrere +Steckdosenleisten per integriertes Webinterface bedienen zu können, +werden mehrere Instanzen von sispmctl als Listener auf unterschiedlichen +Ports gestartet. Diese Ports können über die Einstellungsseite separat +für jede Steckdosenleiste konfiguriert werden. + +Seit Trunkversion `r6789 </changeset/6789>`__ ist sispmctl 3.0 samt +cgi-Version 1.1 ein Bestandteil von FREETZ und kann über menuconfig +unter "Testing" ausgewählt werden. CGI-Version und rc-Skript kann in +menuconfig separat abgewählt oder ins Image "mitgenommen" werden. Werden +cgi- und rc-Skript abgewählt, so steht dem Benutzer die alt bekannte +binary-Version zur Verfügung, die er allerdings selbst händisch starten +und verwalten muss. Für das in sispmctl integrierte Webinterface stehen +jetzt zusätzliche Skins zur Verfügung, die ebenfalls über menuconfig +ausgewählt werden können. + +.. figure:: /screenshots/210.jpg + :alt: sispmctl in menuconfig + + sispmctl in menuconfig + +.. _Platzbedarf: + +Platzbedarf +----------- + +Cgi und rc-Skript beanspruchen im Flash circa 4kB. Der Unterschied im +Binary mit und ohne Webserver ist 6kB. Die Skins beinhalten jeweils ein +Bildchen und einige html-Dateien, was pro Skin etwa 10…16kB an +Zusatzplatz kostet. + +manpage +------- + +Auf der Kommandozeile gibt ``sispmctl -h`` eine kurze Übersicht über die +Optionen. Die +`​man-page <http://sispmctl.sourceforge.net/#mozTocId756141>`__ findet +sich aber auch auf der Homepage des Projekts. + +.. code:: wiki + + root@fritz:/var/mod/root# sispmctl -h + + SiS PM Control for Linux 3.0 + + (C) 2004-2011 by Mondrian Nuessle, (C) 2005, 2006 by Andreas Neuper. + (C) 2010 by Olivier Matheret for the plannification part + This program is free software. + sispmctl comes with ABSOLUTELY NO WARRANTY; for details + see the file INSTALL. This is free software, and you are welcome + to redistribute it under certain conditions; see the file INSTALL + for details. + + sispmctl -s + sispmctl [-q] [-n] [-d 0...] [-D ...] -b <on|off> + sispmctl [-q] [-n] [-d 0...] [-D ...] -[o|f|t|g|m] 1..4|all + sispmctl [-q] [-n] [-d 0...] [-D ...] -[a|A] 1..4|all [--Aat '...'] [--Aafter ...] [--Ado <on|off>] ... [--Aloop ...] + 'v' - print version & copyright + 'h' - print this usage information + 's' - scan for supported GEMBIRD devices + 'b' - switch buzzer on or off + 'o' - switch outlet(s) on + 'f' - switch outlet(s) off + 't' - toggle outlet(s) on/off + 'g' - get status of outlet(s) + 'm' - get power supply status outlet(s) on/off + 'd' - apply to device 'n' + 'D' - apply to device with given serial number + 'n' - show result numerically + 'q' - quiet mode, no explanations - but errors + 'a' - get plannification for outlet + 'A' - set plannification for outlet + '-A<num>' - select outlet + '--Aat "date"' - sets an event time as a date '%Y-%m-%d %H:%M' + '--Aafter N' - sets an event time as N minutes after the previous one + '--Ado <on|off>' - sets the current event's action + '--Aloop N' - loops to 1st event's action after N minutes + + Webinterface features: + sispmctl [-q] [-i <ip>] [-p <#port>] [-u <path>] -l + 'l' - start port listener + 'i' - bind socket on interface with given IP (dotted decimal, i.e. 192.168.1.1) + 'p' - port number for listener (2638) + 'u' - repository for web pages (default=/usr/share/sispmctl) + +.. _BekannteBugs: + +Bekannte Bugs +------------- + +Das integrierte Web-Interface ist sehr empfindlich gegenüber Störungen +auf dem USB-Bus bzw. gegenüber falscher Byte-Sequenzen auf dem +lauschenden Port. Beides führt zu einem sicheren Absturz vom Webserver. +Zu erkennen sind solche Abstürze dadurch, dass der Web-Browser auf dem +besagten Port eine Zeitüberschreitung meldet bzw. sispmctl-Dienst in +FREETZ als "stopped" vermeldet wird. Ein manueller Wiederstart des +intgrierten Web-Interfaces ist nach einem solchen Absturz möglich. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Homepage von sispmctl <http://sispmctl.sourceforge.net/>`__ + (Englisch) +- `​Version 1.0 von sispmctl-cgi auf + IPPF <http://www.ip-phone-forum.de/showthread.php?t=232493&p=1690967&viewfull=1#post1690967>`__ +- `​Version 1.1 von sispmctl-cgi auf + IPPF <http://www.ip-phone-forum.de/showthread.php?t=232493&p=1695596&viewfull=1#post1695596>`__ +- `Ticket #1264 im trac </ticket/1264>`__ +- `Ticket #1677 im trac </ticket/1677>`__ + +.. _WeitereScreenshots: + +Weitere Screenshots +------------------- + +.. figure:: /screenshots/208.jpg + :alt: Hauptskin von sispmctl + + Hauptskin von sispmctl + +.. figure:: /screenshots/211.jpg + :alt: Smartphone-Skin von sispmctl + + Smartphone-Skin von sispmctl + +| + +- Tags +- `homeautomation </tags/homeautomation>`__ +- `packages <../packages.html>`__ +- `usb </tags/usb>`__ diff --git a/wiki/packages/smartmontools.rst b/wiki/packages/smartmontools.rst new file mode 100644 index 0000000..4741ed9 --- /dev/null +++ b/wiki/packages/smartmontools.rst @@ -0,0 +1,37 @@ +packages/smartmontools +====================== +.. _Smartmontoolssmartctl: + +Smartmontools (smartctl) +======================== + +| Mit den Smartmontools (bzw. mit smartctl) können die + "Gesundheitswerte" von Festplatten (auch + `​SMART <http://smartmontools.sourceforge.net/man/smartctl.8.html>`__ + genannt) ausgelesen, und im Freetz-Webinterface unter Status angezeigt + werden. Dies funktioniert allerdings nur dann, wenn die Festplatte und + dessen USB-Festplattengehäuse das Auslesen dieser Werte auch zuläßt. + +.. figure:: /screenshots/244.png + :alt: Statusseite von SMART im WebIf + + Statusseite von SMART im WebIf + +| **Folgende Werte werden im Webinterface angezeigt:** + +- Modellbezeichnung der Festplatte und dessen Speicherkapazität. +- Der allgemeine, von SMART bewertete Zustand (Health) der Festplatte. +- Aktuelle Temperatur der Festplatte in °C. +- Bisherige Laufzeit der Festplatte. +- Anzahl der Einschaltvorgänge. +- Und anschließend alle verfügbaren Werte, wie man sie auch auf der + Konsole sehen würde. + +| +| **Hinweis:** +| Durch das Öffnen der Statusseite im Webinterface wird eine eventuell + geparkte Festplatte hochgefahren! Daher kann es auch ein wenig dauern, + bis die Statusseite komplett angezeigt wird. + +- Tags +- `SMART </tags/SMART>`__ diff --git a/wiki/packages/smstools3.rst b/wiki/packages/smstools3.rst new file mode 100644 index 0000000..3adaf26 --- /dev/null +++ b/wiki/packages/smstools3.rst @@ -0,0 +1,59 @@ +packages/smstools3 +================== +.. _SMStools3: + +SMStools3 +========= + +.. figure:: /screenshots/251.jpg + :alt: SMStools3 + + SMStools3 + +Package um SMS mit einem UMTS-Stick zu versenden und zu empfangen. + +|/!\\| Falls die FritzBox UMTS-Unterstützung hat, am besten den umtsd +herauspatchen. + +| SMStools3 kann komplett per Webif bedient werden oder alternativ per + Terminal. + +.. _Datenverzeichnis: + +Datenverzeichnis +---------------- + +Das "Datenverzeichnis" legt man am besten auf einen USB-Stick, damit +keine SMS verloren gehen. Dennoch wird ein ``modsave`` beim Beenden des +Packages ausgeführt, falls der Pfad mit ``/tmp/flash`` beginnt. + +.. _SendenundEmpfangenmitdemTerminal: + +Senden und Empfangen mit dem Terminal +------------------------------------- + +Eine SMS kann man diesem Befehl versendet werden, der Parameter +``flash`` ist optional: + +.. code:: wiki + + rc.smstools3 sendsms flash +497771234567 Text der Nachricht + +Empfangene SMS können so aufgelistet angezeigt: + +.. code:: wiki + + rc.smstools3 listsms + +.. _Weiteres: + +Weiteres +======== + +- Komplette Dokumentation: + `​http://smstools3.kekekasvi.com/ <http://smstools3.kekekasvi.com/>`__ +- Falls der Stick nicht richtig erkannt wird, sondern nur als + Datenträger: `wiki:/packages/ppp#Weiteres <ppp.html#Weiteres>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/socat.rst b/wiki/packages/socat.rst new file mode 100644 index 0000000..4836c00 --- /dev/null +++ b/wiki/packages/socat.rst @@ -0,0 +1,19 @@ +packages/socat +============== +socat +===== + +`​socat <http://www.dest-unreach.org/socat/>`__ ist eine Alternative zum +`netcat Paket <netcat.html>`__, welches mit erweiterter Funktionalität +aufwartet. Dies hat natürlich auch seinen Preis: *socat* benötigt +*lib_ssl*, *lib_util* sowie *libz*, welche bei der Installation über +`menuconfig <../help/howtos/common/install/menuconfig.html>`__ +automatisch mit ausgewählt werden. + +-------------- + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/spindown.rst b/wiki/packages/spindown.rst new file mode 100644 index 0000000..f93ea38 --- /dev/null +++ b/wiki/packages/spindown.rst @@ -0,0 +1,28 @@ +packages/spindown +================= +.. _Spindown: + +Spindown +-------- + +| Mit **Spindown** können kompatible *"mechanische"* Festplatten in den + Schlafmodus versetzt werden. + +.. figure:: /screenshots/69.png + :alt: spindown-cgi + + spindown-cgi + +| **Starttyp**: Automatisch (mit dem Starten der Box), oder Manuell + (starten des Dienstes von Hand) +| **Gerätenamen**: Hier wird der Gerätenamen der Festplatte angegeben, + welche schlafen gelegt werden soll (sda, sdb, sdc, usw.) +| **Leerlaufzeit**: Nach der hier eingestellten Zeit des Nichtstuns wird + die Festplatte schlafen gelegt. +| **Modus**: Standby oder Sleep: Einfach probieren, mit welchem Modus + die Festplatte sich in den Ruhezustand versetzen lässt, und auch + wieder geweckt werden kann. + +- Tags +- `cgi </tags/cgi>`__ +- `hardware </tags/hardware>`__ diff --git a/wiki/packages/strace.rst b/wiki/packages/strace.rst new file mode 100644 index 0000000..2e50712 --- /dev/null +++ b/wiki/packages/strace.rst @@ -0,0 +1,96 @@ +packages/strace +=============== +strace +====== + +`​strace <http://sourceforge.net/projects/strace/>`__ verfolgt +System-Calls und Signale eines Prozesses. Dabei schaltet es sich +zwischen einen Benutzerprozeß und den Kernel und protokolliert alle +Aktivitäten an dieser Schnittstelle. Wenn der verfolgte Prozess einen +Systemaufruf macht, gibt *strace* den Namen, die Argumente des Aufrufs +und den Rückgabewert dieses Systemaufrufs aus. Wenn der verfolgte +Prozess ein Signal erhält, gibt *strace* den Namen des Signals aus. +Falls ein Systemaufruf mit einem Fehler zurückkehrt, wird, wenn +vorhanden, die dem Fehlerstatus zugeordnete Fehlermeldung angezeigt. + +Kurzum: *strace* kommt meist dann zum Einsatz, wenn "etwas nicht +funktioniert, und keiner weiß warum". Sprich: Ein Programm stürzt ab, +ein Prozess hängt - und man möchte herausfinden, bei welcher Aktion dies +passiert. + +Das "Geschwisterchen" `ltrace <ltrace.html>`__ kann dabei auch hilfreich +zur Seite stehen: Anstelle der System-Calls protokolliert *ltrace* +Bibliotheks-Aufrufe (aka "Library Calls"). + +.. _Tip:Vermeidenvonunfinishedundresumedinstrace-Logs: + +Tip: Vermeiden von "unfinished" und "resumed" in strace-Logs +------------------------------------------------------------ + +Wenn man strace mit "-f" aufruft, um Unterprozesse bzw. Threads +mitzuverfolgen, sieht man oft unterbrochene Systemaufrufe im Log, weil +strace im Fall einer Unterbrechung den Start- und Rückkehrzeitpunkt der +Aufrufe separat notiert. Darunter leidet aber die Lesbarkeit, weil man +weiter unten oft nicht mehr weiß, zum welchem "unfinished" welches +"resume" gehört (hier im Beispiel ist es noch einfach): + +.. code:: wiki + + 719 14:55:13.562840 clock_gettime(CLOCK_MONOTONIC, <unfinished ...> + 1010 14:55:13.563457 getppid( <unfinished ...> + 719 14:55:13.563818 <... clock_gettime resumed> {337216, 716098754}) = 0 + 1010 14:55:13.564329 <... getppid resumed> ) = 719 + 719 14:55:13.564701 clock_gettime(CLOCK_MONOTONIC, <unfinished ...> + 1010 14:55:13.565066 poll([{fd=21, events=POLLIN}], 1, 2000 <unfinished ...> + 719 14:55:13.565543 <... clock_gettime resumed> {337216, 717736704}) = 0 + +Mittels "-ff" schreibt man eine separate Log-Datei pro PID, aber dann +kann mit die Zeitlinie nicht mehr anschaulich verfolgen. Möchte man +beides zusammen haben, hilft folgendes Skript (der *sed*-Befehl ist +deshalb so kompliziert, weil bei Aufrufen des Skripts mit mehreren "-p" +die in diesem Modus als erste Spalte auftauchenden PIDs in den +Einzeldateien zuerst entfernt werden müssen, weil sonst keine Sortierung +nach Zeitstempel möglich wäre): + +:: + + #!/bin/sh + + # Logfile as first parameter is required + logfile="$1" + shift + + # Ctrl-C should only kill strace, not the rest of the script + trap '' INT + + # Create one logfile per pid, then consolidate them into one, + # sorted by timestamp and containing the pid as 2nd column + strace -tt -ff -o "$logfile" "$@" + { + for file in "$logfile".*; do + pid=$(printf "%-5u" "${file##$logfile.}") + cat "$file" | sed -r "s/^([0-9]+ +)?([^ ]+)(.*)/\2 $pid\3/" + done + } | sort > "$logfile" + + # Clean up temporary logfiles + rm "$logfile".* + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​strace Projektseite <http://sourceforge.net/projects/strace/>`__ + (Sourceforge) +- `​Artikel: Mit ''strace'' Systemaufrufe + verfolgen <http://www.pronix.de/pronix-585.html>`__ +- `​strace Man page <http://linux.die.net/man/1/strace>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/streamripper.rst b/wiki/packages/streamripper.rst new file mode 100644 index 0000000..98eb10c --- /dev/null +++ b/wiki/packages/streamripper.rst @@ -0,0 +1,54 @@ +packages/streamripper +===================== +.. _Streamripper: + +Streamripper +============ + +`​Streamripper <http://streamripper.sourceforge.net/>`__ ist eine freie, +plattformunabhängige Software zum +"`​Rippen <http://de.wikipedia.org/wiki/Rippen>`__" (Abspeichern) von +"Streams" (z.B. +`​SHOUTcast <http://de.wikipedia.org/wiki/SHOUTcast>`__-, +`​Icecast <http://de.wikipedia.org/wiki/Icecast>`__- und andere +`​Internetradio <http://de.wikipedia.org/wiki/Internetradio>`__\ sendungen. + +*Streamripper* selbst verfügt über keine grafische Oberfläche, sondern +wird von der Kommandozeile aus bedient. Das minimiert den +Ressourcenverbrauch - und "schön bunt zugucken" muss man bei der +Aufnahme ja nicht. Wer dennoch ein wenig "Klicki-Bunti" bevorzugt, +findet aber auch das eine oder andere grafische +`​FrontEnd <http://de.wikipedia.org/wiki/Frontend_und_Backend>`__ (z.B. +auf der `​Homepage <http://streamripper.sourceforge.net/>`__ des +Projekts) - wenn auch nicht gerade für die FritzBox. + +*Streamripper* nimmt die Formate +`​MP3 <http://de.wikipedia.org/wiki/MPEG-1_Audio_Layer_3>`__ sowie `​OGG +Vorbis <http://de.wikipedia.org/wiki/Vorbis>`__ auf, wobei auch +Metadaten (ID3 Tags etc.) gespeichert werden. Es kann den Stream nicht +selbst wiedergeben, ihn aber durchaus direkt zu einem Streaming-fähigen +"Player" weiterleiten. + +.. _VerwendeteBibliotheken: + +Verwendete Bibliotheken +----------------------- + +- libmad +- libglib2 + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Streamripper Homepage <http://streamripper.sourceforge.net/>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Streamripper>`__ + +-------------- + +- Tags +- `audio </tags/audio>`__ +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/stunnel.rst b/wiki/packages/stunnel.rst new file mode 100644 index 0000000..418379b --- /dev/null +++ b/wiki/packages/stunnel.rst @@ -0,0 +1,80 @@ +packages/stunnel +================ +.. _Stunnel: + +Stunnel +======= + +.. figure:: /screenshots/202.png + :alt: Stunnel Webinterface + + Stunnel Webinterface + +*"Stunnel is a program that allows you to encrypt arbitrary TCP +connections inside SSL (Secure Sockets Layer) available on both Unix and +Windows. Stunnel can allow you to secure non-SSL aware daemons and +protocols (like POP, IMAP, LDAP, etc) by having Stunnel provide the +encryption, requiring no changes to the daemon's code. "* +`​http://www.stunnel.org/ <http://www.stunnel.org/>`__ + +**Stunnel** könnte man auf Deutsch mit "Sicherer Tunnel" wiedergeben. +Hinter dem Begriff verbirgt sich die Möglichkeit, beliebige TCP +Verbindungen per SSL zu verschlüsseln - auch bzw. gerade wenn die +Anwendung selbst dies nicht unterstützt, und somit dem +"Man-in-the-Middle" das Schnüffeln zu verderben. Zahlreiche gute +Anwendungsbeispiele finden sich auf der `​Stunnel +Homepage <http://www.stunnel.org/examples/>`__. + +.. _Konfiguration: + +Konfiguration +------------- + +#. Erzeugen der Keys auf dem PC (unter Linux): + + .. code:: wiki + + openssl genrsa 1024 > host.key + openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert + +#. Das Zertifikat und den Schlüssel im Webinterface unter Einstellungen + → Stunnel: "Certificate Chain" (host.cert) und "Private Key" + (host.key) einfügen. + +3. Die gewünschten Services hinzufügen. Zum Beispiel: + + .. code:: wiki + + [freetz https Web-Interface] + client = no + cert = /tmp/flash/stunnel/certs.pem + key = /tmp/flash/stunnel/key.pem + accept = 4433 + connect = 81 + + Die Angabe des Pfads zum Zertifikat und zum Schlüssel sind optional. + Ohne ausdrückliche Angabe wird das Zertifikat + */tmp/flash/stunnel/certs.pem* und der Schlüssel + */tmp/flash/stunnel/key.pem* verwendet, welche vom Webinterface aus + verwaltet werden (Punkt 2). + +4. Zugriff (intern) über + `​https://fritz.box:4433 <https://fritz.box:4433>`__. Für den + externen Zugriff muss noch eine Port-Freigabe eingetragen werden. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia <http://en.wikipedia.org/wiki/Stunnel>`__ (EN) Article +- `​Stunnel.ORG <http://www.stunnel.org/>`__ — Stunnel Homepage +- `matrixtunnel <matrixtunnel.html>`__ — kleiner Stunnel Ersatz +- `xrelayd <xrelayd.html>`__ — Nachfolger von Matrixtunnel +- `​Artikel im + Forum <http://www.ip-phone-forum.de/showthread.php?t=123174>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/subversion.rst b/wiki/packages/subversion.rst new file mode 100644 index 0000000..201187b --- /dev/null +++ b/wiki/packages/subversion.rst @@ -0,0 +1,113 @@ +packages/subversion +=================== +.. _Subversion: + +Subversion +========== + +`​Subversion <http://subversion.tigris.org/>`__ (SVN) ist eine Freie +Software zur Versionsverwaltung von Dateien und Verzeichnissen. + +Die Versionierung erfolgt in einem zentralen Projektarchiv (engl. +repository) in Form einer einfachen Revisionszählung. Wenn Änderungen an +Inhalten verteilt auf den Computern der Bearbeiter ausgeführt werden, +werden zwischen dem Projektarchiv und einem Arbeitsplatz jeweils nur die +Unterschiede zu bereits vorhandenen Ständen übertragen. + +.. _EnthalteneProgrammteile: + +Enthaltene Programmteile +------------------------ + ++-----------------------------------+-----------------------------------+ +| svn | Das Kommandozeilenprogramm | ++-----------------------------------+-----------------------------------+ +| svnadmin | Ein Werkzeug zum Erstellen, | +| | Verändern oder Reparieren eines | +| | Repositorys | ++-----------------------------------+-----------------------------------+ +| svndumpfilter | Ein Programm zum Filtern von | +| | Subversion-Repository-Dump-Stream | +| | s | ++-----------------------------------+-----------------------------------+ +| svnlook | Ein Werkzeug zur direkten | +| | Untersuchung eines | +| | Subversion-Repositorys | ++-----------------------------------+-----------------------------------+ +| svnserve | Ein spezielles Server-Programm, | +| | dass als Hintergrundprozess | +| | laufen oder von SSH aufgerufen | +| | werden kann; eine weitere | +| | Möglichkeit, das Repository über | +| | ein Netzwerk verfügbar zu machen | ++-----------------------------------+-----------------------------------+ +| svnsync | Ein Programm zum inkrementellen | +| | Spiegeln eines Repositorys über | +| | ein Netzwerk | ++-----------------------------------+-----------------------------------+ +| svnversion | Ein Programm, das den Zustand | +| | einer Arbeitskopie (durch | +| | Revisionen der vorliegenden | +| | Objekte) berichtet | ++-----------------------------------+-----------------------------------+ + +.. _WebIF: + +WebIF +----- + +.. figure:: /screenshots/117.png + :alt: Subversion + + Subversion + +| + +.. _Konfiguration: + +Konfiguration +------------- + +Ein Repository wird mit folgendem Befehl angelegt + +.. code:: wiki + + svnadmin create --fs-type fsfs /PFAD_ZU_DEM_EXT2_TRAEGER/REPOSITORY_NAME + +REPOSITORY_NAME ist ein Platzhalter und darf beliebig gewählt werden. +Der Datenträger muss mit ext2 bzw. ext3 formatiert werden, Repositories +auf FAT- bzw. NTFS-Trägern werden von Freetz (derzeit noch) nicht +unterstützt. + +Nachdem das Repository angelegt ist, sind in dem Verzeichnis +REPOSITORY_NAME/\ **conf** folgende Dateien zu finden bzw. neu +anzulegen. Welche Einträge in diesen gemacht werden können und was sie +bedeuten, kann +`​hier <http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html>`__ +nachgelesen werden. Die allereinfachte Konfiguration könnte z.B. so +aussehen: + +**authz** einfach leer + +**passwd** + +.. code:: wiki + + [users] + DeinName = DeinPasswort + +**svnserve.conf** + +.. code:: wiki + + [general] + anon-access = none + auth-access = write + password-db = passwd + +- Tags +- `inetd </tags/inetd>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `programming </tags/programming>`__ +- `server </tags/server>`__ diff --git a/wiki/packages/sundtek.rst b/wiki/packages/sundtek.rst new file mode 100644 index 0000000..4f6e185 --- /dev/null +++ b/wiki/packages/sundtek.rst @@ -0,0 +1,69 @@ +packages/sundtek +================ +.. _SundtekDVBTreiber: + +Sundtek DVB Treiber +=================== + +.. figure:: /screenshots/256.jpg + :alt: Sundtek DVB driver + + Sundtek DVB driver + +Dieses Package stellt den Treiber für USB-Sticks von Sundtek bereit, mit +denen DVB (c/s/t) empfangen werden kann. + +| |/!\\| Die Fritzbox sollte mindestens USB 2.0 haben, 11 MBit/s reichen + nicht aus. +| |/!\\| Mit Kernel 2.6.19.2 (Fritzbox 7270v1 und 7570) gibt es momentan + ein Memoryleak, siehe `#472 </ticket/472>`__. + +.. _Parameterfürmediaclient: + +Parameter für 'mediaclient' +--------------------------- + +In dieses Textfeld können Parameter zum initialisieren für den +``mediaclient`` eingetragen werden. Wenn dies genutzt wird, wird die +Hardwareerkennung vom ``mediasrv`` abgewartet was etwa 10 Sekunden +benötigt + +.. _Treiberverwenden: + +Treiber verwenden +----------------- + +Um den Treiber benutzen zu können muss vorher dieser Befehl ausgeführt +werden: + +.. code:: wiki + + export LD_PRELOAD=/usr/lib/libmediaclient.so + +.. _USB-Stickinitialisieren: + +USB-Stick initialisieren +------------------------ + +Der USB-Stick muss für die Fritzbox in den Übertrangungsmodus "bulk" +versetzt werden: + +.. code:: wiki + + mediaclient --dtvtransfermode=bulk + +Dies ist nur einmalig nötig und der Stick muss danach neu angesteckt +werden. + +.. _Weiteres: + +Weiteres +-------- + +Nutzbar z.B. zur Aufzeichnung der Auslastung des Segmentes von +Kabelinternet mit `RRDstats <rrdstats.html#segment>`__. Es soll damit +auch Streaming zu einem Windows PC mit einer aktuellen Betaversion des +DVB-Viewer via SAT>IP möglich sein. + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/syslogd.en.rst b/wiki/packages/syslogd.en.rst new file mode 100644 index 0000000..b2c31a8 --- /dev/null +++ b/wiki/packages/syslogd.en.rst @@ -0,0 +1,51 @@ +packages/syslogd.en +=================== +.. _Syslog: + +Syslog +------ + +| The syslog package enables to log messages local to memory, to a local + disk (e.g. USB), or remote to another server. +| For the local memory a FIFO buffer is used, with a default size of + 200KB. + +.. _SetupinFreetzweb-interface: + +Setup in Freetz web-interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: /screenshots/239.jpg + :alt: Howto Syslog Setup + + Howto Syslog Setup + +.. _Usageofsyslog: + +Usage of syslog +~~~~~~~~~~~~~~~ + +The syslog messages can be displayed via the web-interface via: + +.. code:: wiki + + Status > Syslog + +You can filter on some items depending on your configuration and used +packages (e.g. hostapd, login, INADYN). + +Another option is to view the messages via a telnet or ssh connection +using the following commands: + +.. code:: wiki + + logread + +You can monitor the syslog messages where all new messages are displayed +using the command: + +.. code:: wiki + + logread -f + +(With CTRL-C you can stop the monitoring.) diff --git a/wiki/packages/syslogd.rst b/wiki/packages/syslogd.rst new file mode 100644 index 0000000..e4aef23 --- /dev/null +++ b/wiki/packages/syslogd.rst @@ -0,0 +1,78 @@ +packages/syslogd +================ +.. _Syslogd: + +Syslogd +======= + +.. figure:: /screenshots/199.png + :alt: Bild der Oberfläche von Syslogd + + Bild der Oberfläche von Syslogd + +Das Syslogd-CGI Package stellt die Konfiguration des syslog über das +Webinterface bereit. Es kann lokal in eine Datei oder einen Ringpuffer +oder über Netzwerk geloggt werden. + +Der Inhalt des Logs lässt sich über das Webinterface (Status→Syslog) +anzeigen. + +Es kann entweder über **Netzwerk** oder **lokal** geloggt werden. + +- Lokal gibt es die Möglichkeit in ein **Ringpuffer** zu schreiben oder + in eine **Datei**. Beim Ringpuffer wird, sobald der Puffer voll ist, + der älteste Eintrag gelöscht. Wenn lokal in eine Datei geloggt wird, + dann sollte sich diese auf einem USB-Medium befinden, sonst kann es + passieren, dass das RAM der Box voll läuft und die Box neu startet. +- Um mit Windows Meldungen von Syslog über das Netzwerk zu empfangen + kann zB die Freeware + `​Tftpd32 <http://tftpd32.jounin.net/tftpd32.html>`__ genutzt werden. + +| Wer zusätzlich die Kernelmessages im Syslog haben will kann die Option + **Kernel-Log-Dämon aktivieren** auswählen (funktioniert auf den Boxen + 3270, 7240, 7270, 7320 und 7390 womöglich aufgrund von AVM-Änderungen + nicht). + +.. _Optionen: + +Optionen +-------- + +.. code:: wiki + + Usage: syslogd [OPTIONS] + + System logging utility. + This version of syslogd ignores /etc/syslog.conf + + Options: + -n Run in foreground + -O FILE Log to given file (default:/var/log/messages) + -l N Set local log level + -S Smaller logging output + -s SIZE Max size (KB) before rotate (default:200KB, 0=off) + -b N N rotated logs to keep (default:1, max=99, 0=purge) + -R HOST[:PORT] Log to IP or hostname on PORT (default PORT=514/UDP) + -L Log locally and via network (default is network only if -R) + -C[size(KiB)] Log to shared mem buffer (read it using logread) + + Usage: klogd [-c N] [-n] + + Kernel logger + + Options: + -c N Only messages with level < N are printed to console + -n Run in foreground + +.. _Sieheauch: + +Siehe auch +---------- + +- `costumscript_dublesyslog <../costumscript_dublesyslog.html>`__ + +- Tags +- `cgi </tags/cgi>`__ +- `debug </tags/debug>`__ +- `packages <../packages.html>`__ +- `system </tags/system>`__ diff --git a/wiki/packages/tcp_wrappers.rst b/wiki/packages/tcp_wrappers.rst new file mode 100644 index 0000000..b96c395 --- /dev/null +++ b/wiki/packages/tcp_wrappers.rst @@ -0,0 +1,43 @@ +packages/tcp_wrappers +===================== +.. _TCPWrapper: + +TCP Wrapper +=========== + +TCP-Wrapper stellen eine Sicherheitsmaßnahme für +Service-\ `​Daemons <http://de.wikipedia.org/wiki/Daemon>`__ wie +``ftpd`` dar, indem sie zwischen dem Daemon und den eingehenden +Serviceanforderungen stehen. TCP-Wrapper protokollieren erfolgreiche und +nicht erfolgreiche Verbindungsversuche. Darüber hinaus stellen +TCP-Wrapper eine +`​Zugriffskontrolle <http://de.wikipedia.org/wiki/Access_Control_List>`__ +bereit, indem sie eine Verbindung abhängig vom Ursprung der Anforderung +zulassen oder verweigern. Sie verwenden TCP-Wrapper zum Schutz von +Daemons wie z. B. SSH, Telnet und FTP. + +In Freetz wir dieses Paket zur Zeit vom NFS-Server benötigt. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Freshmeat + Projektseite <http://freshmeat.net/projects/tcp_wrappers/>`__ +- `​Wikipedia Artikel <http://en.wikipedia.org/wiki/TCP_Wrapper>`__ + (Englisch) +- `​Redhat Security + Artikel <http://www.faqs.org/docs/securing/chap5sec37.html>`__ zu TCP + Wrappers (Englisch) +- `​Linux-Tips: ssh Server vor Angriffen + sichern <http://www.linux-tips-and-tricks.de/index.php/ssh/ssh-Server-vor-Angriffen-sichern.html>`__ +- `​Sun Dokumentation: Überwachen und Modifizieren der + Transportschichtservices <http://docs.sun.com/app/docs/doc/820-2980/ipconfig-111?l=de&a=view>`__ + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `security </tags/security>`__ diff --git a/wiki/packages/tcpdump.rst b/wiki/packages/tcpdump.rst new file mode 100644 index 0000000..7d24e62 --- /dev/null +++ b/wiki/packages/tcpdump.rst @@ -0,0 +1,50 @@ +packages/tcpdump +================ +tcpdump +======= + +`​tcpdump <http://www.tcpdump.org/>`__ ist ein +Netzwerk-\ `​Sniffer <http://de.wikipedia.org/wiki/Sniffer>`__ (zu +Deutsch: Netzwerk-Schnüffler) - oder, etwas eleganter ausgedrückt: ein +Netzwerk- Diagnoseprogramm. Es ist standardmäßig bei allen +Linux-Distributionen dabei und existiert auch für andere UNIX-Derivate. +Es ist zwar relativ schwer zu bedienen, und die Ausgabe auch recht +schwer zu lesen - weswegen *tcpdump* gegenüber Sniffern wie +`​Wireshark <http://de.wikipedia.org/wiki/Wireshark>`__, die über eine +grafische Oberfläche verfügen, gewisse Nachteile hat. Der Vorteil +insbesondere für die FritzBox liegt aber genau in diesem Nachteil, da +auf der Box kein X installiert ist (oder war etwa jemand so wahnsinnig, +und hat das gemacht?). |:o| + +.. _Warning: + +Warning +------- + +A lot of traffic will use a lot of CPU, even if that traffic isn't +monitored. However, filtering by network adapter helps. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​tcpdump Homepage <http://www.tcpdump.org/>`__ +- `​tcpdump Man page <http://www.tcpdump.org/tcpdump_man.html>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Tcpdump>`__ +- `​Linux-Wiki Artikel <http://www.linuxwiki.de/TcpDump>`__ +- `​kurzer tcpdump + Workshop <http://linuxseiten.kg-it.de/index.php?index=security_tcpdump>`__ +- `​noch ein kleiner + Workshop <http://www.tippscout.de/tcpdump-unter-linux-netzwerk-verkehr-aufzeichnen-mit-tcpdump_tipp_2180.html>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ + +.. |:o| image:: ../../chrome/wikiextras-icons-16/smiley-surprise.png + diff --git a/wiki/packages/tinc.rst b/wiki/packages/tinc.rst new file mode 100644 index 0000000..fe7ddc8 --- /dev/null +++ b/wiki/packages/tinc.rst @@ -0,0 +1,62 @@ +packages/tinc +============= +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Features <tinc.html#Features>`__ +#. `Verwendete Bibliotheken <tinc.html#VerwendeteBibliotheken>`__ +#. `Weiterführende Links <tinc.html#WeiterführendeLinks>`__ + +.. _Tinc: + +Tinc +==== + +`​tinc <http://www.tinc-vpn.org/>`__ ist ein Virtual Privat Network +(`​VPN <http://de.wikipedia.org/wiki/Virtual_Private_Network>`__) Dienst +der Tunnels und Verschlüsselung verwendet, um sichere Verbindungen +zwischen zwei Hosts herzustellen. + +.. _Features: + +Features +-------- + +- Verschlüsselung, Authentifizierung und Daten-Kompression +- Automatisches mesh-routing +- Einfaches Erweitern des VPNs +- Möglichkeit Ethernet Segmente zu brücken (Bridging) +- Unterstützung für viele Betriebssysteme (Linux, FreeBSD, OpenBSD, + NetBSD, MacOS/X, Solaris, Windows 2000 und XP) +- Unterstützung von IPv6 + +.. _VerwendeteBibliotheken: + +Verwendete Bibliotheken +----------------------- + +- liblzo2 +- libssl +- libz + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​tinc Homepage <http://www.tinc-vpn.org/>`__ +- `​Linux.COM Artikel: Creating a VPN with + tinc <http://www.linux.com/feature/131343>`__ +- `​Linux-Magazin.DE Artikel: VPN-Daemon im Userspace: + Tinc <http://www.linux-magazin.de/heft_abo/ausgaben/2003/10/einfache_verbindung>`__ +- `​Heise.DE Netze: Dezentrales VPN mit + Tinc <http://www.heise.de/netze/artikel/Dezentrales-VPN-mit-Tinc-785436.html>`__ + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ +- `vpn </tags/vpn>`__ diff --git a/wiki/packages/tinyproxy.rst b/wiki/packages/tinyproxy.rst new file mode 100644 index 0000000..b41a9a7 --- /dev/null +++ b/wiki/packages/tinyproxy.rst @@ -0,0 +1,69 @@ +packages/tinyproxy +================== +.. _Tinyproxy: + +Tinyproxy +========= + +Das `​tinyproxy <http://tinyproxy.sourceforge.net/>`__ Paket stellt +einen kleinen HTTP Proxy mit Filterfunktionen bereit. + +.. _Proxyauto-configpac: + +Proxy auto-config (pac) +----------------------- + +The complete URL for the default settings is: +`​http://fritz.box:88/cgi-bin/proxy.cgi <http://fritz.box:88/cgi-bin/proxy.cgi>`__ + +See also +`​wikipedia <http://en.wikipedia.org/wiki/Proxy_auto-config>`__. + +.. _URLblocking: + +URL blocking +------------ + +.. figure:: /screenshots/217.png + :alt: tinyproxy filtered + + tinyproxy filtered + +- Clear option *ConnectPort* +- Check option *FilterURLs* +- Add URL's to text box *content of filter file* + +.. code:: wiki + + doubleclick\.net + googleadservices\.com + google-analytics\.com + googlesyndication\.com + facebook\.com\/plugins + +Setup Firefox: + +- *Edit > Preferences > Advanced > Settings* +- Check *Manual proxy configuration* +- *HTTP Proxy:* fritz.box +- *Port:* 3128 (assuming tinyproxy default) +- Check *Use this proxy for all protocols* +- *No proxy for:* localhost, 127.0.0.1, fritz.box, 192.168.178.0/24 + +.. _Memoryusage: + +Memory usage +------------ + +After some use: + +- VmSize: 1068 kB +- VmRSS: 508 kB + +Privoxy will use twice as much. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `proxy </tags/proxy>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/tor.rst b/wiki/packages/tor.rst new file mode 100644 index 0000000..3a3d16f --- /dev/null +++ b/wiki/packages/tor.rst @@ -0,0 +1,242 @@ +packages/tor +============ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Tor als Proxy benutzen <tor.html#ToralsProxybenutzen>`__ +#. `Tor und Privoxy <tor.html#TorundPrivoxy>`__ +#. `Installation <tor.html#Installation>`__ +#. `Geschwindigkeit optimieren <tor.html#Geschwindigkeitoptimieren>`__ +#. `Tor als Server einrichten <tor.html#ToralsServereinrichten>`__ +#. `Remote Control <tor.html#RemoteControl>`__ +#. `obfsproxy <tor.html#obfsproxy>`__ +#. `Memory Usage <tor.html#MemoryUsage>`__ +#. `Abhängigkeiten <tor.html#Abhängigkeiten>`__ +#. `Diskussion <tor.html#Diskussion>`__ + +.. _TorProxy: + +Tor Proxy +========= + +Tor ist ein **anonymes Kommunikationssystem** für das Internet, mit dem +man **verschlüsselt** und **sicher surfen** kann. Die Installation eines +Tor Proxy auf der Fritzbox ermöglicht den Schutz der eigenen +Privatsphäre. Auf der Tor Webseite bekommt man einen guten `​Überblick +über die Funktionsweise von +Tor <http://tor.eff.org/overview.html.de>`__. + +Das Tor Proxy Paket enthält neben einem vorkompilierten Tor Proxy +außerdem eine einfache Clientkonfiguration sowie ein kleines Webfrontend +zur Konfiguration der wichtigsten Parameter und zur Einrichtung eines +Tor-Servers. + +.. figure:: /screenshots/59.png + :alt: Tor: Einstellungen + + Tor: Einstellungen + +.. _ToralsProxybenutzen: + +Tor als Proxy benutzen +---------------------- + +Tor ist ein `​SOCKS Proxy <http://de.wikipedia.org/wiki/SOCKS>`__. Jede +Anwendung, die das SOCKS Protokoll beherrscht, kann so konfiguriert +werden, dass die Internetverbindungen über Tor aufgebaut werden. Die Tor +Dokumentation gibt zahlreiche Beispiele, wie man `​Anwendungen +torifiziert <https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO>`__. + +Für Anwender von Firefox stehen nützlichen Add-Ons wie +`​Torbutton <https://addons.mozilla.org/firefox/2275/>`__ und +`​FoxyProxy <http://foxyproxy.mozdev.org>`__ zur Auswahl, mit denen man +die Verbindung über den Tor Proxy mit wenigen Klicks konfigurieren kann. + +Zum Surfen mit einem Web Browser kann man auch Tor zusammen mit +`Privoxy <privoxy.html>`__ zu betreiben, damit eine vollständige +Anonymität beim Surfen gewährleistet ist. Privoxy ist ebenfalls als +Freetz Paket verfügbar. Alternativ zu Privoxy kann man auch +`​Switchproxy <http://tor.eff.org/docs/tor-switchproxy.html>`__ für +Windows und Mac OS verwenden. + +Ob die Verbindung tatsächlich über das Tor Netzwerk läuft, kann man am +einfachsten mit dem `​Tor Detector <http://torcheck.xenobite.eu/>`__ +überprüfen. + +.. _TorundPrivoxy: + +Tor und Privoxy +--------------- + +Für die Verwendung mit Privoxy muss sicher gestellt sein, dass der Tor +Proxy entweder auf der lokalen Adresse (Einstellung *127.0.0.1*) oder +auf allen Adressen (Einstellung *0.0.0.0*) gebunden ist. Außerdem muss +der Zugriff von der lokalen Adresse *127.0.0.1* auf jeden Fall erlaubt +sein. + +.. _Installation: + +Installation +------------ + +Einfach beim Erstellen in +`menuconfig <../help/howtos/common/install/menuconfig.html>`__ Tor mit +auswählen. + +.. _Geschwindigkeitoptimieren: + +Geschwindigkeit optimieren +-------------------------- + +Ab der Version 0.5 ist die "Optimierung der Tor-Geschwindigkeit" +möglich, so wie es ursprünglich +`​hier <http://web.archive.org/web/20070427080156/http://www.barbarakaemper.de/krypto/anonym-surfen_onion_router_tor3.htm>`__ +beschrieben wurde. Wer sich die Server lieber selbst aussuchen möchte, +findet außerdem `​hier <http://torstatus.kgprog.com/>`__ oder +`​hier <https://torstat.xenobite.eu/>`__ Listen mit aktiven Tor Servern +und deren Standorten. + +.. figure:: /screenshots/60.png + :alt: Tor: Server + + Tor: Server + +Die Entry- und Exit-Nodes müssen hierbei mit deren TOR-Alias angegeben +werden also z.B. "blutmagie" und "chaoscomputerclub23". Andere Versuche +wie IP oder DNS-Namen fruchten hier nicht. + +.. _ToralsServereinrichten: + +Tor als Server einrichten +------------------------- + +Wenn Tor als Server betrieben wird, beteiligt sich die FritzBox am +Routing des Datenverkehrs im Tor-Netzwerk und trägt dazu bei, dass das +Netzwerk leistungsfähiger wird. Über die Grundlagen kann und sollte man +sich auf der +`​Dokumentationsseite <http://www.torproject.org/docs/tor-doc-relay.html.de>`__ +des Tor-Projekts informieren. Da über das Web-Interface derzeit die +Parameter für die Begrenzung der täglichen, wöchentlichen oder +monatlichen Gesamtdatenmenge (noch) nicht konfigurierbar sind, sollten +nur Flatrate-Nutzer einen Tor-Server einrichten. + +Damit der Tor-Server stabil läuft, muss für die FritzBox ein +Swap-Speicher eingerichtet werden (siehe `Howto Swap-File +einrichten <../help/howtos/common/create_swap.html>`__). Die wichtigsten +Optionen für den Server-Betrieb sind über das Web-Interface +konfigurierbar: + +.. figure:: /screenshots/3.png + :alt: + +Die Optionen entsprechen denjenigen in der Konfigurationsdatei torrc. +Der Nickname des eigenen Servers ist frei wählbar. Wenn keine IP oder +FQDN angegeben wird, versucht Tor, die eigene IP-Adresse selbst +herauszufinden. Zuverlässiger ist aber die Angabe eines FQDN der +FritzBox, der z.B. über DynDNS eingerichtet und per +`inadyn <inadyn-mt.html>`__ automatisch aktualisiert werden kann. + +Wichtig für den Betrieb des Tor-Servers sind die Optionen BandwidthRate +und BandwidthBurst, über man die Bandbreite einstellt, die dem +Tor-Netzwerk zur Verfügung gestellt wird. Da Tor im Server-Betrieb +relativ ressourcenhungrig ist, sollte hier nicht übertrieben werden, +selbst wenn mehr Bandbreite vorhanden ist (entscheidend ist der Upload). +Gleiches gilt für die Option MaxOnionsPending. Wird hier ein zu hoher +Wert eingestellt, kann es zu Reboots der FritzBox kommen. Ein Wert unter +10 hat sich auf einer FritzBox 7170 bewährt. + +Der ORPort ist der Port, über den der Tor-Server von außen erreichbar +sein muss. Daher muss für den ORPort eine lokale Portfreigabe auf +0.0.0.0 eingerichtet werden. Das geht am einfachsten über das +Freetz-Paket `avm-firewall <avm-firewall.html>`__. Ein DirPort muss +nicht angegeben werden (dann wird kein DirectoryService bereitgestellt, +was für den Betrieb des Tor-Servers auch nicht erforderlich ist und +Ressourcen spart). + +**Achtung:** In der Standard-Konfiguration läuft Tor nur als Entry- oder +MiddleNode, aber nicht als ExitNode. Dies bedeutet, dass kein anderer +Tor-Nutzer mit der externen IP-Adresse der FritzBox im Internet surft +und daher die eigene IP-Adresse auch nicht in irgendwelchen Server-Logs +auftaucht. Wer das ändern möchte und genau weiß, was er macht, kann die +ExitPolicy ändern. + +Der Secret ID-Key des Tor-Servers muss normalerweise nicht bearbeitet +werden. Der Secret ID-Key wird beim ersten Start des Tor-Servers +automatisch generiert und beim Beenden im Flash-Speicher der Box +abgespeichert. Über die Optionen "DataDirectory" / persistent kann das +Verzeichnis angegeben werden, in dem Tor die zum Server-Betrieb +erforderlichen Daten speichert. Auch die Daten, die für den Client-Modus +benötigt werden (insbes. das aktuelle Verzeichnis der erreichbaren +Tor-Knoten), werden hier abgespeichert. Man kann z.B. ein Verzeichnis +auf einem USB-Speicher angegeben (sofern das Verzeichnis nicht vorhanden +ist, wird es erstellt). + +.. _RemoteControl: + +Remote Control +-------------- + +For remote controlling Tor you can use +`​Vidalia <http://www.torproject.org/projects/vidalia.html.en>`__. + +Configuration for the Tor server on your box: + +- Control Port: 9051 (the default port, you can use any port you like) +- Control Interface: 192.168.178.1 +- Control Password Hash: + + - generate on your box with *tor —hash-password your_password* + - copy the whole last line + +Vidalia configuration: + +- Address/ Port of Tor Instance: 192.168.178.1/9051 (should match that + of the server) +- Tor Password: plain, un-hashed password + +obfsproxy +--------- + +- `​Information <https://www.torproject.org/projects/obfsproxy>`__ +- Patch in ticket `#1712 </ticket/1712>`__ + +.. _MemoryUsage: + +Memory Usage +------------ + +Huge. + +After ten minutes: + ++----------+---------+ +| VmSize | VmRSS | ++----------+---------+ +| 17284 kB | 8660 kB | ++----------+---------+ + +.. _Abhängigkeiten: + +Abhängigkeiten +-------------- + +Tor benötigt die Bibliotheken zlib, openssl und libevent. Diese sind +ebenfalls in den aktuellen Freetz-Versionen enthalten und werden +automatisch mit installiert, sobald man im menuconfig das TOR Package +auswählt. + +.. _Diskussion: + +Diskussion +---------- + +Fragen und Anmerkungen zu diesem Package werden vorzugsweise in diesem +`​Thread <http://www.ip-phone-forum.de/showthread.php?p=693909#post693909>`__ +diskutiert. + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `privacy </tags/privacy>`__ +- `proxy </tags/proxy>`__ +- `routing </tags/routing>`__ diff --git a/wiki/packages/transmission.en.rst b/wiki/packages/transmission.en.rst new file mode 100644 index 0000000..ad37d52 --- /dev/null +++ b/wiki/packages/transmission.en.rst @@ -0,0 +1,120 @@ +packages/transmission.en +======================== +.. _Blocklist: + +Blocklist +--------- + +If you want to use a peer-blocklist (you can enable this in the web +interface if you are using the trunk version of Freetz), you have to +know that you have to provide a blocklist yourself. The simplest is to +make a 'update-blocklist.sh' with the content below and to invoke it +daily or so using cron (don't forget to make the file executable). + +.. code:: wiki + + #!/var/tmp/sh + + cd /path-to/bittorrent/config/blocklists/ + if wget -q http://www.bluetack.co.uk/config/level1.gz ; then + rm -f level1 && gunzip level1.gz + killall -HUP transmission-daemon + logger -s -t transmission "blocklist updated" + else + logger -s -t transmission "blocklist not updated" + fi + +This can be done from the transmission web interface too now. + +.. _Numberofpeers: + +Number of peers +--------------- + +It is probably a good idea to reduce the number of peers by editing the +*…/bittorrent/config/settings.json* file: + +.. code:: wiki + + "peer-limit-global": 150, + "peer-limit-per-torrent": 50, + +You have to stop transmission before changing this! Or you could use +this command to reload the config file: + +.. code:: wiki + + killall -HUP transmission-daemon + +This can be done from the transmission web interface too now. + +.. _Memoryusage: + +Memory usage +------------ + +Huge, relatively. + +You will probably need a swap file and you may want to increase +`​swappiness <http://lwn.net/Articles/83588/>`__ to 80 or something (in +Freetz WebIF since `[6886] </changeset/6886>`__). + ++-------------------------+------------+-----------+ +| | **VmSize** | **VmRSS** | ++-------------------------+------------+-----------+ +| No blocklist | ~8,5 mB | ~6 mB | ++-------------------------+------------+-----------+ +| level1 blocklist | ~17 mB | ~8 mB | ++-------------------------+------------+-----------+ +| One torrent + blocklist | ~19 mB | ~12 mB | ++-------------------------+------------+-----------+ + +You can monitor these values easily with the patch from ticket +`#1308 </ticket/1308>`__. + +.. _Limitmemoryusage: + +Limit memory usage +------------------ + +To prevent memory shortage (could cause reboots and crashing processes): + +.. code:: wiki + + "cache-size-mb": 1, + "open-file-limit": 32, + +The cache size is by default 2 MiB and the open file limit is by default +32. + +To minimize the number of connections you could decide to forward TCP +traffic only and not UDP traffic. + +.. _Watchdog: + +Watchdog +-------- + +It may be necessary to disable the watchdog by adding this line to for +example *rc.custom*: + +.. code:: wiki + + echo "disable">/dev/watchdog + +.. _Links: + +Links +----- + +- `​Transmission <http://transmissionbt.com/>`__ (external) +- `​Editing Configuration + Files <https://trac.transmissionbt.com/wiki/EditConfigFiles>`__ + (external) +- `​Block List Updater + Script <http://trac.transmissionbt.com/wiki/Scripts/BlockListUpdater>`__ + (external) +- `​Wikipedia about + µTP <http://en.wikipedia.org/wiki/Micro_Transport_Protocol>`__ +- `​Transmission Remote + GUI <http://code.google.com/p/transmisson-remote-gui/>`__ diff --git a/wiki/packages/transmission.rst b/wiki/packages/transmission.rst new file mode 100644 index 0000000..b078259 --- /dev/null +++ b/wiki/packages/transmission.rst @@ -0,0 +1,35 @@ +packages/transmission +===================== +.. _Transmission: + +Transmission +============ + + "**Transmission** ist ein freier, ressourcenschonender + BitTorrent-Client. Ihn zeichnen eine einfache, intuitiv zu bedienende + Benutzeroberfläche und eine effiziente, plattformunabhängige + Implementierung des BitTorrent-Protokolls aus. [… …] Zudem benötigt + Transmission weniger Systemressourcen als andere Clients." (Quelle: + `​Wikipedia <http://de.wikipedia.org/wiki/Transmission_(BitTorrent)>`__) + +|/!\\| Das Transmission Paket ist derzeit nur im Trunk über das Freetz +Webinterface konfigurierbar. In allen anderen Freetz Versionen muss das +Paket von Hand gestartet werden. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Transmission Homepage <http://www.transmissionbt.com/>`__ +- `​Wikipedia + Artikel <http://de.wikipedia.org/wiki/Transmission_(BitTorrent)>`__ +- `Block List Updater Script <transmission.en.html>`__ + +- Tags +- `filetransfer </tags/filetransfer>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/trickle.rst b/wiki/packages/trickle.rst new file mode 100644 index 0000000..a18849a --- /dev/null +++ b/wiki/packages/trickle.rst @@ -0,0 +1,139 @@ +packages/trickle +================ +trickle +======= + +**trickle** (Tröpfeln) ist ein leichtgewichtiger bandwidth shaper, der +mit trickled oder im stand alone mode verwendet werden kann. Mit trickle +kann man festlegen, welche Bandbreite eine Anwendung benutzen darf. +Somit kann die Internetverbindung auch während großer +`Downloads <../Download.html>`__, noch für andere Programme (z. B. +Telefonie) benutzbar bleiben. Der Datenverkehr wird über eine eigene +dynamische Bibliothek (trickle-overload.so), die von trickle beim Start +geladen wird, geregelt. trickle kann nur TCP-Verbindungen drosseln. +trickle benötigt keine root-Rechte. trickle kann nur mit dynamisch +gelinkten Anwendungen verwendet werden. Will man die Bandbreite von +statisch gelinkten Anwendungen drosseln, so sollte man trickle mit einem +Proxy (z. B. Privoxy oder ffproxy) verwenden und die statisch gelinkten +Anwendungen zwingen (z. B. mit iptables), diesen Proxy zu verwenden. Bei +Mehrbenutzerbetrieb an der Box, sollte trickle auch mit einem proxy +verwendet werden. Mit trickle hat man auch die Belastung der Box unter +Kontrolle, da eine geringere Bandbreite auch weniger Speicher und +weniger CPU-Leitung beansprucht. D. h. man kann das Neustarten +(rebooten) der Box verhindern. Mit trickle kann der ein- und ausgehende +Netzwerkverkehr so gesteuert werden, dass sowohl die Leitung als auch +die Box optimal genutzt werden. + +.. _Syntax: + +Syntax +------ + +.. code:: wiki + + Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>] + [-l <length>] [-n <path>] command ... + -h Help (this) + -v Increase verbosity level + -V Print trickle version + -s Run trickle in standalone mode independent of trickled + -d <rate> Set maximum cumulative download rate to <rate> KB/s + -u <rate> Set maximum cumulative upload rate to <rate> KB/s + -w <length> Set window length to <length> KB + -t <seconds> Set default smoothing time to <seconds> s + -l <length> Set default smoothing length to <length> KB + -n <path> Use trickled socket name <path> + -L <ms> Set latency to <ms> milliseconds + -P <path> Preload the specified .so instead of the default one + +.. code:: wiki + + Usage: trickled [-hvVfs] [-d <rate>] [-u <rate>] [-t <seconds>] [-l <length>] + [-p <priority>] [-c <file>] [-n <path>] [-N <seconds>] + [-w <length>] + -h Help (this) + -v Increase verbosity level + -V Print trickled version + -f Run trickled in the foreground + -s Use syslog instead of stderr to print messages + -d <rate> Set maximum cumulative download rate to <rate> KB/s + -u <rate> Set maximum cumulative upload rate to <rate> KB/s + -t <seconds> Set default smoothing time to <seconds> s + -l <length> Set default smoothing length to <length> KB + -p <priority> Set default priority to <priority> + -c <file> Use configuration file <file> + -n <path> Set socket name to <path> + -N <seconds> Notify of bandwidth usage every <seconds> s + -w <length> Set window size to <length> s + +.. _BeispielefürdieBenutzungvontrickle: + +Beispiele für die Benutzung von trickle +--------------------------------------- + +**1. Über einen Proxy:** + +.. code:: wiki + + trickle -s -u 20 -d 100 /var/mod/etc/init.d/rc.privoxy start + +.. code:: wiki + + wget -e "http_proxy = http://192.168.127.253:8118" http://speedtest.netcologne.de/test_10mb.bin + --2010-02-21 10:07:58-- http://speedtest.netcologne.de/test_10mb.bin + Verbindungsaufbau zu 192.168.127.253:8118... verbunden. + Proxy Anforderung gesendet, warte auf Antwort... 200 OK + Länge: 10485760 (10M) [application/octet-stream] + In »test_10mb.bin« speichern. + 100%[==========================================================================================================================================>] 10.485.760 20,2K/s in 8m 53s + 2010-02-21 10:16:51 (19,2 KB/s) - »test_10mb.bin« gespeichert [10485760/10485760] + +**2. Direkt auf die Anwendung:** + +.. code:: wiki + + trickle -s -u 50 -d 70 wget http://speedtest.netcologne.de/test_10mb.bin + --2010-03-06 22:54:02-- http://speedtest.netcologne.de/test_10mb.bin + Resolving speedtest.netcologne.de... 87.79.12.103, 87.79.12.102 + Connecting to speedtest.netcologne.de|87.79.12.103|:80... connected. + HTTP request sent, awaiting response... 200 OK + Length: 10485760 (10M) [application/octet-stream] + Saving to: `test_10mb.bin.1' + + 100%[==========================================================================================================================================>] 10,485,760 52.6K/s in 2m 59s + + 2010-03-06 22:57:00 (57.4 KB/s) - `test_10mb.bin.1' saved [10485760/10485760] + +**Auslastung der Box (aus top):** + +.. code:: wiki + + 2660 1901 root S 3028 10% 2% wget http://speedtest.netcologne.de/test_10mb.bin + +**Stichworte für die Suche:** traffic, bandwidth, shaping, shaper, +limiter, throttling, bandbreitenbegrenzung, bandbreite, drosseln, +begrenzen + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +`​trickle <http://monkey.org/~marius/pages/?page=trickle>`__ + +`​Artikel in +linuxuser <http://www.linux-user.de/ausgabe/2005/11/056-trickle/index.html>`__ + +`​manpage trickle <http://monkey.org/~marius/trickle/trickle.1.txt>`__ + +`​manpage trickled <http://monkey.org/~marius/trickle/trickled.8.txt>`__ + +`​manpage +trickled.conf <http://monkey.org/~marius/trickle/trickled.conf.5.txt>`__ + +`​trickle bei +Debian <http://patch-tracker.debian.org/package/trickle/1.07-9>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/unbound.rst b/wiki/packages/unbound.rst new file mode 100644 index 0000000..ae847bf --- /dev/null +++ b/wiki/packages/unbound.rst @@ -0,0 +1,25 @@ +packages/unbound +================ +.. _Unbound: + +Unbound +======= + +*Unbound is a validating, recursive and caching DNS resolver.* + +It is an alternative to `bind <bind.html>`__. + +.. _Links: + +Links +----- + +- `​Home page <http://unbound.net/index.html>`__ +- `​Unbound DNS Tutorial <https://calomel.org/unbound_dns.html>`__ +- `Ticket with patches </ticket/869>`__ +- `​Forum + thread <http://www.ip-phone-forum.de/showthread.php?t=225095>`__ + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/usbip.rst b/wiki/packages/usbip.rst new file mode 100644 index 0000000..7815192 --- /dev/null +++ b/wiki/packages/usbip.rst @@ -0,0 +1,62 @@ +packages/usbip +============== +.. _USBIP: + +USB/IP +====== + +Das Ziel von `​USB/IP <http://usbip.sourceforge.net/>`__ ist es, die an +einem Rechner angeschlossenen USB-Geräte von anderen Rechnern benutzbar +zu machen - und zwar im vollen Funktionsumfang. Dazu werden "USB I/O +messages" in IP-Pakete gepackt, um über das Netzwerk übertragen zu +werden. Jeder einzelne Rechner kann die betreffenden USB-Geräte nun so +benutzen, als seien sie direkt bei ihm angeschlossen. Damit lassen sich +folgende Dinge tun: + +- **USB Storage Devices**: ``fdisk``, ``mkfs``, ``mount``/``umount``, + diverse Dateioperationen, Filme von einer DVD abspielen, eine DVD + brennen… +- **USB Tastaturen und USB Mäuse**: Benutzung selbiger sowohl von der + Konsole als auch aus dem X Window System. +- **USB Webcams und USB Lautsprecher**: Durch die Webcam schauen, + Bilddaten "capturen" (aufzeichnen), Musik abspielen. +- **USB Drucker**: Wie die AVM-Druckerfreigabe, zusätzlich kann zB der + Füllstand ermittelt werden. +- **USB Scanner, USB Serial Converter und USB Netzwerk Interfaces**: + Naja - halt benutzen eben. + +In Hardware gegossen, findet man über Google auch schon etliche +sogenannte "USB Extender" (und zwar stellen diese bei weitem die größte +Treffermenge dar) - mit diesem Paket bringen wir das jedoch einfach +vorhandener Hardware, nämlich unserer Freetz-Box, bei. + +Im IPPF ist beschrieben wie man es nutzt: `​Teil +1 <http://www.ip-phone-forum.de/showpost.php?p=1392146&postcount=45>`__ +`​Teil +2 <http://www.ip-phone-forum.de/showpost.php?p=1609255&postcount=50>`__ + +.. _VerwendeteBibliotheken: + +Verwendete Bibliotheken +----------------------- + +- libglib2 +- libsysfs + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​USB/IP Projektseite <http://usbip.sourceforge.net/>`__ +- `​IPPF Thread: Wie kam USB/IP auf die + Freetz-Box <http://www.ip-phone-forum.de/showthread.php?t=131278>`__ +- Windows-Client: + `​usbip_windows_v0.1.0.0_signed.zip <https://sourceforge.net/projects/usbip/files/usbip_windows/>`__ + +-------------- + +- Tags +- `hardware </tags/hardware>`__ +- `packages <../packages.html>`__ +- `usb </tags/usb>`__ diff --git a/wiki/packages/usbroot.rst b/wiki/packages/usbroot.rst new file mode 100644 index 0000000..248a22b --- /dev/null +++ b/wiki/packages/usbroot.rst @@ -0,0 +1,192 @@ +packages/usbroot +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Vorteile <usbroot.html#Vorteile>`__ +#. `Konfiguration und + Kompilierung <usbroot.html#KonfigurationundKompilierung>`__ +#. `Packen, kopieren auf die Fritz!Box und + entpacken <usbroot.html#PackenkopierenaufdieFritzBoxundentpacken>`__ +#. `Einbinden von Partitionen <usbroot.html#EinbindenvonPartitionen>`__ +#. `Mögliche Nebenwirkungen <usbroot.html#MöglicheNebenwirkungen>`__ +#. `Verbesserungsmöglichkeiten <usbroot.html#Verbesserungsmöglichkeiten>`__ + +.. _USB-Root: + +USB-Root +======== + +Mit **USB-Root** lässt sich das Root-Verzeichnis (``/``) auf ein an die +Fritz!Box angeschlossenes USB-Gerät auslagern - was zusätzlichen Platz +nicht nur für weitere Software schafft. + +.. _Vorteile: + +Vorteile +-------- + +- Immer noch ein lauffähiges System im Flash-Speicher der Fritz!Box als + Notfall-System vorhanden +- Nahezu unbegrenzter Platz +- Mehrere Systeme parallel zur Auswahl auf dem USB-Stick → einfaches + Testen neuer Versionen und Konfigurationen. Dabei sollte allerdings + die jeweils genutzte Firmwarebasis von AVM ein zueinander kompatibles + Konfigurationsformat aufweisen! + +**Ein Beispiel aus der Praxis:** + +Annex A Box in Frankreich mit DAU als Besitzer |;-)| Bei einem nicht +funktionierenden System im Flash würde da gar nichts mehr gehen. Strom +aus, USB-Stick ab und Strom wieder an, bekommt er aber hin um damit das +Notfallsystem im Flash nutzen zu können. + +.. _KonfigurationundKompilierung: + +Konfiguration und Kompilierung +------------------------------ + +USB-Root muss einfach bei Erstellung des Images mit ``make menuconfig`` +(siehe Freetz Installation?) mit ausgewählt werden. Um später eine Shell +auf der Fritz!Box zu haben und scp nutzen zu können, sollte auch +dropbear mit ins Image. Zuerst wird dann ein Image mit USB-Root erzeugt, +das in den Flashspeicher der Fritz!Box passt und dann auch wie jedes +Image auf die Fritz!Box geflasht wird. + +Dann kann man sich sein System für den USB-Root zusammen stellen und +braucht nicht mehr auf den Platz zu achten. Das USB-Root Paket muss +jedoch ausgewählt bleiben! Die Fehlermeldung am Ende, dass das Image zu +groß ist, stört hier nicht weiter. Wir benötigen ja nur das erstellte +Systeme, das wir in [Freetz-Ordner]/build/modified/filesystem finden. + +Es kann eine beliebige Freetz-Version für den USB-Stick verwendet +werden. Es muss nicht die gleiche Version verwendet werden, wie sie im +Flashspeicher der Fritz!Box abgelegt ist. Es muss ausschließlich der +Kernel im Flashspeicher zum Kernel des USB-Sticks passen. + +Als Dateisystem ist eine Partition mit ext2 oder ext3 zu verwenden. Das +passende Kernel-Modul muss bei der Imageerstellung ausgewählt werden! + +.. _PackenkopierenaufdieFritzBoxundentpacken: + +Packen, kopieren auf die Fritz!Box und entpacken +------------------------------------------------ + +:: + + # 1. Dateisystem packen, dabei Besitzer auf root:root ändern + tar --group=0 --owner=0 -czf rootfs.tar.gz -C build/modified/filesystem . + + # 2. USB-Root im Freetz-Web deaktivieren, falls bereits aktiv + + # 3. Box mit Firmware aus dem Flash neu starten + + # 4. Archiv direkt auf an der Box angeschlossenes USB-Medium kopieren (Zielpfad anpassen!) + + # Variante A: vom PC aus die Datei auf die Box schieben (benötigt SSH-Server auf der Box) + scp rootfs.tar.gz root@fritz.box:/var/media/ftp/uStor01/rootfs + + # Variante B: von der Box aus die Datei vom PC holen (benötigt SSH-Server auf dem PC) + scp user@my_pc:/home/user/freetz-trunk/rootfs.tar.gz /var/media/ftp/uStor01/rootfs + + # 5. Archiv auf der Box entpacken + cd /var/media/ftp/uStor01/rootfs + tar -xzf rootfs.tar.gz + + # 6. Falls USB-Root noch nicht genutzt wurde muss es erst im Freetz-Web konfiguriert werden (Partition auswählen und Verzeichnis eintragen (z.B. /rootfs) + + # 7. USB-Root in Freetz-Web aktivieren, Box vom USB-Root neu starten + +**Neu in der Entwicklerversion +seit**\ `r8566 </changeset/8566>`__\ **:** Man kann direkt in +*Menuconfig* einstellen, daß beim Build zusätzlich zum oder anstelle des +Firmware-Images das Dateisystem direkt in ein Archiv gepackt wird ("USB +Root Mode", ersetzt Schritt 1 oben). Alternativ ist es über den "NFS +Root Mode" auch möglich, das Dateisystem direkt (fix und fertig +entpackt, Schritte 1, 3, 4) auf den USB-Stick zu kopieren, sofern dieser +am PC angeschlossen oder über NFS erreichbar ist. Erstere Variante ist +vermutlich die häufigere und sieht so aus: + +.. code:: wiki + + Freetz Configuration + ==================== + + [*] Show advanced options + --> Advanced options + --> Build system options + --> Firmware packaging (fwmod) special options + [*] Skip packing modified firmware + [*] Pack file system into archive (USB root mode) + +.. _EinbindenvonPartitionen: + +Einbinden von Partitionen +------------------------- + +Das Einbinden von weiteren Partitionen funktionierte in frühen +Freetz-Versionen nicht, somit mussten diese Partitionen manuell +eingebunden werden. In aktuellen Freetz-Versionen funktioniert dies nun, +so dass die AVM-Features, welche auf USB-Partitionen speichern, +verwendet werden können. + +Allerdings gibt es beim Mounten der Partitionen eine Fehlermeldung für +die verwendete Root-Partition: da diese bereits gemountet ist, schlägt +ein weiterer Mount-Versuch (der "normale" von AVM) natürlich fehl. Dies +kann mit ruhigem Gewissen ignoriert werden. + +.. _MöglicheNebenwirkungen: + +Mögliche Nebenwirkungen +----------------------- + +Das Freetz usbroot Paket verändert die Environment-Variable kernel_args +und startet dort einen alternativen init Prozess +(init=/etc/init.d/rc.usbroot). Die Variable kernel_args1 wird auch +gesetzt. Beim Upgrade / Recover der Firmware kann dies zu Problemen +führen, daher **MUSS vor dem Firmware-Update bzw Recover die +usbroot-Funktion wieder deaktiviert werden''', wahlweise über das Freetz +Webinterface oder aus der Shell mit:** + +.. code:: wiki + + echo kernel_args > /proc/sys/urlader/environment + echo kernel_args1 > /proc/sys/urlader/environment + +Bemerkt man dies zu spät (Die Box startet als Beispiel gleich nach 5 +Sekunden neu) helfen die ADAM2 Befehle: + +.. code:: wiki + + quote SETENV kernel_args + quote SETENV kernel_args1 + +Sollte es nach den beiden Befehlen immernoch nicht helfen, so führt man +ein Recover aus und flasht danach ein Freetz **ohne jediglichen Umfang** +(ohne Packages sowie **ohne** usbroot) über das AVM-WebInterface auf die +Box und setzt die beiden Variablen (mittels Telnet) wieder auf ihren +normalwert, danach kann man wieder problemlos seine gewünschte +modifizierte Firmware auf die Box bringen! + +.. _Verbesserungsmöglichkeiten: + +Verbesserungsmöglichkeiten +-------------------------- + +#. Direkt per SCP oder rsync aus der Stinky-VM auf die Fritz!Box + kopieren. + Wenn man aus Buildsystem (z.B. VM mit STinky) direkt über Netzwerk + die Fritz!Box per ssh/scp erreichen kann ist der Umweg über einen + weiteren PC unnötig. Hier wäre es dann eine direkte Verbindung + zwischen Fritz!Box und Buildsystem eleganter. Die Variante oben ist + aber für entfernte Systeme, ohne von außen erreichbaren SSH-Zugang + weiterhin brauchbar. +#. Die sich wiederholenden Befehle in ein bash-script packen + +- Tags +- `filesystem </tags/filesystem>`__ +- `packages <../packages.html>`__ +- `usb </tags/usb>`__ + +.. |;-)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/packages/usbutils.rst b/wiki/packages/usbutils.rst new file mode 100644 index 0000000..f5b3157 --- /dev/null +++ b/wiki/packages/usbutils.rst @@ -0,0 +1,30 @@ +packages/usbutils +================= +usbutils +======== + +Das Paket **usbutils** enthält, was man zur Anzeige von USB +Geräteinformationen benötigt: ``lsusb-freetz`` listet diese +Informationen auf. + +Zur Vermeidung einer Namenskollision, mit einem gleichnamigen Tool von +AVM, wurde das Binary in ``lsusb-freetz`` umbenannt. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Linux USB Homepage <http://www.linux-usb.org/>`__ +- `​lsusb Man Page <http://man-wiki.net/index.php/8:lsusb>`__ +- `​Feste Devices für + USB-Geräte <http://wiki.marcelwinkel.de/index.php/Main/FesteDevicesF%FCrUsb-Ger%E4te>`__ + bei Linux-Wiki + +-------------- + +- Tags +- `hardware </tags/hardware>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ +- `usb </tags/usb>`__ diff --git a/wiki/packages/vim.rst b/wiki/packages/vim.rst new file mode 100644 index 0000000..dc3ec3c --- /dev/null +++ b/wiki/packages/vim.rst @@ -0,0 +1,48 @@ +packages/vim +============ +vim +=== + +`​vim <http://www.vim.org/>`__ (**vi i**\ mproved) ist eine Variante des +bekannten Unix-Editors *vi*. Wie sein "Parent", läuft er in der Konsole, +und wird ausschließlich über die Tastatur bedient, weshalb er sich auch +hervorragend für die Benutzung auf der FritzBox eignet. + +Für Anfänger stellt seine Syntax oft eine große Hürde zu seiner +Benutzung dar - weshalb böse Zungen behaupten, der wichtigste +*vi*-Befehl sei ":q!" ("Nix tun und schnell wieder raus"). Hat man diese +Hürde allerdings genommen, so ist ein machtvolles Werkzeug gewonnen: +Kenntnis der `​entsprechenden +Syntax <http://de.wikibooks.org/wiki/Vi_Befehlsreferenz:_%C3%9Cbersicht>`__ +vorausgesetzt, sind Dinge wie "Suchen und Ersetzen", Textblöcke +löschen/verschieben/kopieren, und was sonst noch häufig beim Bearbeiten +reiner `​ASCII <http://de.wikipedia.org/wiki/Ascii>`__ Textdateien +anfällt, mit keinem anderen Werkzeug so schnell erledigt. Auch +`​reguläre +Ausdrücke <http://de.wikipedia.org/wiki/Reguläre_Ausdrücke>`__ sind für +*vim* eine Selbstverständlichkeit. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​vim Homepage <http://www.vim.org/>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Vim>`__ +- `​vi + Befehlsreferenz <http://de.wikibooks.org/wiki/Vi_Befehlsreferenz:_%C3%9Cbersicht>`__ + bei Wiki-Books +- `​vim + Schnellübersicht <http://tnerual.eriogerg.free.fr/vimqrc-ge.pdf>`__ +- `​vim + Kurzanleitung <http://lug.fh-swf.de/vim/vim-kurzanleitung.pdf>`__ +- `​Sieben Angewohnheiten für das effektive + Editieren <http://www.moolenaar.net/habits_de.pdf>`__ +- `​vim Videotutorials <http://www.learn2use.de/tag/Vim>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `packages <../packages.html>`__ +- `tools </tags/tools>`__ diff --git a/wiki/packages/virtualip.rst b/wiki/packages/virtualip.rst new file mode 100644 index 0000000..5471c0a --- /dev/null +++ b/wiki/packages/virtualip.rst @@ -0,0 +1,119 @@ +packages/virtualip +================== +.. _VirtualIP: + +Virtual IP +========== + +.. figure:: /screenshots/61.png + :alt: VirtualIP: Einstellungen + + VirtualIP: Einstellungen + +**Virtual IP** ist eine Erweiterung für Freetz, die es ermöglicht, eine +virtuelle IP auf der Box anzulegen. Das Paket ist über das Freetz +Webinterface konfigurierbar. Anfangs wurde diese virtuelle IP genutzt um +Portfreigaben auf die Box im AVM Webinterface anlegen zu können. + +.. _VORSICHT: + +|/!\\| VORSICHT |/!\\| +---------------------- + +Dieses Package wird nicht mehr supported und es sollte stattdessen +"`AVM-Firewall <avm-firewall.html>`__" verwendet werden. + +Portfreigaben auf virtuelle IPs mit Firmwares (> 04.57) funktinieren +nicht mehr zuverlässig. Bei manchen Firmwares (> 04.80) ist die Box +teilweise nicht mehr per Netzwerk erreichbar sobald eine virtuelle IP +eingerichtet wurde. Der ATA-Modus macht weniger Probleme wie der +DSL-Modus. + +Weitereführende Links dazu: + +- `​IPPF: Bei welchen Boxen funktioniert Virtual IP (nicht + mehr)? <http://www.ip-phone-forum.de/showthread.php?t=174245>`__ +- `​IPPF: Port-Freigabe auf die Box ist so möglich! Virtual-IP + überflüssig?!? <http://www.ip-phone-forum.de/showthread.php?t=159266>`__ + +.. _Einrichtung: + +Einrichtung +----------- + +- **Starttyp**: "Automatisch", wenn *VirtualIP* nach einem Reboot auch + automatisch aktiv werden soll. +- **Virtuelle IP-Adresse**: Die zusätzliche IP, unter der die Box + erreichbar sein soll. +- **Subnetzmaske**: Die dazu passende + `​Subnetz <http://de.wikipedia.org/wiki/Subnetz>`__-Maske (ggf. auch + den `​englischen <http://en.wikipedia.org/wiki/Subnet_mask>`__ bzw. + `​deutschen <http://de.wikipedia.org/wiki/Subnetz>`__ + Wikipedia-Artikel konsultieren) +- **Interface**: Normalerweise "eth0:1" wenn die Box auch die + DSL-Einwahl vornimmt, bzw. "dsl:0" im ATA-Modus. Im Zweifelsfall ein + wenig probieren. + +Fragen und Diskussionen zu diesem Package kann man auch +`​hier <http://www.ip-phone-forum.de/showthread.php?t=111623>`__ +stellen/führen. + +.. _BekannteProblemeundBugs: + +Bekannte Probleme und Bugs +-------------------------- + +.. _dsld-Syslogmeldung: + +dsld-Syslogmeldung +~~~~~~~~~~~~~~~~~~ + +Fehlermeldung im Syslog: + +.. code:: wiki + + user.err dsld[1243]: internet: 192.168.178.253 not an intern host, forwardrule "tcp 0.0.0.0:85 192.168.178.253:85 0 # Test" ignored + +AVM hat im **dsld**, der sich um DSL und die Portweiterleitungen +kümmert, einen Schutz eingebaut, der eine Weiterleitung auf die FritzBox +eigenen IPs verhindert. + +.. _ProblememitOpenVPNUDP: + +Probleme mit OpenVPN / UDP +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Eine Weiterleitung für OpenVPN bzw. für einen UDP-Port scheint Probleme +zu machen. Bei einigen funktioniert es jedenfalls nicht. + +.. _ProblememitIPTV: + +Probleme mit IPTV +~~~~~~~~~~~~~~~~~ + +Bei aktiver Virtual IP wird das TV Signal nicht mehr an den +Mediareceiver weitergeleitet. + +.. _ProblememitdemSIP-RegistrarModus: + +Probleme mit dem SIP-Registrar Modus +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Nutzt man eine Fritzbox auf der virtual-ip läuft als Registrar scheitern +VoIP Telefonate am SIP Client. Ausgehende Pakete werden korrekt an den +Registrar übertragen, jedoch wartet der Client auf Pakete von der +virtuellen IP - vergebens. Deaktiviert man virtual-ip und ruft +'voipcfgchanged' auf funktioniert alles korrekt. Getestet mit Firmware +4.80 und Freetz 1.1.3. + +-------------- + +- Tags +- `cgi </tags/cgi>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/packages/vpnc.rst b/wiki/packages/vpnc.rst new file mode 100644 index 0000000..589efce --- /dev/null +++ b/wiki/packages/vpnc.rst @@ -0,0 +1,24 @@ +packages/vpnc +============= +vpnc +==== + +Der `​VPNC-Client <http://www.vpnc.org/>`__ ist eine quelloffene +Alternative zum Cisco-VPN-Client und dient zum Erstellen von Virtual +Privat Network +(`​VPN <http://de.wikipedia.org/wiki/Virtual_Private_Network>`__) +Verbindungen. Damit werden sämtliche ausgehenden Netzwerkverbindungen +über das Internet verschlüsselt zu einem anderen Rechner übertragen. Von +diesem Rechner werden sie dann weitergeleitet, als ob die von dort +kämen. So können Daten, die im Firmennetzwerk nur aus dem lokalen +Netzwerk zugänglich sind, abgerufen werden, als ob man direkt mit +selbigem verbunden wäre. + +-------------- + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `routing </tags/routing>`__ +- `security </tags/security>`__ +- `vpn </tags/vpn>`__ diff --git a/wiki/packages/vsftpd.rst b/wiki/packages/vsftpd.rst new file mode 100644 index 0000000..579e994 --- /dev/null +++ b/wiki/packages/vsftpd.rst @@ -0,0 +1,382 @@ +packages/vsftpd +=============== +*TODO: Paket überarbeiten, so dass die Optionen vom AVM ftpd übernommen +werden, falls gewünscht. Dann kann hier auch was dokumentiert werden.* + +.. _VSFTPd: + +VSFTPd +====== + +**vsFTP** steht für **v**\ ery **s**\ ecure **F**\ ile **T**\ ransfer +**P**\ rotocol. Der `​vsftpd <http://vsftpd.beasts.org/>`__ bietet z.B. +folgende Features: + +- virtuelle IPs +- virtuelle User +- Konfiguration pro User, pro Source-IP +- Limits pro Source-IP +- Bandweitenbeschränkung (`​Bandwidth + throttling <http://en.wikipedia.org/wiki/Bandwidth_throttling>`__) +- IPv6 +- SSL Verschlüsselung + +.. _PackageinsImageeinbinden: + +Package ins Image einbinden +--------------------------- + +Im menuconfig unter ``Package selection ---> Standard packages --->`` +findet sich + +- *Vsftpd 2.x.y* + Damit wird der FTP-Zugriff über vsFTP möglich. + +.. _VerwandteThemen: + +Verwandte Themen +---------------- + +Unter ``Patches --->`` findet sich + +- *Patch USB storage names* … mit zusätzlichen Unterpunkten. + Hierdurch wird dem USB-Speicher ein einheitlicher Name gegeben. +- *Execute autorun.sh/autoend.sh script on (un)mount* + Führt die entsprechenden Skripte beim An- und Abstecken des + USB-Speichers aus. + +.. _FreigabenundBenutzerfürvsFTPinFreetzeinrichten: + +Freigaben und Benutzer für vsFTP in Freetz einrichten +----------------------------------------------------- + +Es folgt eine ausführliche Anleitung für das Erstellen von FTP-Freigaben +und Nutzern mit verschiedenen Lese/Schreib-Rechten, die unabhängig von +Linux-Zugriffsrechten funktioniert und somit auch für FAT- und +NTFS-Platten eingesetzt werden kann. Hierbei können mit dem aktuellen +Linux Kernel jedoch nur Lese/Schreib-Rechte auf Benutzer- und nicht auf +Ordnerebene gesetzt werden. + +Hier eine Übersicht über die in dieser Anleitung erstellten Ordner mit +Zugangsbeschränkungen für zwei reguläre Nutzer (user1, user2) und einen +Gast-Account (gast). + +- **Ordner → Zugangsberechtigte Benutzer** +- user1 → user1 +- user2 → user2 +- shared → user1, user2 +- public → user1, user2, gast + +Diese können leicht an den eigenen Bedarf angepasst werden. + +.. _Order-StrukturaufderUSB-Plattewirdvorbereitet.: + +Order-Struktur auf der USB-Platte wird vorbereitet. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Dazu die folgenden Ordner im Hauptverzeichnis der Platte erstellen: + +.. code:: wiki + + user1 #Heimverzeichnis user1 + user1/shared + user1/public + user2 #Heimverzeichnis user2 + user2/shared + user2/public + shared #gemeinsamer Ornder user1, user2 + public #Heimverzeichnis gast + +.. _DieAVM-LösungenvonFTPwirdabgeschaltet.: + +Die AVM-Lösungen von FTP wird abgeschaltet. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +| *fritz.box* → *Einstellungen* → *Erweiterte Einstellungen* → + *USB-Geräte* → *USB-Speicher* *USB-Speicher FTP-Zugriff aktivieren* → + Häkchen weg. +| Dies ist nicht zwingend notwendig, sofern der vsftpd auf einem anderen + als Port 21 läuft. + +.. _DiensteinstellungenwerdenimFreetz-Menüeingestellt.: + +Diensteinstellungen werden im Freetz-Menü eingestellt. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Pakete* → *vsftpd* + +*Starttyp* → automatisch + +→ *Zugriff* + +.. code:: wiki + + [ ]Anonymes FTP + [X]Lokale Benutzer + [X]chroot jail + [ ]Erlaube root login + [ ]Erlaube ftpuser login + +| So ist sichergestellt, dass nur die genannten Nutzer und diese nur auf + ihr Verzeichnis zugreifen können. +| Wenn der AVM FTP-Server parallel genutzt wird, **muss** hier auch der + Haken bei **Erlaube ftpuser login** gesetzt werden. + +→ *Zusätzliche Konfigurationsoptionen (für Experten)* + +.. code:: wiki + + user_config_dir=/var/media/ftp/uStor01/vsftp_user_conf + +Später werden wir die Schreibrechte für die Benutzer getrennt festlegen. + +→\ *Übernehmen*\ ← + +.. code:: wiki + + Saving settings...done. + Saving vsftpd.cfg...done. + + Writing /var/flash/freetz...done. + 10752 bytes written. + +.. _TelNet-Zugangwirdgestartet.: + +TelNet-Zugang wird gestartet. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +*Dienste* → *telnetd* → *start* + +Nun geht es auf der Kommandozeile weiter. + +.. _DielokalenBenutzerwerdeneingerichtet.: + +Die lokalen Benutzer werden eingerichtet. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Jeder Benutzer erhält dabei ein explizites Heim-Verzeichnis welches von +vsFTP automatisch übernommen wird. + +.. code:: wiki + + adduser -h /var/media/ftp/uStor01/user1 user1 + adduser -h /var/media/ftp/uStor01/user2 user2 + adduser -h /var/media/ftp/uStor01/public gast + +.. code:: wiki + + /var/media/ftp/uStor01/ # adduser -h /var/media/ftp/uStor01/user1/ user1 + adduser: /var/media/ftp/uStor01/user1/: File exists + Changing password for user1 + New password: + Retype password: + Password for user1 changed by root + /var/media/ftp/uStor01/ # adduser -h /var/media/ftp/uStor01/user2/ user2 + adduser: /var/media/ftp/uStor01/user2/: File exists + Changing password for user2 + New password: + Retype password: + Password for user2 changed by root + /var/media/ftp/uStor01/ # adduser -h /var/media/ftp/uStor01/public/ gast + adduser: /var/media/ftp/uStor01/public/: File exists + Changing password for gast + New password: + Retype password: + Password for gast changed by root + +Die neuen Zugangsdaten werden erstmal gespeichert. + +.. code:: wiki + + modsave all + +.. code:: wiki + + /var/media/ftp/uStor01/technik # modsave all + Saving users, groups and passwords...done. + Saving config...done. + Writing /var/flash/freetz...done. + 10752 bytes written. + +.. _DieVerzeichnissesharedundpublicwerdenindiejeweiligenHeim-VerzeichnissederBenutzereingebunden.: + +Die Verzeichnisse *shared* und *public* werden in die jeweiligen Heim-Verzeichnisse der Benutzer eingebunden. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Dies soll immer sichergestellt werden, wenn die USB-Platte an die +FritzBox angeschlossen wird. Dazu wird die Datei *autorun.sh* im +Hauptverzeichnis der USB-Platte erstellt. Dass nach ordnungsgemäßem +Abhängen der Platte die mounts auch wieder entfernt werden schreiben wir +unmount-Befehle in die *autoend.sh*. + +*/var/media/ftp/uStor01/autorun.sh* + +.. code:: wiki + + mount -o bind /var/media/ftp/uStor01/shared /var/media/ftp/uStor01/user1/shared + mount -o bind /var/media/ftp/uStor01/shared /var/media/ftp/uStor01/user2/shared + + mount -o bind /var/media/ftp/uStor01/public /var/media/ftp/uStor01/user1/public + mount -o bind /var/media/ftp/uStor01/public /var/media/ftp/uStor01/user2/public + +*/var/media/ftp/uStor01/autoend.sh* + +.. code:: wiki + + umount /var/media/ftp/uStor01/user1/shared + umount /var/media/ftp/uStor01/user2/shared + + umount /var/media/ftp/uStor01/user1/public + umount /var/media/ftp/uStor01/user2/public + +.. _FTP-SchreibrechtefürdieBenutzerwerdengesetzt.: + +FTP-Schreibrechte für die Benutzer werden gesetzt. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Dazu erhält jeder Benutzer eine Datei mit seinem Dateinamen im Ordner +*/var/media/ftp/uStor01/vsftp_user_conf/*, die festlegt, ob er +Schreibrechte hat oder nicht. + +*/var/media/ftp/uStor01/vsftp_user_conf/user1* + +.. code:: wiki + + write_enable=yes + +*/var/media/ftp/uStor01/vsftp_user_conf/user2* + +.. code:: wiki + + write_enable=yes + +*/var/media/ftp/uStor01/vsftp_user_conf/gast* + +.. code:: wiki + + write_enable=no + +Über diese Benutzerdateien ist es auch möglich einzelne FTP-Befehle +(`​Liste <http://en.wikipedia.org/wiki/List_of_FTP_commands>`__) für +Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein +und entfernt die nicht gewünschten Befehle: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +Alternativ kann man auch einzelne FTP-Befehle verbieten (ab vsftpd +Version 2.1.0): + +.. code:: wiki + + cmds_denied=DELE,RMD + +**Hinweiß:** Wenn wie Oben beschrieben das verbieten von Befehlen über +**cmds_denied=** nicht Funktioniert hat, gibt es noch einen zweiten Weg +das Ausführen von Befehle für einige User zu verbieten. + +Gelöst wird das ganze ebenfalls über die Benutzerdateien. Hierzu fügt +man folgende Zeile in die Datei ein und **entfernt** die Befehle die der +User nicht ausführen darf: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +**Beispiel:** user1 darf Dateien auf den FTP kopieren und Verzeichnisse +anlegen, jedoch diese nicht wieder löschen. Also muß folgendes in der +Datei stehen: + +.. code:: wiki + + cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER + +.. + + | **DELE** (Delete file), **RMD** (Remove a directory) wurden aus dem + oben angegebenen String gelöscht. + | Sollte etwas immer noch nicht gehen, dann einfach mal den Router + neu starten.( Reboot der FritzBox ) + +| +| Eine Liste aller FTP-Befehle und ihre Bedeutung findet ihr hier: + `​Liste <http://en.wikipedia.org/wiki/List_of_FTP_commands>`__ + +.. _Daswars: + +Das wars! +^^^^^^^^^ + +Die Ordner sind nun per FTP (`​ftp://fritz.box <ftp://fritz.box>`__) mit +den gegebenen Zugangsdaten erreichbar. + +.. _Anmeldebildschirmbeivsftpdändern: + +Anmeldebildschirm bei vsftpd ändern +----------------------------------- + +| +| Hier wird nun kurz beschrieben wie ihr den Anmeldebildschirm von VSFTP + ändern bzw. anpassen könnt. +| 1.) Folgende Datei erzeugen: +| Name: **ftp-startbild** +| Inhalt: + +.. code:: wiki + + Herzlich Willkommen bei + _ _ _ _ _ _ _ _ _ + / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ + ( M ) u ) s ) t ) e ) r ) m ) a ) n ) n ) + \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ + +| Sehr hilfreich bei der Erzeugung des Schriftzuges ist diese Seite: + `​AsciiArt Generator <http://www.ihr-freelancer.de/asciiart>`__ + (Schriftart:Bubble) +| 2.) Diese Datei wird dann einfach auf Eurer Festplatte abgelegt. +| Ort: **/var/media/ftp/uStor01/** +| 3.) Nun muß diese Datei nur noch über das WebIF ins Freetz eingebunden + werden. +| hierzu wird nun im Freetz-WebIF das VSFTP-Menue aufgerufen und + folgender Eintrag unter **Zusätzliche Konfigurationsoptionen (für + Experten)** eingetragen. + +.. code:: wiki + + banner_file=/var/media/ftp/uStor01/ftp-startbild + +.. figure:: /screenshots/126.jpg + :alt: + +4.) Nun nur noch Übernehmen und schon sollte sich Eure Box / der FTP mit +dem neuen Anmeldebildschirm melden. + +.. figure:: /screenshots/127.jpg + :alt: + +.. figure:: /screenshots/128.jpg + :alt: + +| + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Project Homepage <http://vsftpd.beasts.org/>`__ +- `​IPPF + Thread <http://www.ip-phone-forum.de/showthread.php?t=176105>`__: + Aktives/passives FTP auf die Box von außen mit *vsftpd* auf der Box +- `​IPPF + Thread <http://www.ip-phone-forum.de/showthread.php?t=187488>`__: + vsFTP und Samba mit Benutzerrechten für FAT32-USB-Platte + +- Tags +- `filetransfer </tags/filetransfer>`__ +- `ftp </tags/ftp>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `server </tags/server>`__ +- `überarbeiten </tags/%C3%BCberarbeiten>`__ diff --git a/wiki/packages/vtund.rst b/wiki/packages/vtund.rst new file mode 100644 index 0000000..961d8c8 --- /dev/null +++ b/wiki/packages/vtund.rst @@ -0,0 +1,68 @@ +packages/vtund +============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Version <vtund.html#Version>`__ +#. `Konfigurationsanleitung <vtund.html#Konfigurationsanleitung>`__ + + #. `Portweiterleitung <vtund.html#Portweiterleitung>`__ + +.. _VTUNfreetzPackage: + +VTUN freetz Package +=================== + +| `​VTUN <http://vtun.sourceforge.net/>`__ ist eine einfache + Möglichkeit, einen Tunnel von der oder auf die Fritzbox aufzubauen. + Mit maximal 75k ist es zudem auch nicht allzu groß. + +.. _Version: + +Version +------- + +.. figure:: /screenshots/125.png + :alt: vtun configuration GUI + + vtun configuration GUI + +Momentan ist die Version 3.0.2 enthalten. Es kann im menuconfig +(momentan im Bereich "Testing") mit folgenden Optionen gebaut werden: + +- Komprimierung per LZO2 oder Deflate (zlib) +- Verschlüsselung per SSL (Achtung, `Hinweise zur SSL Bibliothek + beachten <../FAQ.html#NachdemFlashenistdieBoxnichtmehrerreichbarundoderrebootetständig>`__) + :sup:`Es besteht die Möglichkeit, VTUN statisch zu bauen, um mögliche + Probleme damit zu vermeiden` +- Flusssteuerung ("Traffic-Shaping") + +.. _Konfigurationsanleitung: + +Konfigurationsanleitung +----------------------- + +| Die GUI für das Programm ist momentan sehr einfach aufgebaut: + +- In einer Zeile wird der Aufrufstring für das Programm festgelegt +- In der Feld darunter wird die Konfigurationsdatei eingegeben werden + +Auf der Seite von VTUN findet man auch ein paar +`​Konfigurationsbeispiele <http://vtun.sourceforge.net/setup.html>`__ + +.. _Portweiterleitung: + +Portweiterleitung +~~~~~~~~~~~~~~~~~ + +Soll die Box als Server dienen und die Verbindung auf die Box über das +Internet aufgebaut werden, so muss dafür eine "Portweiterleitung" +eingerichet werden. Ausführlich wird das Thema z.B. beim Paket +`OpenVPN <openvpn.html#Portweiterleitung>`__ behandelt, als Freetz +Nutzer bietet sich dafür das Paket `AVM Firewall <avm-firewall.html>`__ +an + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/wget.rst b/wiki/packages/wget.rst new file mode 100644 index 0000000..2060d4a --- /dev/null +++ b/wiki/packages/wget.rst @@ -0,0 +1,34 @@ +packages/wget +============= +wget +==== + +GNU `​Wget <http://www.gnu.org/software/wget/>`__ ist ein freies +Kommandozeilen-Programm zum Herunterladen von Ressourcen (Dateien, +Webseiten, etc) über ein Netzwerk. Zu den unterstützten Protokollen +gehören `​ftp <http://de.wikipedia.org/wiki/File_Transfer_Protocol>`__, +`​http <http://de.wikipedia.org/wiki/Http>`__ und +`​https <http://de.wikipedia.org/wiki/Https>`__. Wget kann einen +abgebrochenen `Download <../Download.html>`__ wieder aufnehmen, +komplette Webseiten mit Bildern sowie vollständige Websites +herunterladen, z. B. zum Offline-Lesen oder zur Archivierung. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​wget Homepage <http://www.gnu.org/software/wget/>`__ +- `​Wikipedia Artikel <http://de.wikipedia.org/wiki/Wget>`__ +- `​Hel for wget <http://www.ccp14.ac.uk//mirror/wget.htm>`__ + (Englisch) +- `​Herunterladen von Webseiten mit + Wget <http://www.pro-linux.de/berichte/wget-doku.html>`__ + +-------------- + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/wol.rst b/wiki/packages/wol.rst new file mode 100644 index 0000000..c2bdcb4 --- /dev/null +++ b/wiki/packages/wol.rst @@ -0,0 +1,82 @@ +packages/wol +============ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Wake on LAN + WebInterface(wol-cgi) <wol.html#WakeonLANWebInterfacewol-cgi>`__ + + #. `Konfiguration auf der + Fritzbox <wol.html#KonfigurationaufderFritzbox>`__ + +.. _WakeonLANWoL: + +Wake on LAN (WoL) +================= + +| Es gibt zwei Programme, die WoL unterstützen: +| 1. *ether-wake*, das in der busybox integriert ist und +| 2. *wol*, das genutzt werden kann, wenn es mit *ether-wake* Probleme + gibt. + +Das ``wol`` Paket ist "binary only", kann aber seit einiger Zeit auch +über wol-cgi bedient werden. + +.. _WakeonLANWebInterfacewol-cgi: + +Wake on LAN WebInterface(wol-cgi) +--------------------------------- + +Mit Hilfe des wol-cgi Paketes lässt sich das Busybox Applet +``ether-wake`` steuern. Hiermit lassen sich PCs über das lokale Netzwerk +(LAN) oder über das Internet (WAN) aufwecken. + +.. _KonfigurationaufderFritzbox: + +Konfiguration auf der Fritzbox +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ein PC, der aufgeweckt werden soll, muss in die Hostliste aufgenommen +werden. Die Hostliste lässt sich auf folgende Weisen bearbeiten: + +- *Pakete → Wake on LAN → Hosts bearbeiten* +- *Einstellungen → Hosts* + +Um Wake on LAN zu nutzen, muss wenigstens die Mac-Adresse und der +Hostname eingegeben werden, am Besten einfach gleich noch die IP-Adresse +und das Interface (meist eth0). Beispiele: + +.. code:: wiki + + #<ip> <mac> <interface> <host> [<description>] (*... nicht definiert) + * 0A:B1:2C:D3:4E:F5 * server + 192.168.178.2 0A:B1:2C:D3:4E:F5 eth0 server Das ist mein Server + +Im Menü *Pakete → Wake on LAN* können noch weitere Einstellungen +vorgenommen werden: + +.. figure:: /screenshots/16.png + :alt: Wake on LAN Configuration + + Wake on LAN Configuration + +Anschließen ist das WoL-WebInterface über ``fritz.box:82`` oder den +Menüpunkt "*Freetz WOL*" des AVM-WebInterfaces zu erreichen. Darin dann +den PC in der Liste "Bekannte Hosts" auswählen. Die Einträge MAC und +Interface werden automatisch eingetragen und ein Klick auf "WakeUp" +startet den gewählten PC. + +.. figure:: /screenshots/14.png + :alt: Wake on LAN WebInterface + + Wake on LAN WebInterface + +Bei Problemen bitte zuerst versuchen, ob der PC sich anderweitig (von +anderen PCs) aufwecken lässt. Hierdurch ist sichergestellt, dass der PC +richtig konfiguriert ist. Weiterhin kann man statt dem Busybox +``ether-wake`` Applet das `wol <wol.html>`__ Binary probieren. + +- Tags +- `cgi </tags/cgi>`__ +- `network </tags/network>`__ +- `wol </tags/wol>`__ diff --git a/wiki/packages/wput.rst b/wiki/packages/wput.rst new file mode 100644 index 0000000..1bf2ad6 --- /dev/null +++ b/wiki/packages/wput.rst @@ -0,0 +1,22 @@ +packages/wput +============= +**wput** ist ein command-line ftp client, der Dateien oder auch ganze +Verzeichnisse auf einen remote Server hochlädt. Dabei unterstützt er +auch das wiederaufnehmen von abgebrochenen uploads. + +Features + +- wget ähnliches inteface +- TLS-encryption +- resuming +- speed-limit +- time-stamping (compares local and remote dates) +- proxy-support (socks5, http) +- i18n +- windows-compatibility + +- Tags +- `console </tags/console>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `web </tags/web>`__ diff --git a/wiki/packages/xmail.rst b/wiki/packages/xmail.rst new file mode 100644 index 0000000..f459692 --- /dev/null +++ b/wiki/packages/xmail.rst @@ -0,0 +1,15 @@ +packages/xmail +============== +.. _Links: + +Links +===== + +- Package `PHPXMail <phpxmail.html>`__ +- `​Setting up a virtual Mail server with + XMail <http://smartpost.sourceforge.net/virtual_mail_server_with_xmail.htm>`__ + +- Tags +- `mail </tags/mail>`__ +- `network </tags/network>`__ +- `packages <../packages.html>`__ diff --git a/wiki/packages/xrelayd.rst b/wiki/packages/xrelayd.rst new file mode 100644 index 0000000..72b1a3b --- /dev/null +++ b/wiki/packages/xrelayd.rst @@ -0,0 +1,83 @@ +packages/xrelayd +================ +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Konfiguration <xrelayd.html#Konfiguration>`__ +#. `Zertifikate auf der Box + erzeugen <xrelayd.html#ZertifikateaufderBoxerzeugen>`__ + +xrelayd +======= + +.. figure:: /screenshots/203.png + :alt: Xrelayd Webinterface + + Xrelayd Webinterface + +*"xrelayd is the successor to matrixtunnel, a lightweight stunnel +replacement. Xrelayd is a basic tcp proxy server which enables you to +encrypt arbitrary protocols without changing ssl unaware deamons and +client software."* `​xrelayd Thread im +OpenWRT-Forum <http://forum.openwrt.org/viewtopic.php?id=12338>`__ + +Obwohl es als Nachfolger von matrixtunnel betrachtet wird, ist auch +dieses Projekt ähnlich wie *matrixtunnel* seit Ende 2007 etwas +eingeschlafen. *xrelayd* benutzt eine andere SSL-Bibliothek als +*matrixtunnel* und ist auch nicht so kompakt wie dieses. Die Handhabung +und Syntax von *xrelayd* ist ähnlich dem *matrixtunnel*. *xrelayd* kann +im Unterschied zu *matrixtunnel* auch noch `​selbstsignierte +Zertifikate <http://en.wikipedia.org/wiki/Self-signed_certificate>`__ +erstellen, sodass dies auf der Box selbst geschehen kann. Solche +Zertifikate werden allerdings von den Browsern wie Firefox 3 als korrupt +angesehen, weil sie "nicht vertrauenswürdig" sind (bei +"vertrauenswürdigen Zertifikaten" bürgt dafür eine "`​Certificate +Authority <http://de.wikipedia.org/wiki/Zertifizierungsstelle>`__" wie +z.B. Thawte oder VeriSign). AVM scheint für ihren HTTPS-Server eine +xrelayd-ähnliche-Lösung zu benutzen. Dafür sprechen bei jedem Reboot neu +erstellte selbst signierte Zertifikate des HTTPS-Servers von AVM. + +Seit Freetz-trunk-\ `r3571 </changeset/3571>`__ gibt es dazu auch ein +WebGUI. + +.. _Konfiguration: + +Konfiguration +------------- + +#. Erzeugen der Keys auf dem PC (unter Linux): + + .. code:: wiki + + openssl genrsa 1024 > host.key + openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert + +#. Die Keys im Webinterface unter Einstellungen→XRelayd: + Certificate/Private Key einfügen. + +3. Die gewünschten Services hinzufügen. Zum Beispiel: + + .. code:: wiki + + 0.0.0.0:4433 127.0.0.1:81 Freetz-Webinterface + +4. Zugriff (intern) über + `​https://fritz.box:4433 <https://fritz.box:4433>`__. Für den + externen Zugriff muss noch eine Port-Freigabe eingetragen werden. + +.. _ZertifikateaufderBoxerzeugen: + +Zertifikate auf der Box erzeugen +-------------------------------- + +.. code:: wiki + + xrelayd -f -K 1024 -p host.key -U "CN=localhost" -p host.key -A host.cert + cat host.key > /tmp/flash/.xrelayd/key.pem + cat host.cert > /tmp/flash/.xrelayd/certs.pem + modsave flash + +- Tags +- `network </tags/network>`__ +- `packages <../packages.html>`__ +- `tunnel </tags/tunnel>`__ diff --git a/wiki/packages/xyssl.rst b/wiki/packages/xyssl.rst new file mode 100644 index 0000000..1d8cdb3 --- /dev/null +++ b/wiki/packages/xyssl.rst @@ -0,0 +1,14 @@ +packages/xyssl +============== +`​XySSL <http://www.ohloh.net/p/xyssl>`__\ *is an open-source +cryptographic library for embedded systems. It provides standard crypto +block: AES, SHA-1, X.509, etc. as well as higher lever protocols: SSL v3 +and TLS v1. XySSL has been ported on a number of architectures, +including ARM, PowerPC, MIPS, and Motorola 68000. Its already small +memory footprint can be easily reduced to 50k for a basic SSL client or +server, by modifying a single .h configuration file. XySSL is currently +used in several open-source (GPL) and closed-source projects, such as +Adobe's flash player.* + +Inzwischen wird XySSL nicht mehr weiter entwickelt. Der Nachfolger heißt +`​PolarSSL <http://www.polarssl.org/>`__. diff --git a/wiki/packages/ziproxy.rst b/wiki/packages/ziproxy.rst new file mode 100644 index 0000000..73c29ea --- /dev/null +++ b/wiki/packages/ziproxy.rst @@ -0,0 +1,99 @@ +packages/ziproxy +================ +ziproxy +======= + +"*Ziproxy is a forwarding (non-caching) compressing HTTP proxy server. +Basically, it squeezes images by converting them to lower quality JPEGs +or JPEG 2000 and compresses (gzip) HTML and other text-like data. It +also provides other features such as: HTML/JS/CSS optimization, +preemptive hostname resolution, transparent proxying, IP ToS marking +(QoS), Ad-Blocker, detailed logging and more.*" + +Useful when bandwidth is limited, for example on slow GPRS connections +or on slow or heavily shared internet connections in developing +countries (typical in internet cafes). + +It is possible to use ziproxy as normal proxy by disabling the options +*GZip compression* and *Compress images*. + +Ziproxy supports inet. + +.. _CPUusage: + +CPU usage +--------- + +Relatively heavy. + +It may be necessary to disable the watchdog by adding this line to for +example *rc.custom*: + +.. code:: wiki + + echo "disable">/dev/watchdog + +.. _Memoryusage: + +Memory usage +------------ + +After a fresh start: + +| *VmSize*: ~1800 kB +| *VmRSS*: ~375 kB + +.. _URLnoprocessinglist: + +URL no processing list +---------------------- + +You want probably at least: + +.. code:: wiki + + http://mt*.google.com/* + http://khm*.google.com/* + http://maps.gstatic.com/* + +.. _URLdenylist: + +URL deny list +------------- + +.. figure:: /screenshots/218.png + :alt: + +Something like: + +.. code:: wiki + + http://*.doubleclick.net/* + http://*.googleadservices.com/* + http://*.google-analytics.com/* + http://*.googlesyndication.com/* + http://adserver.*/* + http://ads.*/* + http://ad.*/* + http://*.facebook.com/plugins* + http://*.facebook.com/widgets* + http://*.fbcdn.net/ads*/* + +and maybe: + +.. code:: wiki + + http://*/*.swf + +.. _Links: + +Links +----- + +- `​Homepage <http://ziproxy.sourceforge.net/>`__ +- `​Readme <http://ziproxy.cvs.sourceforge.net/viewvc/ziproxy/ziproxy-default/README?view=markup>`__ +- `Ticket with patch </ticket/1356>`__ +- `​Using ziproxy <http://blog.mudy.info/2010/06/using-ziproxy/>`__ + (includes statistics) +- `​Security note <https://www.kb.cert.org/vuls/id/MAPG-7N9GN8>`__ +- `​Linux.com <http://www.linux.com/archive/feature/148438>`__ diff --git a/wiki/packages_tagged.rst b/wiki/packages_tagged.rst new file mode 100644 index 0000000..421b363 --- /dev/null +++ b/wiki/packages_tagged.rst @@ -0,0 +1,436 @@ +packages_tagged +=============== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Pakete, Addons und + CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ + + #. `Pakete <packages.html#Pakete>`__ + #. `Addons <packages.html#Addons>`__ + #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ + #. `Apps <packages.html#Apps>`__ + #. `Weiteres <packages.html#Weiteres>`__ + +#. `Pakete nach + Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ + + #. `Audio <packages_tagged.html#Audio>`__ + #. `Home Automation <packages_tagged.html#HomeAutomation>`__ + #. `Konsole <packages_tagged.html#Konsole>`__ + #. `Monitoring <packages_tagged.html#Monitoring>`__ + #. `Netzwerk <packages_tagged.html#Netzwerk>`__ + + #. `DynDNS <packages_tagged.html#DynDNS>`__ + #. `File Transfer <packages_tagged.html#FileTransfer>`__ + #. `Internet + Messenging <packages_tagged.html#InternetMessenging>`__ + #. `Konsole <packages_tagged.html#Konsole1>`__ + #. `Proxies <packages_tagged.html#Proxies>`__ + #. `Routing <packages_tagged.html#Routing>`__ + #. `Security <packages_tagged.html#Security>`__ + #. `Tunneling <packages_tagged.html#Tunneling>`__ + #. `VPN <packages_tagged.html#VPN>`__ + #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ + #. `Sonstiges <packages_tagged.html#Sonstiges>`__ + + #. `Privacy <packages_tagged.html#Privacy>`__ + #. `Programmiersprachen und + -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ + #. `Security <packages_tagged.html#Security1>`__ + #. `System <packages_tagged.html#System>`__ + + #. `Dateisystem <packages_tagged.html#Dateisystem>`__ + #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ + #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ + + #. `Telefonie <packages_tagged.html#Telefonie>`__ + #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ + +.. _PaketenachAnwendungsgebieten: + +Pakete nach Anwendungsgebieten +============================== + +Diese Seite versucht, die `verfügbaren Pakete <packages.html>`__ nach +Anwendungsgebieten aufzulisten. Die Listen werden automatisch über +`Tags </tags>`__ generiert - woraus dreierlei resultiert: + +#. *Die Liste ist nie vollständig.* + Existiert für ein Paket noch kein Artikel, sind meist auch noch keine + Tags dafür vergeben - und das Paket kann daher hier nicht auftauchen. + Gleiches gilt natürlich, wenn ein vorhandener Artikel nicht + "getagged" wurde. +#. *Die Liste ist nie 100% korrekt.* + Dazu reicht schon ein falsches Tag auf einem Artikel… +#. *Es gibt hier u.U. Duplikate.* + Während manche Artikel vielleicht gar kein Tag haben, wurden anderen + vielleicht gleich mehrere Tags vergeben. So könnte z.B. ein + FTP-Server sowohl unter "Web", als auch unter "Netzwerk" oder + "Daemons" einsortiert werden. + +Will man wirklich auf "Nummer Sicher" gehen, bleibt also nur der Weg +über die (hoffentlich vollständige) `Paketliste <packages.html>`__. + +.. _Audio: + +Audio +----- + +- `packages/espeak <packages/espeak.html>`__ eSpeak +- `packages/madplay <packages/madplay.html>`__ madplay +- `packages/mediaserver <packages/mediaserver.html>`__ Mediaserver +- `packages/streamripper <packages/streamripper.html>`__ Streamripper + +.. _HomeAutomation: + +Home Automation +--------------- + +- `packages/digitemp <packages/digitemp.html>`__ '''Was ist + digitemp?''' +- `packages/fhem <packages/fhem.html>`__ FHEM +- `packages/fhzctrl <packages/fhzctrl.html>`__ fhzctrl +- `packages/owfs <packages/owfs.html>`__ owfs +- `packages/sispmctl <packages/sispmctl.html>`__ sispmctl + +.. _Konsole: + +Konsole +------- + +- `packages/bash <packages/bash.html>`__ Bash +- `packages/deco <packages/deco.html>`__ Demos Commander +- `packages/dtach <packages/dtach.html>`__ dtach +- `packages/empty <packages/empty.html>`__ Empty +- `packages/irssi <packages/irssi.html>`__ irssi +- `packages/ldd <packages/ldd.html>`__ ldd +- `packages/ltrace <packages/ltrace.html>`__ ltrace +- `packages/lynx <packages/lynx.html>`__ Lynx +- `packages/m-i-t <packages/m-i-t.html>`__ module-init-tools +- `packages/mc <packages/mc.html>`__ Midnight Commander +- `packages/mcabber <packages/mcabber.html>`__ mcabber +- `packages/mtr <packages/mtr.html>`__ mtr +- `packages/netcat <packages/netcat.html>`__ netcat +- `packages/screen <packages/screen.html>`__ screen +- `packages/socat <packages/socat.html>`__ socat +- `packages/strace <packages/strace.html>`__ strace +- `packages/streamripper <packages/streamripper.html>`__ Streamripper +- `packages/tcpdump <packages/tcpdump.html>`__ tcpdump +- `packages/vim <packages/vim.html>`__ vim +- `packages/wget <packages/wget.html>`__ wget +- `packages/wput <packages/wput.html>`__ + +.. _Monitoring: + +Monitoring +---------- + +- `packages/collectd </wiki/packages/collectd>`__ +- `packages/inotify-tools <packages/inotify-tools.html>`__ + Inotify-Tools +- `packages/nagios <packages/nagios.html>`__ Nagios +- `packages/rrdstats <packages/rrdstats.html>`__ RRDstats +- `packages/rrdtool <packages/rrdtool.html>`__ RRDTool + +.. _Netzwerk: + +Netzwerk +-------- + +.. _DynDNS: + +DynDNS +~~~~~~ + +- `packages/inadyn-mt <packages/inadyn-mt.html>`__ Inadyn-MT +- `packages/opendd <packages/opendd.html>`__ OpenDD + +.. _FileTransfer: + +File Transfer +~~~~~~~~~~~~~ + +- `packages/bftpd <packages/bftpd.html>`__ Bftpd +- `packages/ctorrent <packages/ctorrent.html>`__ CTorrent +- `packages/ncftp <packages/ncftp.html>`__ ncftp +- `packages/obexftp <packages/obexftp.html>`__ ObexFTP +- `packages/transmission <packages/transmission.html>`__ Transmission +- `packages/vsftpd <packages/vsftpd.html>`__ VSFTPd + +.. _InternetMessenging: + +Internet Messenging +~~~~~~~~~~~~~~~~~~~ + +- `packages/bip <packages/bip.html>`__ BIP +- `packages/checkmaild <packages/checkmaild.html>`__ checkmaild 0.4.7 +- `packages/imapproxy.en <packages/imapproxy.en.html>`__ !ImapProxy +- `packages/irssi <packages/irssi.html>`__ irssi +- `packages/mcabber <packages/mcabber.html>`__ mcabber +- `packages/phpxmail <packages/phpxmail.html>`__ +- `packages/phpxmail.en <packages/phpxmail.en.html>`__ Introduction +- `packages/xmail <packages/xmail.html>`__ Links + +.. _Konsole1: + +Konsole +~~~~~~~ + +- `packages/bash <packages/bash.html>`__ Bash +- `packages/deco <packages/deco.html>`__ Demos Commander +- `packages/dtach <packages/dtach.html>`__ dtach +- `packages/empty <packages/empty.html>`__ Empty +- `packages/irssi <packages/irssi.html>`__ irssi +- `packages/ldd <packages/ldd.html>`__ ldd +- `packages/ltrace <packages/ltrace.html>`__ ltrace +- `packages/lynx <packages/lynx.html>`__ Lynx +- `packages/m-i-t <packages/m-i-t.html>`__ module-init-tools +- `packages/mc <packages/mc.html>`__ Midnight Commander +- `packages/mcabber <packages/mcabber.html>`__ mcabber +- `packages/mtr <packages/mtr.html>`__ mtr +- `packages/netcat <packages/netcat.html>`__ netcat +- `packages/screen <packages/screen.html>`__ screen +- `packages/socat <packages/socat.html>`__ socat +- `packages/strace <packages/strace.html>`__ strace +- `packages/streamripper <packages/streamripper.html>`__ Streamripper +- `packages/tcpdump <packages/tcpdump.html>`__ tcpdump +- `packages/vim <packages/vim.html>`__ vim +- `packages/wget <packages/wget.html>`__ wget +- `packages/wput <packages/wput.html>`__ + +.. _Proxies: + +Proxies +~~~~~~~ + +- `packages/bip <packages/bip.html>`__ BIP +- `packages/imapproxy.en <packages/imapproxy.en.html>`__ !ImapProxy +- `packages/polipo.en <packages/polipo.en.html>`__ Using with Tor +- `packages/privoxy <packages/privoxy.html>`__ Privoxy +- `packages/tinyproxy <packages/tinyproxy.html>`__ Tinyproxy +- `packages/tor <packages/tor.html>`__ Tor Proxy + +.. _Routing: + +Routing +~~~~~~~ + +- `packages/bird <packages/bird.html>`__ Bird +- `packages/igmpproxy <packages/igmpproxy.html>`__ igmpproxy +- `packages/iptables <packages/iptables.html>`__ iptables +- `packages/iptables-cgi <packages/iptables-cgi.html>`__ iptables-cgi +- `packages/nhipt <packages/nhipt.html>`__ NHIPT - iptables firewall + GUI +- `packages/openvpn <packages/openvpn.html>`__ OpenVPN freetz Package +- `packages/quagga <packages/quagga.html>`__ Quagga +- `packages/tinc <packages/tinc.html>`__ Tinc +- `packages/tor <packages/tor.html>`__ Tor Proxy +- `packages/virtualip <packages/virtualip.html>`__ Virtual IP +- `packages/vpnc <packages/vpnc.html>`__ vpnc + +.. _Security: + +Security +~~~~~~~~ + +- `packages/authorized-keys <packages/authorized-keys.html>`__ + authorized_keys +- `packages/avm-firewall <packages/avm-firewall.html>`__ + AVM-firewall-cgi +- `packages/iptables <packages/iptables.html>`__ iptables +- `packages/iptables-cgi <packages/iptables-cgi.html>`__ iptables-cgi +- `packages/knock <packages/knock.html>`__ knockd +- `packages/nhipt <packages/nhipt.html>`__ NHIPT - iptables firewall + GUI +- `packages/openvpn <packages/openvpn.html>`__ OpenVPN freetz Package +- `packages/pptp <packages/pptp.html>`__ PPTP Client +- `packages/tcp_wrappers <packages/tcp_wrappers.html>`__ TCP Wrapper +- `packages/tinc <packages/tinc.html>`__ Tinc +- `packages/vpnc <packages/vpnc.html>`__ vpnc + +.. _Tunneling: + +Tunneling +~~~~~~~~~ + +- `packages/dns2tcp <packages/dns2tcp.html>`__ Dns2Tcp +- `packages/httptunnel <packages/httptunnel.html>`__ httptunnel +- `packages/iodine <packages/iodine.html>`__ iodine +- `packages/matrixtunnel <packages/matrixtunnel.html>`__ matrixtunnel +- `packages/pingtunnel <packages/pingtunnel.html>`__ pingtunnel +- `packages/pptp <packages/pptp.html>`__ PPTP Client +- `packages/stunnel <packages/stunnel.html>`__ Stunnel +- `packages/vtund <packages/vtund.html>`__ VTUN freetz Package +- `packages/xrelayd <packages/xrelayd.html>`__ xrelayd + +.. _VPN: + +VPN +~~~ + +- `packages/openvpn <packages/openvpn.html>`__ OpenVPN freetz Package +- `packages/tinc <packages/tinc.html>`__ Tinc +- `packages/vpnc <packages/vpnc.html>`__ vpnc + +.. _Web-Anwendungen: + +Web-Anwendungen +~~~~~~~~~~~~~~~ + +- `packages/apache <packages/apache.html>`__ Apache Webserver mit PHP + CGI +- `packages/curl <packages/curl.html>`__ cURL +- `packages/haserl <packages/haserl.html>`__ Haserl +- `packages/lighttpd <packages/lighttpd.html>`__ lighttpd Webserver +- `packages/lynx <packages/lynx.html>`__ Lynx +- `packages/tinyproxy <packages/tinyproxy.html>`__ Tinyproxy +- `packages/wget <packages/wget.html>`__ wget +- `packages/wput <packages/wput.html>`__ + +.. _Sonstiges: + +Sonstiges +~~~~~~~~~ + +- `packages/aiccu <packages/aiccu.html>`__ Aiccu +- `packages/bluez-utils <packages/bluez-utils.html>`__ Bluez-Utils +- `packages/br2684ctl <packages/br2684ctl.html>`__ br2684ctl +- `packages/bridge-utils <packages/bridge-utils.html>`__ bridge-utils +- `packages/cpmaccfg <packages/cpmaccfg.html>`__ cpmaccfg +- `packages/dnsd <packages/dnsd.html>`__ dnsd +- `packages/dnsd.en <packages/dnsd.en.html>`__ dnsd +- `packages/dnsmasq <packages/dnsmasq.html>`__ dnsmasq +- `packages/downloader <packages/downloader.html>`__ Downloader-CGI +- `packages/dropbear <packages/dropbear.html>`__ Dropbear +- `packages/gw6 <packages/gw6.html>`__ gw6 +- `packages/hol <packages/hol.html>`__ +- `packages/mediaserver <packages/mediaserver.html>`__ Mediaserver +- `packages/nagios <packages/nagios.html>`__ Nagios +- `packages/netsnmp <packages/netsnmp.html>`__ Net-SNMP +- `packages/openntpd <packages/openntpd.html>`__ OpenNTPD +- `packages/portmap <packages/portmap.html>`__ portmap +- `packages/ppp <packages/ppp.html>`__ ppp-cgi +- `packages/rcapid </wiki/packages/rcapid>`__ +- `packages/siproxd <packages/siproxd.html>`__ +- `packages/subversion <packages/subversion.html>`__ Subversion +- `packages/trickle <packages/trickle.html>`__ trickle +- `packages/unbound <packages/unbound.html>`__ Unbound + +.. _Privacy: + +Privacy +------- + +- `packages/cryptsetup </wiki/packages/cryptsetup>`__ +- `packages/privoxy <packages/privoxy.html>`__ Privoxy +- `packages/tor <packages/tor.html>`__ Tor Proxy + +.. _Programmiersprachenund-hilfen: + +Programmiersprachen und -hilfen +------------------------------- + +- `packages/empty <packages/empty.html>`__ Empty +- `packages/ldd <packages/ldd.html>`__ ldd +- `packages/ltrace <packages/ltrace.html>`__ ltrace +- `packages/lua <packages/lua.html>`__ Lua +- `packages/microperl <packages/microperl.html>`__ microperl +- `packages/ruby <packages/ruby.html>`__ Ruby +- `packages/strace <packages/strace.html>`__ strace +- `packages/subversion <packages/subversion.html>`__ Subversion + +.. _Security1: + +Security +-------- + +- `packages/authorized-keys <packages/authorized-keys.html>`__ + authorized_keys +- `packages/avm-firewall <packages/avm-firewall.html>`__ + AVM-firewall-cgi +- `packages/cryptsetup </wiki/packages/cryptsetup>`__ +- `packages/iptables <packages/iptables.html>`__ iptables +- `packages/iptables-cgi <packages/iptables-cgi.html>`__ iptables-cgi +- `packages/knock <packages/knock.html>`__ knockd +- `packages/nhipt <packages/nhipt.html>`__ NHIPT - iptables firewall + GUI +- `packages/openvpn <packages/openvpn.html>`__ OpenVPN freetz Package +- `packages/pptp <packages/pptp.html>`__ PPTP Client +- `packages/tcp_wrappers <packages/tcp_wrappers.html>`__ TCP Wrapper +- `packages/tinc <packages/tinc.html>`__ Tinc +- `packages/vpnc <packages/vpnc.html>`__ vpnc + +.. _System: + +System +------ + +.. _Dateisystem: + +Dateisystem +~~~~~~~~~~~ + +- `packages/cifsmount <packages/cifsmount.html>`__ cifsmount +- `packages/cryptsetup </wiki/packages/cryptsetup>`__ +- `packages/davfs2 <packages/davfs2.html>`__ WebDAV mit davfs2 +- `packages/e2fsprogs <packages/e2fsprogs.html>`__ e2fsprogs +- `packages/fstyp <packages/fstyp.html>`__ fstyp +- `packages/fuse <packages/fuse.html>`__ FUSE +- `packages/hd-idle <packages/hd-idle.html>`__ hd-idle +- `packages/lsof <packages/lsof.html>`__ lsof +- `packages/mini_fo <packages/mini_fo.html>`__ mini_fo +- `packages/nfs <packages/nfs.html>`__ NFS +- `packages/nfs-utils <packages/nfs-utils.html>`__ NFS-Utils / + NFS-Server +- `packages/nfsd <packages/nfsd.html>`__ NFSD_CGI +- `packages/ntfs-3g <packages/ntfs-3g.html>`__ NTFS-3G +- `packages/samba <packages/samba.html>`__ Samba +- `packages/usbroot <packages/usbroot.html>`__ USB-Root + +.. _HardwareanderBox: + +Hardware an der Box +~~~~~~~~~~~~~~~~~~~ + +- `packages/bfusb </wiki/packages/bfusb>`__ +- `packages/bluez-utils <packages/bluez-utils.html>`__ Bluez-Utils +- `packages/hd-idle <packages/hd-idle.html>`__ hd-idle +- `packages/pciutils <packages/pciutils.html>`__ pciutils +- `packages/sane-backends <packages/sane-backends.html>`__ SANE +- `packages/usbip <packages/usbip.html>`__ USB/IP +- `packages/usbutils <packages/usbutils.html>`__ usbutils + +.. _Verschiedenes: + +Verschiedenes +~~~~~~~~~~~~~ + +- `packages/syslogd <packages/syslogd.html>`__ Syslogd + +.. _Telefonie: + +Telefonie +--------- + +- `packages/callmonitor <packages/callmonitor.html>`__ Callmonitor +- `packages/dtmfbox <packages/dtmfbox.html>`__ DTMFBox +- `packages/espeak <packages/espeak.html>`__ eSpeak + +.. _verschiedeneTools: + +verschiedene Tools +------------------ + +- `packages/debootstrap <packages/debootstrap.html>`__ Debootstrap +- `packages/downloader <packages/downloader.html>`__ Downloader-CGI +- `packages/hol <packages/hol.html>`__ +- `packages/inetd <packages/inetd.html>`__ inetd +- `packages/nano-shell <packages/nano-shell.html>`__ Nano-Shell +- `packages/rudi-shell <packages/rudi-shell.html>`__ Rudi-Shell +- `packages/usbutils <packages/usbutils.html>`__ usbutils + +-------------- + +- Tags +- `packages <packages.html>`__ diff --git a/wiki/patch.rst b/wiki/patch.rst new file mode 100644 index 0000000..d505aa2 --- /dev/null +++ b/wiki/patch.rst @@ -0,0 +1,235 @@ +patch +===== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Aufbau eines Patches <patch.html#AufbaueinesPatches>`__ +#. `Erzeugen eines Patches <patch.html#ErzeugeneinesPatches>`__ +#. `Patch anwenden oder rückgängig + machen <patch.html#Patchanwendenoderrückgängigmachen>`__ +#. `Wie finde ich die zu patchende + Stelle? <patch.html#WiefindeichdiezupatchendeStelle>`__ +#. `Links <patch.html#Links>`__ + +.. _AufbaueinesPatches: + +Aufbau eines Patches +-------------------- + +Ein Patch ist eine Datei im Textformat, die für gewöhnlich die Endung +.patch (manchmal auf .diff) hat und eine Liste von Unterschieden +zwischen zwei Version einer Datei enthält. Patches enthalten nur +Unterschiede in Textdateien. Unterschiede in Binärdateien können nicht +gepatched werden. + +Zu Beginn eines Patch kann ein Kommentar stehen, der beschreibt wo der +Patch herkommt, wer daran mitgewirkt hat, welches Problem er löst usw. +Der eigentliche Beginn der Unterschiede wird durch ``---`` +gekennzeichnet. Für gewöhnlich enthält ein Patch 3 Zeilen Kontext vor +und nach jeder geänderten Zeile. Diese dienen als Referenz, so dass der +Patch auch noch angewendet werden kann falls an der zu patchenden Datei +eine Änderung vorgenommen wurde und die Zeilennummern nicht mehr korrekt +sind. + +.. code:: wiki + + Dieser Patch ist ein Beispiel und fügt menuconfig einen neuen Eintrag hinzu. + + Index: make/Config.in + =================================================================== + --- make/Config.in (Revision 7307) + +++ make/Config.in (Arbeitskopie) + @@ -51,6 +51,7 @@ + source make/netcat/Config.in + source make/nc6/Config.in + source make/netsnmp/Config.in + +source make/newpackage/Config.in + source make/nfs-utils/Config.in + source make/ntfs/Config.in + source make/openntpd/Config.in + +In den meisten Fällen lauten die 2 Dateinamen (hier make/Config.in) +gleich, manchmal Unterscheiden sie sich in der Endung (.orig), je +nachdem wie der Patch erstellt wurde. Im Beispiel ist also eine Änderung +an der Datei make/Config.in beschrieben. Konkret wurde hier ein neues +Paket *newpackage* geschrieben und soll jetzt dem menuconfig hinzugefügt +werden. Die fünfte Zeile des Patches enthält Informationen darüber wo +sich der zu patchende Abschnitt (hunk) in der Datei befindet und wie +viele Textzeilen der Patch verändert. Im Beispiel beginnt der Patch ab +Zeile 51 und fügt eine Zeile (7-6=1), gekennzeichnet durch ein ``+``, +hinzu. Man könnte also das gleiche Ergebnis erreichen, wenn man die +Datei make/Config.in in einem Texteditor öffnet und die Zeile +``source make/newpackage/Config.in`` an der beschriebenen Stelle +hinzufügt. + +.. _ErzeugeneinesPatches: + +Erzeugen eines Patches +---------------------- + +Man hat eine Datei (Config.in) geändert und difft sie gegen SVN: + +.. code:: wiki + + svn diff Config.in > Config.patch + +Alle Änderungen im Verzeichnis + Unterverzeichnisse: + +.. code:: wiki + + svn diff > all.patch + +Falls man neue Dateien angelegt hat müssen diese erst dem SVN +hinzugefügt werden: + +.. code:: wiki + + svn add Datei- oder Verzeichnisname + +.. _Patchanwendenoderrückgängigmachen: + +Patch anwenden oder rückgängig machen +------------------------------------- + +Patch anwenden: + +.. code:: wiki + + $ patch -p0 < Config.patch + patching file Config.in + $ + +Patch rückgängig machen: + +.. code:: wiki + + $ patch -Rp0 < Config.patch + patching file Config.in + $ + +Falls ihr so etwas seht: + +.. code:: wiki + + $ patch -p0 < Config.patch + patching file Config.in + Hunk #1 FAILED at 1. + 1 out of 1 hunk FAILED -- saving rejects to file Config.in.rej + +Dann passt der Patch nicht mehr und muss erneuert werden. + +- TODO (evtl. aus dem + `​ippf-Wiki <http://wiki.ip-phone-forum.de/software:ds-mod:howtos#patches_in_den_ds-mod_einspielen>`__ + kopieren) + +.. _WiefindeichdiezupatchendeStelle: + +Wie finde ich die zu patchende Stelle? +-------------------------------------- + +Auf diese Frage muss man primär antworten: Es kommt darauf an, worum es +geht. Weil das aber hier im Wiki natürlich nicht so befriedigend ist, +folgen ein paar Tipps von RalfFriedl am konkreten Beispiel von crond +bzw. dem Frotend dazu, nämlich dem crontab-Fenster im Freetz WebGUI. + +Da cron nicht ein extra Paket ist, sondern zum Freetz Basis-System +gehört, liegen die Dateien für cron unter dem Verzeichnis +"make/mod/root/files". Wenn es ein eigenes Paket wäre, z.B. inetd, wären +die Dateien unter "make/inetd/files/root". + +Im folgenden geht es darum, wie man die Web-Oberfläche von crontab +ändert und dann patcht. Am einfachsten findet man die Datei, wenn man +nach einem Text sucht, der sonst hoffentlich selten vorkommt, "crontab" +scheint hier ein guter Wert zu sein. + +.. code:: wiki + + $ grep -r crontab make 2> /dev/null | fgrep -v /.svn/ + make/mod/files/root/etc/init.d/rc.crond: cat /tmp/flash/mod/crontab /etc/cron.d/* /tmp/cron.d/* 2> /dev/null | + make/mod/files/root/etc/init.d/rc.crond: crontab -u root - + make/mod/files/root/etc/init.d/rc.crond: [ -r /tmp/flash/crontab.save ] && mv /tmp/flash/crontab.save /tmp/flash/mod/crontab + make/mod/files/root/etc/init.d/rc.crond: modreg file mod crontab 'crontab' 0 "crontab" + make/mod/files/root/etc/init.d/rc.crond: modunreg file mod crontab + make/mod/files/root/etc/default.mod/crontab.def:CAPTION='Freetz: crontab' + make/mod/files/root/etc/default.mod/crontab.def:CONFIG_FILE='/tmp/flash/mod/crontab' + +Das suchen in "make" ist nur für den Fall, dass man nicht sicher ist, in +welchem Verzeichnis sich die Dateien befinden. Wenn man weiss, daß cron +zum Hauptsystem gehört, kann man direkt in "make/mod/files" suchen, dann +geht es schneller. Die Umleitung "2> /dev/null" unterdrückt +Fehlermeldungen wegen nicht gefundener Dateien/Links. + +Die Ergebnisse in Dateien mit "/.svn/" im Pfad sind hier nicht von +Bedeutung. + +Der Text "crontab" kommt also in den Dateien rc.crond und crontab.def +vor. Das sagt uns leider noch nicht, was man machen muss, um eine Hilfe +auf die Seite zu bringen. Also suchen wir einmal nach "Hosts", weil auf +der Hosts-Seite schon eine Hilfe da ist. + +.. code:: wiki + + $ grep -r Hosts make 2> /dev/null | fgrep -v /.svn/ + ... + make/mod/files/root/etc/default.mod/hosts.def:CAPTION='Freetz: hosts' + root/etc/init.d/rc.mod: modreg file 'exhosts' 'Hosts' 1 "$deffile" + ... und noch viele andere Treffer + +Die Definitionsdatei, aus der der Text "hosts" kommt, ist also +make/mod/files/root/etc/default.mod/hosts.def. Schauen wir uns also mal +die Datei an: + +.. code:: wiki + + $ cat make/mod/files/root/etc/default.mod/hosts.def + CAPTION='Freetz: hosts' + DESCRIPTION='Syntax: <ip> <mac> <interface> <host> [<aliases|#description>]<br> + ($(lang de:"z.B.: 10.0.0.1 * * www.local mfh1 # Mein Server" en:"e.g. 10.0.0.1 * * www.local mfh1 # my server")) *="$(lang de:"nicht definiert" en:"not defined")"' + ... der Rest ist hier nicht von Bedeutung + +Wir sehen also, dass die Beschreibung aus dem Eintrag DESCRIPTION kommt, +der in der Datei make/mod/files/root/etc/default.mod/crontab.def nicht +vorhanden ist. Man muss also in der Datei +make/mod/files/root/etc/default.mod/crontab.def einen Eintrag +DESCRIPTION anlegen. + +Wenn man will, dass mehrere Sprachen mit $(lang …) unterstützt werden, +dann muss man auch sicherstellen, dass die Datei in der passenden Liste +hinterlegt ist. Dies ist die datei ".language" im Verzeichnis +make/<Paket>/files. + +Die Datei sieht so aus: + +.. code:: wiki + + $ cat .language + languages + { de en } + default + { en } + files + { + etc/default.mod/*.def + etc/init.d/rc.mod + usr/bin/modreg + ... + } + +Wir sehen hier, dass alle Dateien etc/default.mod/*.def schon inkludiert +werden und kein weiterer Eintrag notwendig ist. + +Die geänderte Datei ist in diesem Fall nur +make/mod/files/root/etc/default.mod/crontab.def und es geht weiter wie +unten beschrieben. + +Hintergrundinfos finden sich in diesem +`​IPPF-Thread <http://www.ip-phone-forum.de/showthread.php?p=1274104#post1274104>`__. + +.. _Links: + +Links +----- + +`​Wikipedia Artikel zu diff +(Englisch) <http://en.wikipedia.org/wiki/Diff>`__ `​Wikipedia Artikel zu +patch (Englisch) <http://en.wikipedia.org/wiki/Patch_(Unix)>`__ diff --git a/wiki/patches.rst b/wiki/patches.rst new file mode 100644 index 0000000..7670741 --- /dev/null +++ b/wiki/patches.rst @@ -0,0 +1,540 @@ +patches +======= +.. _FreetzPatches: + +Freetz Patches +============== + +- Die Größenabgaben (Platzeinsparung im komprimierten Dateisystem) sind + nur ungefähre Richtwerte und können von Version zu Version variieren. +- Es werden nur Patches angezeigt die für die ausgewählt FritzBox + nutzbar sind +- Die Auswirkungen eines Patches sind nicht unbedingt im + AVM-Webinterface sichtbar + += Web menu patches = + +Freetz **Funktionserweiterung-Patches** dienen dazu, das Verhalten der +FritzBox zu verbessern, indem einige Funktionen der Original-Firmware +verbessert oder erweitert werden. Neben diesem Überblick über die +**Patches** existiert noch `​ein Thread in +IPPF <http://www.ip-phone-forum.de/showthread.php?t=180289>`__, wo jeder +seine Lieblingskonfiguration posten kann. Diese +"Lieblingskonfigurationen" geben einen guten Richtwert dazu, welche +Patches in welcher Konfiguration sinnvoll und zu empfehlen sind. Denn +auch hier gilt auf keinen Fall die Regel "je mehr desto besser". + +**Name** + +**Beschreibung** + +**Größe** + +Patch VCC? + +Es kann der 2. VCC bearbeitet werden + +- + +Patch ATA? + +Es kann die ATA Konfiguration bearbeitet werden + +- + +`Patch enum <patches/enum.html>`__ + +Fügt dem WebIF Konfigurationsseiten für ENum hinzu + +- + +DSL settings? + +Es können mehr DSL Optionen bearbeitet werden + +- + +external SIP? + +Es können externe SIP verbindungen konfiguriert werden + +- + +`Patch 3rd alarm-clock <patches/alarmclock.html>`__ + +Fügt einen 3. Wecker zum AVM WebIF hinzu + +- + +`Patch webmenu signed message <patches/signed.html>`__ + +Entfernt den Hinweis auf "nicht unterstützte Modifikationen" aus dem AVM +WebIF + +- + += USB patches = + +Patches die die Funktionalität von USB Geräten beeinflussen + +**Name** + +**Beschreibung** + +**Größe** + +`Patch USB storage names <patches/usb_names.html>`__ + +Vergibt einheitliche Namen für USB-Speichermedien und verbessert +deutlich die Unterstützung der USB-Speichermedien + +- + +`Execute autorun <patches/exec_autorun.html>`__ + +Ermöglicht autorun.sh nach Mounten eines USB Speichermediums auszuführen + +- + +`FREETZMOUNT <patches/freetzmount.html>`__ + +Vergibt einheitliche Namen für USB-Speichermedien, verbessert deutlich +die Unterstützung der USB-Speichermedien, ermöglicht mounten nach LABEL. +FREETZMOUNT ist der Nachfolger vom USB-Storage-Patch und beinhaltet auch +autorun/autoend patch. Nach dem Umstieg zu FREETZMOUNT wird es empfohlen +das Paket fstyp manuell abzuwählen. + +- + +`Raise the count of connectable usb +devices <patches/maxdevcount.html>`__ + +Erhöht die Anzahl maximal anschließbarer USB-Devices auf 9 + +- + +`Multiple Printers <patches/multpile_printers.html>`__ + +Ermöglicht die Nutzung mehrere Drucker an der FritzBox + +- + +Modify UMTSD? + +Der umtsd wird nur für bekannte Modems gestartet und blockiert so +/dev/ttyUSB? nicht. + +- + +`Custom UDEV rules <patches/custom_udev_rules.html>`__ + +Es können eigene Regeln die UDEV auswertet hinterlegt werden. + +- + += Removal patches = + +Freetz **Remove-Patches** (auch Removes genannt) dienen dazu, Platz für +andere `Pakete <packages.html>`__ zu schaffen, indem nicht benötigte +Bestandteile der Original-Firmware entfernt werden. Neben diesem +Überblick über die **Remove-Patches** existiert noch `​ein Thread in +IPPF <http://www.ip-phone-forum.de/showthread.php?t=180289>`__, wo jeder +seine Lieblingskonfiguration posten kann. Diese +"Lieblingskonfigurationen" geben einen guten Richtwert dazu, welche +Removes in welcher Konfiguration sinnvoll und zu empfehlen sind. Denn +auch hier gilt auf keinen Fall die Regel "je mehr desto besser". Wenn +ein Freetz-Package eine Funktionalität ersetzt kann automatisch ein +Remove-Patch ausgewählt werden + +**Name** + +**Beschreibung** + +**Größe** + +Remove Annex X firmware file? + +Die entsprechende Annex Firmware wird entfernt. Es wird immer nur eine +benötigt, im ATA-Modus (z.B. Kabelanschlus) keine. + +je 335-745kB + +Remove v1/v2 piglet file(s)? + +Es wird nur eine Version abhängig von der Hardversion benötigt. + +? + +`Remove assistant <patches/remove_assistant.html>`__ + +Entfernt den Einrichtungs-Assistenten. Achtung! Dadurch ist die +automatische Einrichtung z.B. mit 1und1-Startcode nicht mehr möglich. + +ca. 50kB + +`Remove aura usb <patches/remove_aura_usb.html>`__ + +Entfernt die Unterstützung für den AVM-USB-Fernanschluss (hierfür hat +FREETZ das Paket `USB-IP <packages/usbip.html>`__ zu bieten) + +ca. 16kB + +Remove avalanche_usb.ko? + +??? + +ca. 60kB + +Remove AVM NAS Webinterface? + +Das AVM-NAS Webinterface wird entfernt und kann nicht mehr genutzt +werden. Entfernt auch den AVM-Media-Server (s. u.) + +ca. 390kB + +`Remove AVM vpn <patches/remove_vpn.html>`__ + +Entfernt AVM-VPN-Server (FREETZ bietet OpenVPN als Alternative) + +ca. 123kB + +Remove AVM web server? + +Der Webserver für das AVM-Webinterface wird entfernt und durch httpd +(immer in Freetz enthalten) ersetzt. (Zusammen mit UPnP kann auch die +libwebsrv.so library entfernt werden.) + +5(+38)kB + +Remove branding? + +Es können verschieden Brandings entfernt werden. Das auf der Box aktive +Branding darf nicht entfernt werden||? + +`Remove CapiOverTCP <patches/remove_capi.html>`__ + +Entfernt CapiOverTCP-Schnittstelle der FritzBox. Achtung! CapiOverTCP +wird von mehreren nützlichen PC-Programmen für den Zugriff auf die Box +benutzt! FritzFax nutzt z.B. diese Schnittstelle, um Faxe von PC aus +über die FritzBox zu verschicken + +ca. 10kB + +Remove chronyd? + +Der chronyd zur Zeitsynchronisation wird entfernt. Dessen Aufgabe +übernimmt dann multid. + +165-215kB + +Remove cdrom.iso? + +Die cdrom.iso wird entfernt. + +130-265kB + +Remove DECT files? + +Es können keine DECT Geräte mehr verbunden werden. + +20-360kB + +`Remove dsld <patches/remove_dsld.html>`__ + +Entfernt den DSL-daemon - die Box kann dann nur noch als IP-Client +verwendet werden. Achtung! Ohne dsld kann die Box keine DSL-Verbindung +aufbauen und auch "Internet über LAN" geht nicht mehr, weil der dsld +auch Firewall und NAT übernimmt. + +115-245kB + +Remove showdsldstat? + +Entfernt showdsldstat, ein Werkzeug mit dem der Status der +Internetverbindung (CPMAC-Modus, Verbindungszeit, DNS-Server und +Router), IPv6, VoIP und TR069 angezeigt werden kann. + +10-30kB + +Remove dtrace? + +Entfernt trace Debugging-Utility für den D-Kanal von ISDN + +85-225kB + +`Remove ftpd <patches/remove_ftpd.html>`__ + +Entfernt den AVM-FTP-Server (kann durch die Freetz-Pakete vsftpd oder +bftpd ersetzt werden) + +ca. 30kB + +`Remove help <patches/remove_help.html>`__ + +Entfernt die Online-Hilfe zum AVM-WebIF + +ca. 20kB + +Remove jffs2.ko? + +Entfernt das Kernelmodul für +`​JFFS2 <http://en.wikipedia.org/wiki/JFFS2>`__. Benötigt zur Nutzung +des optionalen, internen Speichers */data*, wo z.B. +Anrufbeantworterdaten und AVM-Plugins (7270_v1) gespeichert werden, +sofern die Firmware genügend Platz im Flash-Speicher frei gelassen hat +und kein USB-Speicher angeschlossen ist. + +144-192kB + +Remove lsof? + +Entfernt lsof. + +ca. 150kB + +`Remove mediasrv <patches/remove_mediasrv.html>`__ + +Entfernt den AVM-Media-Server + +ca. 40kB + +`Remove minid <patches/remove_minid.html>`__ + +Entfernt die Unterstützung für FritzMini + +ca. 215kB + +`Remove MyFritz <patches/remove_myfritz.html>`__ + +Entfernt das MyFritz Web Interface (AVM's DynDNS) + +ca. 1.1MB + +Remove NTFS support? + +AVM's NTFS Unterstützung wird entfernt. + +118-180kB + +Remove printserv? + +Die Fritzbox kann kein Druckserver mehr sein. + +15-20 kB + +Remove run_clock? + +Der Betriebsstundenzähler wird entfernt. + +10-15kB + +`Remove Samba <patches/remove_samba.html>`__ + +Entfernt den AVM-Samba-Server + +300-600kB + +Remove strace? + +Entfernt strace. + +ca. 440kB + +`Remove the support-files <patches/remove_support.html>`__ + +Entfernt die support-files, welche man über die URL +`​http://fritz.box/html/support.html <http://fritz.box/html/support.html>`__ +generieren und abspeichern kann. + +ca. 8kB + +`Remove tr069 stuff <patches/remove_tr069.html>`__ + +Entfernt tr069 (Remote-Konfiguration durch den Provider). Ohne tr069 ist +keine Einrichtung mit 1und1-Startcode möglich. + +ca. 70kB + +Remove UMTS support? + +Danach kann die FritzBox keine UMTS Verbindung mehr aufbauen. + +ca. 12kB + +`Remove UPnP daemon <patches/remove_upnp.html>`__ + +Entfernt den UPnP-daemon. Achtung! Ohne UPnP-daemon ist keine +Einrichtung von FritzFax möglich. + +ca. 10kB + +`Remove usermand <patches/remove_usermand.html>`__ + +| Entfernt die ausschließlich für die Kindersicherung benötigten Dateien + (usermand, userman.ko). +| Für die FBox **WLAN 3170** bitte diesen Patch nicht auswählen\ **, + ansonsten gibt es Dauerreboot.** + +ca. 40kB + +Remove AVM e2fsprogs binaries? + +Entfernt blkid, fsck, mkfs. + +ca. 220kB + +Remove VoIP files? + +Entfernt Daten für VoIP-Betrieb. + +ca. 250kB + +Remove VoIP & ISDN files? + +Entfernt vollständig neben dem VoIP-daemon noch die +Telefoniefunktionalität der Box. Achtung! Damit funktioniert die Box +dann **nicht** mehr als Telefonanlage. + +? + +Remove webdav? + +Entfernt die Dateien die für Webdav benötigt werden. + +10-510kB + +Remove WLAN files? + +Entfernt Daten für WLAN-Betrieb. + +ca. 700kB + += Replacement patches = + +**Name** + +**Beschreibung** + +**Größe** + +Replace AVM SSL Libs? + +Die SSL Libs von AVM werden ersetzt. + +ca. 400kB + +Replace dtrace? + +Statt dtrace wird ein eigenes `Script <packages/mod.html#dtrace>`__ (per +Telefoncode) ausgeführt. + +85-225kB + +`Replace onlinechanged <patches/replace_onlinechanged.html>`__ + +Onlinechanged wird durch eigenen IP-Watchdog angestoßen (geht auch auf +IP-Clients). + +- + += Additional patches = + +**Name** + +**Beschreibung** + +**Größe** + +Add Annex firmware file? + +Fügt eine Annex firmware ins Image ein. + +? + +Enforce urloader settings? + +Ändert das Environment des Urloaders. + +- + += Misc patches = + +**Name** + +**Beschreibung** + +**Größe** + +Change LED semantics to W920V? + +Passt die LEDs der Beschriftung vom Speedport an. + +- + +Disable serial console? + +Deaktiviert die Konsole am internen seriellen Port. + +- + += AVM daemons = + +**Name** + +**Beschreibung** + +**Größe** + +Disable igd/upnp? + +Es werden immer die Parameter gesetzt um dsld's IGD & multid's +UPNP-device zu deaktivieren. `Remove UPnP +daemon <patches/remove_upnp.html>`__ nutzt diese Option. + +- + +Disable ntp client? + +Die Sytemzeit wird nicht von multid gesetzt. Ausgewählt wenn chrony +vorhanden ist oder ein eigener Zeitserver wie zB OpenNTPd. + +- + +Disable IGMP? + +Der IGMP-Proxy von multid wird deaktiviert. + +- + +Disable tr069? + +Das tr069discover von multid wird abgeschaltet. Wird vom Patch `Remove +tr069 stuff <patches/remove_tr069.html>`__ automatisch ausgewählt. + +- + +Disable DNS? + +Der DNS-Port wird (mit Hilfe von libmultid) nicht von multid belegt. So +kann ein anderer DNS-Server genutzt werden, das Dynamic-DNS Update sowie +die Zeitsysnchronisation funktionieren weiterhin. + +- + += Invisible? patches = + +**Name** + +**Beschreibung** + +**Größe** + +`Onlinechanged <patches/onlinechanged.html>`__ + +Ermöglicht das Ausführen von Skripten bei einer Änderung des +Online-Statuses der Box + +- + +- Tags +- `patches <patches.html>`__ diff --git a/wiki/patches/alarmclock.rst b/wiki/patches/alarmclock.rst new file mode 100644 index 0000000..fdaf3f6 --- /dev/null +++ b/wiki/patches/alarmclock.rst @@ -0,0 +1,12 @@ +patches/alarmclock +================== +.. _Patchthirdalarm-clock: + +Patch third alarm-clock +======================= + +Durch diesen Patch wird dem AVM-Webinterface ein dritter Wecker +hinzugefügt. Dieser ist ohne den Patch nur per Telefon konfigurierbar. + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/custom_udev_rules.rst b/wiki/patches/custom_udev_rules.rst new file mode 100644 index 0000000..f7a205a --- /dev/null +++ b/wiki/patches/custom_udev_rules.rst @@ -0,0 +1,16 @@ +patches/custom_udev_rules +========================= +Mit diesem Patch werden 2 zusätzliche frei verwendbare rules erstellt +und nach /tmp/flash/mod/ verlinkt. Diese können mit dem Webinterface in +einem Unterpunkt von "Freetz" bearbeitet werden. + +- first (00-custom.rules): wird vor allen Regeln von AVM ausgeführt +- final (99-custom.rules): wird nach allen Regeln von AVM ausgeführt + +Damit können USB Geräte fest zugeordnet werden: + +.. code:: wiki + + SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="7CF6976", SYMLINK+="reader1" + SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="FDF4F0D", SYMLINK+="reader2" + SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="40ABBFF", SYMLINK+="lcd1" diff --git a/wiki/patches/enum.en.rst b/wiki/patches/enum.en.rst new file mode 100644 index 0000000..a4027c1 --- /dev/null +++ b/wiki/patches/enum.en.rst @@ -0,0 +1,12 @@ +patches/enum.en +=============== +`​ENUM <http://www.voip-info.org/wiki/view/ENUM>`__ can be used to +translate telephone numbers into IP addresses, much alike +`​DNS <http://en.wikipedia.org/wiki/Domain_Name_System>`__ is used to +translate domain names into IP adresses. This makes point-to-point +telephony possible (for example from Fritz!Box to Fritz!Box), bypassing +(internet) telephony companies. For this you need a working SIP server. +You can read `​here <http://www.wershoven.com/fritzbox/>`__ about how to +setup a SIP server and +`​here <http://www.wehavemorefun.de/fritzbox/index.php/Versteckte_Features#ENUM-Lookup>`__ +about changing the ENUM servers (both in German). diff --git a/wiki/patches/enum.rst b/wiki/patches/enum.rst new file mode 100644 index 0000000..25e8c85 --- /dev/null +++ b/wiki/patches/enum.rst @@ -0,0 +1,13 @@ +patches/enum +============ +`Englische Beschreibung <enum.en.html>`__ + +Dieser Patch macht in AVM-WebIf eine Konfigurationsmöglichkeit sichtbar, +mit der man die Fritzbox vor jedem ausgehenden Gespräch einen +`​ENUM <http://de.wikipedia.org/wiki/Telephone_Number_Mapping>`__-Lookup +machen lassen kann. Dies funktioniert jedoch nur mit Firmwares bis +Version xx.04.59, da AVM in den nachfolgenden Firmwares die Funktion +entfernt und bisher nicht wieder eingebaut hat. + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/exec_autorun.rst b/wiki/patches/exec_autorun.rst new file mode 100644 index 0000000..4ffcc68 --- /dev/null +++ b/wiki/patches/exec_autorun.rst @@ -0,0 +1,59 @@ +patches/exec_autorun +==================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Vorteile <exec_autorun.html#Vorteile>`__ +#. `Nachteile <exec_autorun.html#Nachteile>`__ + +.. _Executeautorun.shautoend.shscriptonunmount: + +Execute autorun.sh/autoend.sh script on (un)mount +================================================= + +Diese Funktion kann recht praktisch sein - birgt jedoch auch ihre +Tücken: Hat man "Automount" aktiviert, werden z.B. neu angesteckte +USB-Sticks automatisch eingebunden (Fachjargon: "gemountet"), und stehen +somit sofort zur Verfügung. Erlaubt man jetzt auch noch "Autorun", wird +eine im Wurzelverzeichnis des Sticks (also /var/media/ftp/uStorXY/) +befindliche ``autorun.sh`` anschließend auch ohne Rückfrage ausgeführt +(sowie ``autoend.sh`` beim Auswerfen des Sticks über das AVM WebIF). + + |/!\\| Falls ein Dateisystem mit Berechtigungen genutzt wird, müssen + die Dateien ausführbar gemacht werden. + +Diese Vor- und Nachteile sollten vor der Entscheidung abgewogen werden: + +.. _Vorteile: + +Vorteile +-------- + +- zusätzliche Module können durch einfaches Einstecken des Sticks + geladen werden +- Aktionen können ausgelöst werden - z.B. bei Einstecken eines Sticks + mit MP3 Dateien den MediaServer informieren, o.ä. + +.. _Nachteile: + +Nachteile +--------- + +- |/!\\| ein "böser Bube" könnte auf diese Weise in die Box eindringen, + ohne das Passwort zu kennen - sofern er "physischen Zugang" hat (also + ein USB-Gerät an die Box anschließen, bzw. ein für diesen Zweck + ständig verwendetes Medium modifizieren kann) + +.. _Hinweis: + +Hinweis +======= + +Dieser Patch ist in `Freetzmount <freetzmount.html>`__ eingeflossen. +Hier können die Einstellungen dazu im Webinterface vorgenommen werden. + +- Tags +- `patches <../patches.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/patches/freetzmount.en.rst b/wiki/patches/freetzmount.en.rst new file mode 100644 index 0000000..dc0b7e6 --- /dev/null +++ b/wiki/patches/freetzmount.en.rst @@ -0,0 +1,44 @@ +patches/freetzmount.en +====================== +.. _FREETZMOUNT: + +FREETZMOUNT +=========== + +#. Replaces and deselects usb-storage patch. The names of USB storage + directories can be defined by WebIF (default: uStorXY) or by volume + LABEL. +#. Replaces and deselects autorun.sh/ autoend.sh patch. + + - - autorun/ autoend behaviour can be activated/ deactivated via + WebIF. + - - autorun/ autoend are useful to start/ terminate applications + located on USB devices, e.g. apache, samba or even swapfiles, + after connecting or before disconnecting of USB devices. + +#. Auto-mounted USB storage devices will be fully accessible, e.g. it is + now possible to put user home directories (e.g. for FTP) on a + FAT32-formatted partition and permit shell and FTP users to actually + write to their own home directories. +#. Avoid deleting whole filesystems on USB devices. +#. Enhanced behaviour during mounting and unmounting. + +**Notes:** + +#. fstyp is not needed and can be deselected in Package-Selection → + Testing. +#. You should not externalize ef2progs or blkid onto the same USB + device(s) which you later want to use freetzmount for. + +Further information (in German) is available in the following threads of +the IP-Phone forum: + +- `​FREETZMOUNT: Mounten ohne 1000 und ein Mal zu + patchen <http://www.ip-phone-forum.de/showthread.php?t=200293>`__ +- `​/etc/hotplug/run_mount + modifizieren <http://www.ip-phone-forum.de/showthread.php?t=200293>`__ +- `​Skript für immer gleiche Mountpoints (auch nach Verlust des + Mounts) <http://www.ip-phone-forum.de/showthread.php?t=181859>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/freetzmount.rst b/wiki/patches/freetzmount.rst new file mode 100644 index 0000000..1f9eb95 --- /dev/null +++ b/wiki/patches/freetzmount.rst @@ -0,0 +1,47 @@ +patches/freetzmount +=================== +.. _FREETZMOUNT: + +FREETZMOUNT +=========== + +| **FREETZMOUNT** ist der Nachfolger-Patch vom ehemaligen + USB-Storage-Patch. Neben den Funktionen vom USB-Storage-Patch + beinhaltet er auch die autorun/autoend-Funktionalität (konfigurierbar + via Webinterface). +| FREETZMOUNT greift tiefer als die beiden Vorgänger-Patches in die + AVM-Mount-Struktur ein und lagert Teile der Mountskripte von + /etc/hotplug/storage und /etc/hotplug/run_mount in die FREETZ-eigene + Bibliothek /usr/lib/libmodmount.sh aus. Dadurch wird der + Wartungsaufwand für diese Patches reduziert, das Mount-Verhalten wird + für alle Box-/Firmware-Versionen vereinheitlicht. +| FREETZMOUNT ermöglicht das Mounten der Medien nach einem sogenannten + LABEL, einer einheitlicher Bezeichnung für die Medien. Dadurch wird + gewährleistet, dass das Medium (Partition) immer unter dem selben + Mount-Punkt zu finden sein wird (Bekämpfen vom uStor11-Problem). + +**Anmerkungen:** + +#. Bei der Auswahl des "mount-by-label"-Features wird fstyp nicht mehr + benötigt und kann abgewählt werden: Package-Selection → Testing → + fstyp. +#. Obwohl es eigentlich offensichtlich sein sollte, hier noch einmal zur + Verdeutlichung: + +| Ein Programm, welches für's Mounten in irgendeiner Art und Weise + zuständig ist, darf nicht auf einem zu mountenden Medium + externalisiert sein. +| Dazu gehören zum Beispiel e2fsck,ntfs-3g und blkid. + +Weiterführende Infos gibt es z.B. in folgenden Threads des +IP-Phone-Forums: + +- `​FREETZMOUNT: Mounten ohne 1000 und ein Mal zu + patchen <http://www.ip-phone-forum.de/showthread.php?t=200293>`__ +- `​/etc/hotplug/run_mount + modifizieren <http://www.ip-phone-forum.de/showthread.php?t=200293>`__ +- `​Skript für immer gleiche Mountpoints (auch nach Verlust des + Mounts) <http://www.ip-phone-forum.de/showthread.php?t=181859>`__ + +- Tags +- `hotplug </tags/hotplug>`__ diff --git a/wiki/patches/maxdevcount.rst b/wiki/patches/maxdevcount.rst new file mode 100644 index 0000000..29a4357 --- /dev/null +++ b/wiki/patches/maxdevcount.rst @@ -0,0 +1,10 @@ +patches/maxdevcount +=================== +.. _MaxDevCount: + +MaxDevCount +=========== + +Standardmäßig begrenzt die FritzBox die Anzahl maximal anschließbarer +USB-Geräte auf 3. Dieser Patch erhöht dieses Limit, sodass sich bis zu 9 +Geräte anschließen lassen. diff --git a/wiki/patches/multpile_printers.rst b/wiki/patches/multpile_printers.rst new file mode 100644 index 0000000..e0dd1b7 --- /dev/null +++ b/wiki/patches/multpile_printers.rst @@ -0,0 +1,56 @@ +patches/multpile_printers +========================= +.. _FritzBoxalsPrintserverfürmehrereDrucker: + +FritzBox als Printserver für mehrere Drucker +============================================ + +Dieser Patch baut auf der Idee aus `​diesem +Beitrag <http://www.ip-phone-forum.de/showthread.php?t=161756&p=1075666>`__ +auf, angeschlossene Drucker und den jeweiligen Printserver-Port mittels +des physikalischen USB-Ports aneinander zu koppeln. Damit ist eine feste +Zuordnung gewährleistet. + +| Da der AVM-Printserver jeweils zwei Ports belegt (n+1), wird immer ein + Port übersprungen: + +.. code:: wiki + + phys. USB-Port 0 => Port 9100 + phys. USB-Port 1 => Port 9102 + phys. USB-Port 2 => Port 9104 + ... + +Alle Drucker sollten an dem gleichen USB-Hub angeschlossen werden. +Prinzipiell sind mit Einschränkungen aber auch unterschiedliche Hubs +möglich. + +In der Übersicht "USB-Geräte" werden alle angeschlossenen Drucker mit +den vergebenen Printserver-Ports aufgelistet. + +Der Drucker am phys. USB-Port 0 (Port 9100) wird zudem - sofern +angeschlossen - immer als Standard-Drucker (Device-Node /dev/usblp0) +registriert. Das macht spätestens dann Sinn, wenn die Fritz Box mal +eigene Druckfunktionen (wie z.B. einen direkten Faxausdruck) mitbringen +sollte. + +.. _Einschränkungen: + +Einschränkungen +--------------- + +Der dargestellte Druckerstatus wechselt beliebig zwischen den +angeschlossenen Druckern. + +—by IPPF User thimo + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​http://www.ip-phone-forum.de/showthread.php?t=161756 <http://www.ip-phone-forum.de/showthread.php?t=161756>`__ +- `​http://www.ip-phone-forum.de/showthread.php?t=195811 <http://www.ip-phone-forum.de/showthread.php?t=195811>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/onlinechanged.rst b/wiki/patches/onlinechanged.rst new file mode 100644 index 0000000..1ca812f --- /dev/null +++ b/wiki/patches/onlinechanged.rst @@ -0,0 +1,53 @@ +patches/onlinechanged +===================== +.. _Onlinechanged: + +Onlinechanged +============= + +Dieses Feature ist ab `r2850 </changeset/2850>`__ (trunk) in Freetz und +wurde implementiert weil AVM in der Firmware 54.04.67 das Verhalten von +/bin/onlinechanged geändert hat. Bisher handelte sich bei +/bin/onlinechanged um ein Symlink auf das Skript /var/tmp/onlinechanged. +Die Entstehung kann in Ticket #271 (`#271 </ticket/271>`__) nachverfolgt +werden. + +Um das Verhalten zu vereinheitlichen gilt ab `r2850 </changeset/2850>`__ +für /bin/onlinechanged: Beim Wechsel des Online Status wird das Skript +vom multid mit online bzw. offline als Parameter aufgerufen und ruft +dann selbst folgende Skripte auf: + ++----+-----------------------------+------------------------------------+ +| 1. | /var/tmp/onlinechanged | Kompatibilität zum alten Verhalten | ++----+-----------------------------+------------------------------------+ +| 2. | /etc/onlinechanged/\* | neues AVM Verhalten | ++----+-----------------------------+------------------------------------+ +| 3. | /tmp/flash/onlinechanged/\* | Skripte im Freetz Flash | ++----+-----------------------------+------------------------------------+ + +Ein Skript in /etc/onlinechanged könnte zum Beispiel folgendermaßen +aussehen: + +:: + + #!/bin/sh + + case "$1" in + online ) + /etc/init.d/rc.package online + ;; + + offline ) + /etc/init.d/rc.package offline + ;; + esac + +An application: update external IP-address for dnsd: + +.. code:: wiki + + EXTIP="`/usr/bin/get_ip -d`" + sed "s/#EXTIP#/$EXTIP/g"</tmp/flash/dnsd/dnsd_template.conf >/tmp/flash/dnsd/dnsd.conf + modsave + /etc/init.d/rc.dnsd restart + logger -t dnsd "IP set to $EXTIP" diff --git a/wiki/patches/remove_assistant.rst b/wiki/patches/remove_assistant.rst new file mode 100644 index 0000000..4351d66 --- /dev/null +++ b/wiki/patches/remove_assistant.rst @@ -0,0 +1,16 @@ +patches/remove_assistant +======================== +.. _Removeassistant: + +Remove assistant +================ + +Der Einrichtungs-Assistent wird, wenn überhaupt, ohnehin nur bei der +erstmaligen Einrichtung der (neuen/jungfäulichen) Box benötigt. Um +einzelne Einstellungen zu verändern, steuert man diese später direkt an +- und ruft den Assistenten damit "nie wieder" auf. Ein guter Kandidat +also, um ohne Funktionsverlust ein paar Kilobyte im Image +"freizuschaufeln". + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_aura_usb.rst b/wiki/patches/remove_aura_usb.rst new file mode 100644 index 0000000..fa48dc8 --- /dev/null +++ b/wiki/patches/remove_aura_usb.rst @@ -0,0 +1,40 @@ +patches/remove_aura_usb +======================= +.. _RemoveauraUSB: + +Remove aura USB +=============== + +| Entfernt die Unterstützung für den USB-Fernanschluss (wiederum nur die + Dateien - nicht die Konfigurationspunkte im AVM WebIF). +| Als Ersatz für den AVM USB-Fernanschluss bietet sich das Freetz-Paket + `USB-IP <../packages/usbip.html>`__ an. + +.. _WasisteinUSB-Fernanschluss: + +Was ist ein USB-Fernanschluss? +------------------------------ + +Mittels des USB-Fernanschlusses lässt sich ein an der Box +angeschlossenes USB Gerät von jedem an die Box angeschlossenen +(Windows-) Computer so nutzen, als wäre es direkt an letzterem +angeschlossen - vorausgesetzt es sind die passenden Treiber auf dem +Computer installiert. So kann man z.B. einen USB-Drucker an die Box +anschließen, und diesen bei allen angeschlossenen Computern wie einen +lokalen Drucker benutzen. Gleiches gilt für USB Speichermedien, +USB-Scanner, usw. + +|(!)| Laut diversen Foren-Einträgen gibt es den passenden Treiber nur +für Windows - sodass Anwender mit einem Mac oder Linux im Dunkeln stehen +bleiben. Hat man also keinen Windows-PC, kann man auf "aura USB" +offensichtlich gut verzichten. + +Weitere Informationen zum USB-Fernanschluss der Fritzbox finden sich auf +den Seiten von +`​AVM <http://www.avm.de/de/News/artikel/portal-artikel/tipp_der_woche/81_usb_fernanschluss.html>`__. + +- Tags +- `patches <../patches.html>`__ + +.. |(!)| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/patches/remove_capi.rst b/wiki/patches/remove_capi.rst new file mode 100644 index 0000000..d86207e --- /dev/null +++ b/wiki/patches/remove_capi.rst @@ -0,0 +1,58 @@ +patches/remove_capi +=================== +.. _RemoveCapiOverTCP: + +Remove CapiOverTCP +================== + +Dieser Patch entfernt das Binary "capiotcpserver" (Größe 13 KB) aus der +Firmware. Dieses Binary lauscht normalerweise auf Port 5031. + +.. _CapiOverIPunterWindows: + +CapiOverIP unter Windows +------------------------ + +Unter Windows wird CapiOverIP u.a. benutzt von: + +- FritzFax +- OutLook Wählhilfe (zum Zugriff auf die die FritzBox) +- `​DisplayCall <http://www.lachenmann-net.de/displaycall/>`__] +- `​Phoner <http://www.phoner.de/>`__] + +.. _CapiOverIPunterLinux: + +CapiOverIP unter Linux +---------------------- + +Auch unter Linux lässt sich das CapiOverTCP nutzen, wie es `​dieses +Howto <http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:remotecapi>`__ +beschreibt, und zwar z.B. zum + +- Faxe versenden und empfangen mithilfe eines Soft-DSP +- Telefonieren mit Headset +- Verbinden mit Asterisk + +.. _CapiOverIPaufdemMac: + +CapiOverIP auf dem Mac +---------------------- + +Wenn hier jemand was weiß, bitte eintragen! + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​CapiOverTCP im + Fritzbox-Wiki <http://www.wehavemorefun.de/fritzbox/Nutzung_des_Capi-over-TCP_Server_der_Fritzbox>`__ +- `​AVM FAQ zu + Fritz!Fax <http://www.avm.de/de/Service/FAQs/FAQ_Sammlung/11843.php3>`__ +- `​a-sa Wiki: Faxen über die + Fritz!Box <http://a-sawicki.de/cms/index.php?option=com_content&task=view&id=38&Itemid=29>`__ +- `​Howto: CapiOverIp unter + Linux <http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:remotecapi>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_dsld.rst b/wiki/patches/remove_dsld.rst new file mode 100644 index 0000000..c148c67 --- /dev/null +++ b/wiki/patches/remove_dsld.rst @@ -0,0 +1,31 @@ +patches/remove_dsld +=================== +.. _Removedsld: + +Remove dsld +=========== + +Der DSLd ist "ein AVM-Deamon der sich um das DSL-Interface kümmert. Auf +der FBF 7050 macht er auch das NAT für alle Pakete die duch sein +Interface gehen." (Fritzbox-Wiki). Wer seine Box also nicht für die +DSL-Einwahl nutzt (sondern z.B. hinter einer anderen Fritzbox, die sich +um DSL etc. kümmert), kann durch Entfernen des DSLd ein wenig Platz im +Image schaffen. |<!>| Alle anderen sollten besser die Finger davon +lassen |;)| + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Fritzbox-Wiki: + DSLd <http://www.wehavemorefun.de/fritzbox/index.php/Dsld>`__ +- `​Blog: Fritz!Box + re-connect <http://blog.gauner.org/2008/03/19/fritzbox-reconnect/>`__ + +- Tags +- `patches <../patches.html>`__ + +.. |<!>| image:: ../../chrome/wikiextras-icons-16/exclamation-red.png +.. |;)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/patches/remove_ftpd.rst b/wiki/patches/remove_ftpd.rst new file mode 100644 index 0000000..65c417e --- /dev/null +++ b/wiki/patches/remove_ftpd.rst @@ -0,0 +1,23 @@ +patches/remove_ftpd +=================== +.. _RemoveFTPdeamonftpd: + +Remove FTP deamon (ftpd) +======================== + +Mit diesem Patch wird AVMs FTP Daemon entfernt. Auch wenn die regulären +Optionen für diesen im AVM WebIF nach wie vor verfügbar bleiben, ist +nach dem Entfernen des FTP Daemons kein Zugriff auf angeschlossene +Laufwerke per FTP mehr möglich! Dieser kann jedoch auch per +`bftpd <../packages/bftpd.html>`__ bzw. +`vsftpd <../packages/vsftpd.html>`__ konfiguriert werden - vorausgesetzt +natürlich, diese Pakete wurden auch installiert. + +|/!\\| Der Patch ist nur auswählbar, wenn vorher die Option *Show +Advanced Options* ausgewählt wurde. + +- Tags +- `patches <../patches.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/patches/remove_help.rst b/wiki/patches/remove_help.rst new file mode 100644 index 0000000..be4d208 --- /dev/null +++ b/wiki/patches/remove_help.rst @@ -0,0 +1,18 @@ +patches/remove_help +=================== +.. _Removehelp: + +Remove help +=========== + +Wer auf die Online-Hilfe von AVM nicht (mehr) angewiesen ist, kann diese +mit diesem Punkt aus dem Image entfernen lassen - und gewinnt damit ein +paar Kilobyte zusätzlichen Platz für andere Dinge. U.U. gibt es dann an +der einen oder anderen Stelle einen "hässlichen toten Link" - aber damit +lässt sich sicher leben |;)| + +- Tags +- `patches <../patches.html>`__ + +.. |;)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/patches/remove_mediasrv.rst b/wiki/patches/remove_mediasrv.rst new file mode 100644 index 0000000..389b98e --- /dev/null +++ b/wiki/patches/remove_mediasrv.rst @@ -0,0 +1,36 @@ +patches/remove_mediasrv +======================= +.. _RemoveMediaServerdaemonmediasrv: + +Remove MediaServer daemon (mediasrv) +==================================== + +Hiermit, oh Wunder, entfernt man den von AVM bereitgestellten +MediaServer - so man ihn denn nicht benötigt. Für das lokale Netzwerk +ist das ohnehin bei den meisten Boxen eine fragwürdige Angelegenheit - +verfügen diese doch nur über USB 1.1 zur Anbindung von Speichermedien, +was den Zugriff entsprechend langsam gestaltet. Liegen die Medien in +besserer Qualität vor, ist "Ruckeln" sicher bereits vorprogrammiert. +Nicht umsonst hat AVM seinen Stand-Alone MediaServer (siehe Link) mit +USB 2.0 ausgestattet. + +[STRIKEOUT:Wie auch bereits bei vielen anderen Patches, werden auch hier +lediglich die Dateien entfernt - das WebIF bleibt unangetastet.] Seit +`r3353 </changeset/3353>`__ (trunk) wird auch das Webinterface entfernt. + +.. _WeiterführendeLinks: + +Weiterführende Links +^^^^^^^^^^^^^^^^^^^^ + +- `​AVM zu seinem + MediaServer <http://www.avm.de/de/News/artikel/portal-artikel/tipp_der_woche/79_musikbox.html>`__ +- `​AVM: + Fritz!Media <http://www.avm.de/de/Produkte/FRITZ_Media/FRITZ_Media/index.php>`__ +- `​Toms Hardware: Fritz!Box mit + MediaServer <http://www.tomshardware.com/de/Fritz-3270-WLAN-Repeater-N-G-AVM-Mediaserver,news-240627.html>`__ +- `​Wikipedia (EN): + MediaServers <http://en.wikipedia.org/wiki/UPnP_AV_MediaServers>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_minid.rst b/wiki/patches/remove_minid.rst new file mode 100644 index 0000000..f47f02c --- /dev/null +++ b/wiki/patches/remove_minid.rst @@ -0,0 +1,34 @@ +patches/remove_minid +==================== +.. _Removeminid: + +Remove minid +============ + +Dieser Patch entfernt lediglich die Unterstützung für FritzMini - die +zugehörigen Einstellungen im AVM WebIF bleiben wiederum erhalten. + +.. _WasistFritzMini: + +Was ist FritzMini? +------------------ + +**FritzMini** ist ein WLAN Multimedia-Gerät der AVM GmbH, das sowohl als +VoIP Client als auch als Client für Web-Radio, Podcasts, Streaming vom +MediaServer, u.a.m. Verwendung findet. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Fritz!Mini im Fritzbox + Wiki <http://www.wehavemorefun.de/fritzbox/index.php/FRITZ!_Mini>`__ +- `​Fritz!Mini Artikel bei + PCWelt <http://www.pcwelt.de/start/dsl_voip/dsl/news/141186/internet_handy_fuer_zuhause/>`__ +- `​Fritz!Mini Produktseite bei + AVM <http://www.avm.de/de/Produkte/FRITZ_Mini/FRITZ_Mini/index.php>`__ +- `​http://www.fritzmini.de/ <http://www.fritzmini.de/>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_myfritz.rst b/wiki/patches/remove_myfritz.rst new file mode 100644 index 0000000..4a2bd56 --- /dev/null +++ b/wiki/patches/remove_myfritz.rst @@ -0,0 +1,35 @@ +patches/remove_myfritz +====================== +.. _RemoveMyFritz: + +Remove MyFritz +============== + +Dieser Patch entfernt das MyFritz Web Interface. + +.. _WasistMyFritz: + +Was ist MyFritz? +---------------- + +**MyFritz** ist AVMs DynDNS-Alternative für die FritzBox. AVM bietet für +Softwareversionen ab FRITZ!OS 05.20 einen eigenen DDNS-Dienst namens +MyFRITZ! an, der kostenfrei direkt aus dem Webinterface der FritzBox aus +eingerichtet werden kann. Direct aus dem WebIF kann man sich dafür einen +Account anlegen, und den Dienst einrichten. + +Wer diesen Dienst ohnehin nicht verwenden will, kann mit diesem +Remove-Patch ein gutes Megabyte Platz schaffen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​MyFRITZ! – DynDNS-Alternative für die + Fritz!Box <http://www.meintechblog.de/2012/02/myfritz-dyndns-alternative-fuer-die-fritzbox/>`__ +- `​MyFRITZ!-Konto registrieren und in FRITZ!Box + einrichten <http://avm.de/nc/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/966_MyFRITZ-Konto-registrieren-und-in-FRITZ-Box-einrichten/>`__ + (für die 7390) +- `​Myfritz.net <http://www.wehavemorefun.de/fritzbox/Myfritz.net>`__ + im AVM Wiki bei *WeHaveMoreFun.de* diff --git a/wiki/patches/remove_samba.rst b/wiki/patches/remove_samba.rst new file mode 100644 index 0000000..0618604 --- /dev/null +++ b/wiki/patches/remove_samba.rst @@ -0,0 +1,19 @@ +patches/remove_samba +==================== +.. _RemoveSambadaemonsmbd: + +Remove Samba daemon (smbd) +========================== + +Dieser Patch entfernt lediglich den Samba Daemon - die regulären +Optionen in AVMs WebIF bleiben unangetastet. + +|/!\\| **ACHTUNG:** Das Freetz Samba Paket ist kein vollständiger Ersatz +für dieses, sondern baut darauf auf - wer das Freetz Samba Paket nutzen +möchte, sollte den Samba Daemon hier **nicht** entfernen! + +- Tags +- `patches <../patches.html>`__ + +.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png + diff --git a/wiki/patches/remove_support.rst b/wiki/patches/remove_support.rst new file mode 100644 index 0000000..064eab9 --- /dev/null +++ b/wiki/patches/remove_support.rst @@ -0,0 +1,36 @@ +patches/remove_support +====================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Was wird entfernt? <remove_support.html#Waswirdentfernt>`__ + +.. _Removethesupport-files: + +Remove the support-files +======================== + +Entfernt die support-files, welche man über die URL +`​http://fritz.box/html/support.html <http://fritz.box/html/support.html>`__ +generieren und abspeichern kann. + +.. _Waswirdentfernt: + +Was wird entfernt? +------------------ + +| Mit dem Patch wird neben dem Code zur Generierung der support-files + auch die entsprechende Webseite im AVM WebGUI entfernt. +| Wenn man o.g. Link nach Entfernung der support-files aufruft, kommt + eine Meldung, dass die URL nicht gefunden werde: + + | **FRITZ!Box:** + | Die angegebene URL wurde nicht gefunden. + | Sie werden auf die Startseite der FRITZBox weitergeleitet. + | Falls Sie nicht automatisch auf die Startseite der FRITZBox + weitergeleitet werden, klicken Sie `​hier <http://fritz.box>`__. + +… und wird wieder auf die Startseite des AVM WebGUIs umgeleitet. + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_tr069.rst b/wiki/patches/remove_tr069.rst new file mode 100644 index 0000000..9eaac86 --- /dev/null +++ b/wiki/patches/remove_tr069.rst @@ -0,0 +1,98 @@ +patches/remove_tr069 +==================== +.. _Removetr069stuff: + +Remove tr069 stuff +================== + +"TR69 ist […] ein Protokoll, das die Kommunikation zwischen einem +Endgerät und einem Kontrollserver regelt." So beschreibt es ein +Blogeintrag (siehe unten). Verwendet wird dies bei der Fritzbox +einerseits um komplexe Einstellungen bei der Einrichtung der Box zu +automatisieren, andererseits damit der jeweilige Provider im Supportfall +auf die Konfiguration der Box beim Kunden zugreifen kann. Das geht von +der Veränderung einzelner Einstellungen bis hin zum Firmware-Upgrade +oder der Feststellung von Modifikationen. + +Zu den Nachteilen des aktivierten TR-069 siehe insbesondere die zweite +Seite des zweiten Artikels in unten stehender Link-Liste: Offensichtlich +ist TR-069 bei Fritzboxen ab Werk bereits aktiviert, so dass "Big +Brother" seinen Schnüffel-Zugang bereits einsatzbereit vorfindet. Wer +einmal das Helferscript */bin/supportdata* ansieht braucht sich nicht zu +wundern warum Modifikationen sofort vom Provider im Supportfall entdeckt +werden, genauso wie Dienste dritter (z.B. VoIP). + +Viele der im `FAQ <../FAQ.html>`__ beschriebenen `Gefahren beim Ersetzen +der SSL +libraries <../FAQ.html#NachdemFlashenistdasAVM-Webinterfacenichtmehrerreichbar>`__ +stehen auch in direktem Zusammenhang mit dem TR069 Dienst der scheinbar +zur HTTPS gesicherten Verbindung zum ACS Server die "originalen" AVM SSL +libraries braucht. Bei früheren Firmware Versionen reichte hier das +Deaktivieren von TR069, jedoch tauchen die Probleme bei neueren +Firmwares auch dann auf - vielleicht ein Indiz dafür das sich der Dienst +garnicht mehr ganz deaktivieren lässt. + +**Konflikte zwischen Freetz Modifikationen und TR069 tauchen meist erst +bei angeschlossenem DSL auf, wodurch sich das Problem leicht eingrenzen +lässt. Läuft eine Box stabil bis DSL angeschlossen bzw synchronisiert +wird dann hilft dieser Patch. Warnung unten beachten!.** + +Es ist also in vieler Hinsicht eventuell empfehlenswert, an dieser +Stelle von der Möglichkeit der kompletten Entfernung von TR-069 Gebrauch +zu machen. Wer also die Hilfestellung per TR-069 nicht dauerhaft +benötigt (oder garnicht wünscht), kann sich den "tr069 stuff" im Image +ersparen - und den freigewordenen Platz für andere Dinge nutzen. + +**Warnung:** Entfernt man TR069 funktioniert weder automatische +Einrichtung noch Startcode. Manche Provider haben komplizierte Multi-PVC +Einstellungen für Internet Telefonie die sich über das Webinterface in +der Form oft nicht eingeben lassen. Eine **manuelle Eingabe** +funktioniert oft auch ist aber von der Providerseite leicht zu erkennen +und wird oft in den AGBs als **nicht unterstützt** benannt (Bsp: 1und1). + +Auch zieht der Support im Fehlerfall eventuell jegliche +Kooperationbereitschaft zurück wenn nicht mit TR069 konfiguriert wurde +oder werden kann - bis hin zu angeblichem Garantieverlust des +gelieferten Gerätes. Im gebrandeten Webinterface solcher Provider ist +TR069 auch nicht abschaltbar. Daher empfiehlt sich folgende +Vorgehensweise: + +- Vor dem Modifizieren der Firmware einen Werksreset machen (ausser bei + Neugeräten). +- Falls das Gerät bereits modifiziert wurde Freetz Einstellungen + sichern und eine Recovery durchführen (vorher auf original Branding + einstellen!). +- Eventuell vorhandenen USB-Speicher entfernen. +- Die vom Provider empfohlene Einstellungsprozedur durchführen (Bsp: + Startcode bei 1und1). +- Nach erfolgreicher Einrichtung und funktionierender Telefonie vom DSL + trennen. +- Freetz Firmware mit entfernter TR069 Funktionalität aufspielen - ggf. + NUR Freetz Einstellungen wiederherstellen. +- DSL wieder anschliessen - Ruhe ist. +- Im Service Fall die Prozedur wiederholen (Ab Recovery). + +**Tip:** Bevor man seine Box modifiziert sollte man sich eine Kopie des +Environments machen um später vergleichen zu können. Das Environment +bleibt bei einer Recovery unverändert und enthält eventuell Spuren von +Modifikationen. Es gibt mehrere Methoden dies zu tun: + +- FTP auf ADAM2 und dort *PRINTENV* +- Uber telnet/ssh in die Box (hinterlässt Spuren ⇒ Werksreset danach) + und *cat /proc/sys/urlader/environment* + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Infos zu TR-069 <http://www.jodler.ch/bstocker/?p=335>`__ +- `​TR-069: Router-Plug-and-Play mit + Risiken <http://www.netzwelt.de/news/78076-tr-069-router-plug-and-play-mit-risiken.html>`__ +- `​Heise: TR-069 im laufenden + Betrieb <http://www.heise.de/netze/DSL-fernkonfiguriert--/artikel/99963/3>`__ +- `​IPPF Thread: tr069 verstehen und + nutzen <http://www.ip-phone-forum.de/showthread.php?t=146089>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/remove_upnp.rst b/wiki/patches/remove_upnp.rst new file mode 100644 index 0000000..50bcaf6 --- /dev/null +++ b/wiki/patches/remove_upnp.rst @@ -0,0 +1,73 @@ +patches/remove_upnp +=================== +Inhaltsverzeichnis +^^^^^^^^^^^^^^^^^^ + +#. `Was wird entfernt? <remove_upnp.html#Waswirdentfernt>`__ +#. `Was ist zu beachten? <remove_upnp.html#Wasistzubeachten>`__ +#. `Weiterführende Links <remove_upnp.html#WeiterführendeLinks>`__ + +.. _RemoveuPnPdaemon: + +Remove uPnP daemon +================== + +**uPnP** steht für "**u**\ niversal **P**\ lug\ **'n'P**\ lay". Hiermit +lassen sich, sofern aktiviert und freigegeben, von Clients auf Verlangen +Ports an der Box freischalten. Dies ist einerseits sicher ganz +praktisch, da man dies dann nicht mehr manuell in der Web-Oberfläche +erledigen muss - birgt aber auch seine Risiken: Auch ein Trojaner könnte +auf diese Weise seine "Autobahn-nach-Hause" schalten - siehe dazu auch +den Artikel `​Router hacken per +uPnP <http://forum.ubuntuusers.de/topic/router-hacken-mit-hilfe-von-upnp/>`__. +Bei aktiviertem uPnP auf der Box gibt man quasi die Kontrolle zumindest +ein gutes Stück ab. + +Einige AVM Software benötigt diese Funktionalität (u.a. FritzFax) - +andere Programme u.U. auch. Wer es hingegen nicht braucht, kann es hier +entfernen. Und wer sich dessen nicht ganz sicher ist, kann es ja +zunächst in der Web-Oberfläche deaktivieren und schauen, ob irgend ein +Programm schreit - passiert dies bis zum nächsten Firmware-Update nicht, +kann man den Kram dann rauswerfen |;)| + +.. _Waswirdentfernt: + +Was wird entfernt? +------------------ + +Mit dem Patch wird der uPnP Daemon (igdd) aus dem Image entfernt. +Außerdem werden die Init-Skripte angepasst, damit sie nicht über dessen +Fehlen stolpern. + +.. _Wasistzubeachten: + +Was ist zu beachten? +-------------------- + +Zum einen, wie schon oben erwähnt: Einige Software ist auf den uPnP +Server hier angewiesen - diese funktioniert dann mit großer +Wahrscheinlichkeit maximal noch eingeschränkt. + +Desweiteren sollte man vor Einspielen eines Images mit entferntem uPnP +Server sicherstellen, dass alle uPnP Features im aktuellen Image +deaktiviert wurden. Die entsprechenden Optionen finden sich unter +"Einstellungen ⇒ System ⇒ Netzwerkeinstellungen ⇒ Statusinformationen +über UPnP übertragen (empfohlen)". + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​Wikipedia: + uPnP <http://de.wikipedia.org/wiki/Universal_Plug_and_Play>`__ +- `​DSL Re-Connect per + uPnP <http://blog.jbbr.net/2008/01/03/fritzbox-schneller-reconnect-unter-linux/>`__ +- `​Router hacken per + uPnP <http://forum.ubuntuusers.de/topic/router-hacken-mit-hilfe-von-upnp/>`__ + +- Tags +- `patches <../patches.html>`__ + +.. |;)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/patches/remove_usermand.rst b/wiki/patches/remove_usermand.rst new file mode 100644 index 0000000..41547b9 --- /dev/null +++ b/wiki/patches/remove_usermand.rst @@ -0,0 +1,30 @@ +patches/remove_usermand +======================= +.. _Removeusermanduserman.ko: + +Remove usermand & userman.ko +============================ + +Hiermit wird die Kindersicherung der Fritzbox entfernt. Wer alt genug +ist, und noch keinen "gefährlichen" oder "gefährdeten" Nachwuchs im +Hause hat, kann auf selbigen sicher verzichten. Und falls der Nachwuchs +bereits zu schlau dafür ist, und die Kindersicherung umgeht - naja, dann +braucht man sie wohl auch nicht mehr? + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​AVM: + Kindersicherung <http://www.avm.de/de/News/artikel/newsletter/tipp_kindersicherung.html>`__ +- `​Computerbild zur + Kindersicherung <http://www.computerbild.de/artikel/cb-Ratgeber-Kurse-DSL-WLAN-Ratgeber-Fritz-Box-optimal-einstellen_468382.html>`__\ (damit + kann man die Kleinen auch vor dem Zugriff auf selbige Website + schützen |;)|) + +- Tags +- `patches <../patches.html>`__ + +.. |;)| image:: ../../chrome/wikiextras-icons-16/smiley-wink.png + diff --git a/wiki/patches/remove_vpn.rst b/wiki/patches/remove_vpn.rst new file mode 100644 index 0000000..cea401b --- /dev/null +++ b/wiki/patches/remove_vpn.rst @@ -0,0 +1,44 @@ +patches/remove_vpn +================== +.. _RemoveAVMvpn: + +Remove AVM vpn +============== + +Hiermit wird, wer hätte das gedacht, der von AVM implementierte VPN +Service entfernt. Wiederum sind lediglich die Dateien betroffen, nicht +aber die Einstellungen im WebIF. + +Ein Entfernen macht hier sicherlich dann Sinn, wenn man entweder gar +kein VPN nutzt - oder aber lieber auf +`OpenVPN <../packages/openvpn.html>`__ setzen möchte - welches ja als +Paket angeboten wird. + +.. _WasistVPN: + +Was ist VPN? +------------ + +Für diejenigen, die zuvor gern noch wissen möchten, auf was sie da +eigentlich verzichten: **VPN** steht für **V**\ irtual **P**\ rivate +**N**\ etwork. Kurz, platt, und stark vereinfacht beschrieben: Damit +lassen sich zwei Netze zu einem (virtuellen) verschmelzen. Wird oft +genutzt, damit sich z.B. Außendienstmitarbeiter ins Firmennetz +einklinken können. Wer's genauer wissen will, kann z.B. bei +`​Wikipedia <http://de.wikipedia.org/wiki/Virtual_Private_Network>`__ +nachlesen. + +.. _WeiterführendeLinks: + +Weiterführende Links +-------------------- + +- `​AVM zum VPN auf der Fritz!Box <http://www.avm.de/vpn>`__ (mit + detaillierter Info zur Einrichtung etc.) +- `​Wikipedia: + VPN <http://de.wikipedia.org/wiki/Virtual_Private_Network>`__ +- Unsolved problem: `​AVM WebIF: no response + anymore <http://www.ip-phone-forum.de/showthread.php?t=233204>`__ + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/replace_onlinechanged.rst b/wiki/patches/replace_onlinechanged.rst new file mode 100644 index 0000000..1d7a647 --- /dev/null +++ b/wiki/patches/replace_onlinechanged.rst @@ -0,0 +1,61 @@ +patches/replace_onlinechanged +============================= +.. _Replaceonlinechanged: + +Replace onlinechanged +===================== + +Dieser Patch sorgt dafür, daß die Onlinechanged-Skripten von + +- AVM-Diensten (Verzeichnis */etc/onlinechanged*), +- Freetz-Paketen (Verzeichnis */etc/onlinechanged*), +- Onlinechanged-CGI (Skript */tmp/flash/onlinechanged-cgi*) und +- manuell angelegten Skripten (Verzeichnisse */tmp/onlinechanged* und + */tmp/flash/onlinechanged*) + +von einem eigenen IP-Watchdog angestoßen werden statt vom AVM *multid*. + +Vorteile dieser Methode gegenüber dem AVM-Mechanismus sind: + +- Sie funktioniert im Gegensatz zur AVM-Methode auch auf Geräten, die + keine eigene Internet-Verbindung (z.B. via DSL oder PPPoE) aufbauen, + also auf Geräten hinter einem NAT (z.B. bei "Internetverbindung + mitbenutzen"). +- In Problemfällen, wo AVM Onlinechanged nicht zuverlässig funktioniert + (siehe entsprechendes + `​IPPF-Thema <http://www.ip-phone-forum.de/showthread.php?t=231873>`__) + bietet dieser Patch eine zuverlässige Alternative. + +Mehr Hintergründe zur Funktionsweise siehe Hilfetext in +`patches/Config.in </browser/trunk/patches/Config.in?rev=8350#L1076>`__\ `​ </export/8350/trunk/patches/Config.in#L1076>`__. + +.. _FAQ: + +`FAQ <../FAQ.html>`__ +--------------------- + +AVM Onlinechanged konnte man auch manuell von der Konsole aus aufrufen +via ``onlinechanged online``. Wie geht das beim IP-Watchdog, der doch +ständig im Hintergrund läuft? + + Ganz einfach: ``killall ip_watchdog``. Der Befehl beendet die + laufende Instanz, ``init`` startet den Watchdog daraufhin sofort neu + (wegen der Direktive "respawn" in */etc/inittab*). Das führt dazu, + daß sämtliche Onlinechanged-Skripten einmal ausgeführt werden. Danach + läuft es dann normal weiter, d.h. der erneute Aufruf der Skripten + erfolgt erst dann wieder, wenn sich die externe IP-Adresse ändert. Im + Gegensatz zu ``onlinechanged online`` (geht sowieso nur ohne diesen + Patch) oder ``/bin/onlinechanged.sh online`` (geht auch mit diesem + Patch) sorgt die Killall-Methode dafür, daß alles sauber + initialisiert wird (z.B. ``IPADDR``, vgl. auch nächste Frage). + +Wie ermittle ich in eigenen Onlinechanged-Skripten die externe +IP-Adresse? + + Der IP-Watchdog ermittelt sie sowieso und übergibt sie in der + Umgebungsvariablen ``IPADDR``, welche man in den entsprechenden + Skripten verwenden kann. Das spart Aufrufe von *get_ip* und somit + ggf. auch Anfragen an externe STUN-Server. Dadurch wird auch ein + Caching der IP-Adresse überflüssig. Die Variable ``IPADDR`` wird + übrigens auch im AVM-Original von *multid* bei Aufruf von + *onlinechanged* gesetzt. diff --git a/wiki/patches/signed.rst b/wiki/patches/signed.rst new file mode 100644 index 0000000..397086b --- /dev/null +++ b/wiki/patches/signed.rst @@ -0,0 +1,19 @@ +patches/signed +============== +.. _PatchWebmenuSignedMessage: + +Patch Webmenu Signed Message +============================ + + **"In Ihrer FRITZBox wurden vom Hersteller nicht unterstützte + Änderungen durchgeführt."** + +Wenn Ihr diesen Schriftzug in der Weboberfläche weg bekommen wollt, dann +solltet ihr diesen Patch auswählen. + +Details und Hintergründe dazu gibt es in einem Artikel von Alexander +"`Wie die Fritz!Box Manipulationen +erkennt <../help/howtos/development/manipulation_detection.html>`__". + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/patches/usb_names.rst b/wiki/patches/usb_names.rst new file mode 100644 index 0000000..c8bd193 --- /dev/null +++ b/wiki/patches/usb_names.rst @@ -0,0 +1,25 @@ +patches/usb_names +================= +.. _PatchUSBstoragenamesmakeFATfilesystemsworld-writableautomountfeature: + +Patch USB storage names, make FAT filesystems world-writable, automount feature +=============================================================================== + +Hinter diesem Menüpunkt verstecken sich gleich eine ganze Reihe von +Modifikationen. Einige davon sind auch bereits per Default aktiviert - +es ist empfehlenswert, sie auch aktiviert zu lassen! + +Was passiert nun im einzelnen? + +- das USB-Storage Verzeichnis wird umbenannt in uStorXY +- auf automatisch eingebundene USB Speichermedien besteht voller + Zugriff - man kann also z.B. auch "home directories" (z.B. für FTP) + hier anlegen, und den betroffenen Benutzern dort Schreibzugriff geben +- das (versehentliche) Löschen des gesamten USB Dateisystems wird + unterbunden + +Dieser Patch ist in freetzmount eingeflossen und steht nicht mehr zur +Verfügung. + +- Tags +- `patches <../patches.html>`__ diff --git a/wiki/style.rst b/wiki/style.rst new file mode 100644 index 0000000..0f25221 --- /dev/null +++ b/wiki/style.rst @@ -0,0 +1,46 @@ +style +===== +.. _Aussehen: + +Aussehen +======== + +Momentan gibt es nur ganz wenige Möglichkeiten, das Aussehen von FREETZ- +oder auch von AVM-Webinterface zu verändern. Bei AVM hängt es damit +zusammen, dass man die Urheberrechte von AVM auf ihre Webseiten nicht +verletzen will. Bei FREETZ-WebIF ist es mehr historisch gewachsen: Bei +der Vielfalt der vorhandenen Pakete ist es momentan nur schwer denkbar +globale Änderungen im WebIF-Design durchzuführen. + ++-----------------------+-----------------------+-----------------------+ +| **Bezeichnung** | **Beschreibung** | **Größe** | ++-----------------------+-----------------------+-----------------------+ +| FREETZ-WebIF-Breite? | Breite von | - | +| | FREETZ-Webinterface | | +| | verändern | | ++-----------------------+-----------------------+-----------------------+ +| `Favicons <style/favi | Ein Favicon ist ein | - | +| cons.html>`__ | kleines Icon, Symbol | | +| | oder Logo, das in der | | +| | Adresszeile eines | | +| | Browsers links von | | +| | der URL angezeigt | | +| | wird | | ++-----------------------+-----------------------+-----------------------+ +| `mounted.cgi <style/m | Darstellung der | - | +| ounted.html>`__ | eingebundenen Medien | | +| | / Partitionen | | ++-----------------------+-----------------------+-----------------------+ +| `Tagging <style/taggi | Das Logo im | - | +| ng.html>`__ | AVM-Webinterface wird | | +| | als "getaggt". So | | +| | kann schneller | | +| | erkannt werden ob | | +| | Freetz installiert | | +| | ist. | | ++-----------------------+-----------------------+-----------------------+ +| `Skins <style/skins.h | Aussehen des | - | +| tml>`__ | Freetz-Webinterfaces. | | +| | Menüposition, Farben | | +| | usw. | | ++-----------------------+-----------------------+-----------------------+ diff --git a/wiki/style/favicons.rst b/wiki/style/favicons.rst new file mode 100644 index 0000000..a7b2d69 --- /dev/null +++ b/wiki/style/favicons.rst @@ -0,0 +1,110 @@ +style/favicons +============== +.. _Favicons: + +Favicons +======== + +Aus WIKIPEDIA: Ein Favicon (kurz für favourite icon, engl. für +Favoriten-Symbol) ist ein kleines, 16×16 oder 32×32 Pixel großes Icon, +Symbol oder Logo, das unter anderem in der Adresszeile eines Browsers +links von der URL angezeigt wird und meist dazu dient, die zugehörige +Website auf wiedererkennbare Weise zu kennzeichnen. Es taucht auch in +der Lesezeichenleiste (Favoriten), bei den Registerkarten (oder Tabs) +und unter Windows beim Speichern einer Seite auf dem Desktop auf. Das +Favicon wurde von Microsoft mit dem Internet Explorer 4 eingeführt. + +Die Favicons werden sowohl bei AVM-WebIF, als auch bei FREETZ-WebIF +angezeigt. Zur Zeit können folgende Einstellungen für Favicons im +menuconfig ausgewählt werden: + +.. _FreetzWebinterface: + +Freetz Webinterface +------------------- + +none +~~~~ + +Keine Favicons. Das ist die Default-Einstellung. + +atomphil +~~~~~~~~ + +.. figure:: /screenshots/138.jpg + :alt: Favicon atomphil + + Favicon atomphil + +cuma +~~~~ + +.. figure:: /screenshots/132.png + :alt: Favicon cuma + + Favicon cuma + +dsl123 +~~~~~~ + +.. figure:: /screenshots/133.png + :alt: Favicon dsl123 + + Favicon dsl123 + +hansolo +~~~~~~~ + +.. figure:: /screenshots/134.png + :alt: Favicon hansolo + + Favicon hansolo + +.. _AVMWebinterface: + +AVM Webinterface +---------------- + +.. _none1: + +none +~~~~ + +Keine Favicons. Das ist die Default-Einstellung. + +.. _atomphil1: + +atomphil +~~~~~~~~ + +Es wird das original AVM-Favicon genutzt + +.. _cuma1: + +cuma +~~~~ + +.. figure:: /screenshots/140.jpg + :alt: AVM Icon cuma + + AVM Icon cuma + +.. _dsl1231: + +dsl123 +~~~~~~ + +.. figure:: /screenshots/139.jpg + :alt: AVM Icon dsl123 + + AVM Icon dsl123 + +.. _hansolo1: + +hansolo +~~~~~~~ + +.. figure:: /screenshots/141.jpg + :alt: AVM Icon hansolo + + AVM Icon hansolo diff --git a/wiki/style/mounted.rst b/wiki/style/mounted.rst new file mode 100644 index 0000000..4da5fb6 --- /dev/null +++ b/wiki/style/mounted.rst @@ -0,0 +1,47 @@ +style/mounted +============= +.. _Aussehenvonmounted.cgi: + +Aussehen von mounted.cgi +======================== + +Das Aussehen von mounted.cgi (Balken für die Größe der internen und +eingebundenen Medien) kann in menuconfig festgelegt werden. Folgende +Darstellungsarten sind möglich: + +.. _Farbig: + +Farbig +------ + +Überwiegend grüne Balken, die nach dem Mount-zustand ihre Farbe in +dunkelblau verändern können. Andere Informationen sind durch +unterschiedliche Farben gekennzeichnet. Wer in seinem Hirn einen +ausgebildeten Farbenfilter als Unterscheidung zwischen diversen +Informationen eingebaut pflegt, der wird es schätzen. Für besonders +Farbempfindliche unter uns, die durch eine bunte Farbenvielfalt in den +Wahnsinn getrieben werden, wird diese Einstellung nicht emfohlen. + +.. figure:: /screenshots/135.png + :alt: mounted.cgi farbig + + mounted.cgi farbig + +.. _Grau: + +Grau +---- + +Wird für farbblinde und für besonders farbempfindliche Personen +empfohlen. In diesem Design wurde versucht durch die Grauskala die +Vielfalt der bunten Farben möglichst getreu nachzubilden. Ob es +letztendlich überall gelungen ist, darüber lässt sich bekanntlich +streiten. Dies war nicht mein Favorit bei der Anpassung von mounted.cgi +und wurde lediglich auf eine besondere Anfrage im Forum und aus +historischen Gründen basierend auf einem entsprechenden Patch in FREETZ +übernommen. + +.. figure:: /screenshots/136.png + :alt: mounted.cgi grau + + mounted.cgi grau diff --git a/wiki/style/skins.rst b/wiki/style/skins.rst new file mode 100644 index 0000000..60b1b75 --- /dev/null +++ b/wiki/style/skins.rst @@ -0,0 +1,41 @@ +style/skins +=========== +.. _Skins: + +Skins +===== + +Momentan stehen 3 Skins zu Auswahl. Im Menuconfig unter ``Advanced`` +können die zu installierenden Skins ausgewählt werden. Im Webinterface +unter ``Freetz`` kann zwischen den installieren Skins umgeschaltet +werden. + +.. _Aussehen: + +Aussehen +-------- + +.. _Legacy: + +Legacy +~~~~~~ + +.. figure:: /screenshots/240.jpg + :alt: + +.. _Phoenix: + +Phoenix +~~~~~~~ + +.. figure:: /screenshots/241.jpg + :alt: + +.. _Newfreetz: + +Newfreetz +~~~~~~~~~ + +.. figure:: /screenshots/242.jpg + :alt: + diff --git a/wiki/style/tagging.rst b/wiki/style/tagging.rst new file mode 100644 index 0000000..62199b0 --- /dev/null +++ b/wiki/style/tagging.rst @@ -0,0 +1,9 @@ +style/tagging +============= +.. _Tagging: + +Tagging +======= + +Im Webinterface wird über AVM's "Fritz" Logo der Schriftzug "Freetz MOD" +gelegt diff --git a/wiki/ticket.rst b/wiki/ticket.rst new file mode 100644 index 0000000..fccc8f7 --- /dev/null +++ b/wiki/ticket.rst @@ -0,0 +1,105 @@ +ticket +====== +.. _WassollteichbeiderErstellungeinesneuenTicketsbeachten: + +Was sollte ich bei der Erstellung eines neuen Tickets beachten? +--------------------------------------------------------------- + +|/!\\| **Grundsätzlich**: Das Bug-Tracking-System (BTS) ist primär für +**Bug-Reports** und **Erweiterungen** vorgesehen. **Support** gibt es im +`​IP-Phone-Forum +(IPPF) <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ oder +`IRC <help/irc.html>`__. + +- Bitte nicht vergessen: Entwickler und User wollen sich einen + **schnellen Überblick** im BTS verschaffen. + Wir bitten um etwas Disziplin in den Kommentaren, da sonst die + Lesebereitschaft und auch die Qualität des BTS leidet. + +- Vorsicht: Tickets können **nicht gelöscht** werden, daher bitte erst + unten aufgelistete Punkte abklären, dann Ticket erstellen |:-)|. + +- Bitte prüfen **bevor** ein **neues Ticket** erstellt wird: + + - **Reproduzierbarkeit**: + Tritt der Fehler immer noch auf: + + - wenn auf die aktuellste Revision aus dem SVN-Repository + geupdatet wird (``svn up``) + - wenn nochmals frisch (Quellcode vorher löschen) ausgechecked + wird? + - wenn anstatt alter exisitierender ".config" eine neue mittels + ``make menuconfig`` erstellt wird? + - nach einem ``make dirclean`` oder ``make clean``? + + - **IRC ##fritzbox**: + Bitte nachfragen im offiziellen `IRC <help/irc.html>`__ + Support-Channel (evtl. lässt sich das Problem direkt im Chat + lösen). + - **IPPF-Forum**: Zuerst das offizielle + `​Forum <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ + konsultieren (evtl. wurde dort schon das Problem geposted). + - Bitte auch die Liste der **offenen Tickets** `hier </report/9>`__ + inspizieren, um doppelte Einträge zu vermeiden. + +- Bitte einen **aussagekräftigen Titel** für das Ticket auswählen. + Dieser sollte eine kurze und exakte Beschreibung des Problems + enthalten. + +- Hilfreich zum **Eingrenzen des Problems** (Liste evtl. + unvollständig). Im Falle eines Tickets vom Typ **defect** sind die + hinten mit **[d]** markierten Punkte **zwingend notwendig**, Tickets + ohne entsprechende Anhänge/Informationen werden kommentarlos als + invalid geschlossen: + + - FritzBox Modell (z.B. FRITZBox Fon WLAN 7170) **[d]** + - Firmware-Version (z.B. 29.04.87) **[d]** + - verwendete Freetz-Version bzw. SVN-Branch (z.B. trunk) und + Revision (z.B. `r7300 </changeset/7300>`__) **[d]** + - nachvollziehbare Fehlerbeschreibung (siehe + `​Fehlerberichte <http://www.chiark.greenend.org.uk/~sgtatham/bugs-de.html>`__ + und `​Wie man Fragen richtig + stellt <http://www.tty1.net/smart-questions_de.html>`__) + - Beschreiben was man bisher versucht hat (mit und ohne Erfolg) + - Dateianhänge (bitte nicht als Verweis auf eine Pastebin-URL): + + - Konfigurationsdatei ".config" aus dem Freetz + Quellcode-Verzeichnis (z.B. als freetz-config.txt) **[d]** + - Output-Dateien von Debug-Werkzeugen wie strace, ltrace, lsof, + gdb etc. + - Supportdatei (Freetz Webinterface → System → Supportdatei + erstellen) + + - Weitere wichtige Felder: + + - Typ (Fehler, Erweiterung, Aufgabe oder Versionssprung) + - Komponente (betroffene Komponente) + - Die Felder Priorität und Meilenstein werden von den Entwicklern + festgelegt. + +- Die Bereitstellung eines **Patch** kann die Fehlerbehebung unter + Umständen erheblich beschleunigen. + + - `Patch How-to <patch.html>`__ (noch Work-In-Progress) + +- **Rückmeldung und Testen** von bereitgestellten Patches und/oder + Lösungsmöglichkeiten trägt zum erfolgreichen Abschluss eines Tickets + bei. + Bitte Aktivitäten im Ticket mitverfolgen, hilfreich "Watch page" + Funktion. + +- TIPP: Beim **Editieren** gibt es eine Vorschau-Funktion + (**Preview**). Bitte damit den Eintrag vorher testen und somit + unleserliche Einträge vermeiden. + +- Werden die Daten im Ticket als "ungenügend" oder "formal falsch" + betrachtet, so wird es auf Status "**invalid**" (ungültig) gesetzt. + +- Quellcode, Logausgaben usw in {{{ }}} einschließen, siehe + `WikiFormatting <WikiFormatting.html>`__ + +`Neues Ticket erstellen </newticket>`__ + +.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png + From 1a85ba2bb7d15146f413c9708806a5919ac02719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 14:27:56 +0100 Subject: [PATCH 03/13] Add deployment to GitHub pages --- .travis.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 17eaa98..387ce11 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,17 @@ cache: pip python: - "2.7" -install: +install: - pip install -r requirements.txt script: - sphinx-build -Wa . _build/html + +deploy: + provider: pages + local-dir: _build/html/ + skip-cleanup: true + github-token: $GITHUB_TOKEN # Set in the settings page of your repository, as a secure variable + keep-history: true + on: + branch: master From ed678db65b35ad998314c9230dff573df6482155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 15:23:07 +0100 Subject: [PATCH 04/13] Remove trac indexes --- extract-content.py | 3 + index.rst | 93 ++--- wiki/Download.rst | 30 -- wiki/FAQ.en.rst | 108 ------ wiki/FAQ.rst | 151 -------- wiki/common/source_code.rst | 8 - wiki/help/fritz_faq.rst | 23 -- wiki/help/howtos.rst | 8 - wiki/help/howtos/common.rst | 310 ---------------- wiki/help/howtos/common/busybox_httpd.rst | 123 ------- wiki/help/howtos/common/freetz_linux.rst | 17 - wiki/help/howtos/common/install.en.rst | 50 --- wiki/help/howtos/common/install.rst | 45 --- .../help/howtos/common/install/menuconfig.rst | 45 --- wiki/help/howtos/common/newbie.en.rst | 30 -- wiki/help/howtos/common/newbie.rst | 31 -- wiki/help/howtos/common/newbie/errors.rst | 10 - wiki/help/howtos/common/shutdown.rst | 20 -- wiki/help/howtos/common/user.rst | 11 - wiki/help/howtos/common/wol.rst | 12 - wiki/help/howtos/development/adam2.rst | 330 ------------------ .../development/analyse_image_names.rst | 330 ------------------ .../howtos/development/compile_own_progs.rst | 330 ------------------ .../create_cross-compiler_toolchain.rst | 330 ------------------ wiki/help/howtos/development/create_gui.rst | 330 ------------------ .../development/firmware_update_details.rst | 330 ------------------ wiki/help/howtos/development/flash.rst | 330 ------------------ wiki/help/howtos/development/freetz_make.rst | 330 ------------------ .../help/howtos/development/install_addon.rst | 330 ------------------ .../development/integrate_own_files.rst | 330 ------------------ .../howtos/development/integrate_patches.rst | 330 ------------------ wiki/help/howtos/development/make_busybox.rst | 330 ------------------ wiki/help/howtos/development/make_kernel.rst | 330 ------------------ wiki/help/howtos/development/make_room.rst | 330 ------------------ .../development/manipulation_detection.rst | 330 ------------------ wiki/help/howtos/development/menuconfig.rst | 15 - .../howtos/development/package_creation.rst | 330 ------------------ .../howtos/development/release_management.rst | 16 - wiki/help/howtos/development/repack_fw.rst | 8 - wiki/help/howtos/development/save_mtd_1.rst | 330 ------------------ wiki/help/howtos/development/save_mtd_2.rst | 330 ------------------ .../help/howtos/development/urlader_flags.rst | 330 ------------------ wiki/help/howtos/security.rst | 74 ---- .../howtos/security/router_and_firewall.rst | 45 --- wiki/help/howtos/security/split_wlan_lan.rst | 45 --- wiki/help/howtos/security/switch_config.rst | 45 --- wiki/help/howtos/security/user_management.rst | 45 --- wiki/help/howtos/troubleshoot.rst | 19 - wiki/help/irc.rst | 9 - wiki/help/trouble_shooting.rst | 10 - wiki/help/wikiedit.rst | 64 ---- wiki/help/wikiedit/formatting_guide.rst | 74 ---- wiki/help/wikiedit/goodies.rst | 74 ---- wiki/help/wikiedit/screenshots.rst | 74 ---- wiki/help/wikiedit/tables.rst | 74 ---- wiki/help/wikiedit/tagging.rst | 74 ---- wiki/help/wikiedit/toc.rst | 74 ---- wiki/index.en.rst | 13 - wiki/index.rst | 12 - wiki/libs.rst | 59 ---- wiki/libs_tagged.rst | 59 ---- wiki/packages.rst | 59 ---- wiki/packages/bftpd.rst | 8 - wiki/packages/callmonitor.rst | 50 --- wiki/packages/callmonitor/actions.rst | 45 --- wiki/packages/callmonitor/actions/config.rst | 11 - wiki/packages/callmonitor/actions/dbox.rst | 6 - .../packages/callmonitor/actions/dreambox.rst | 9 - wiki/packages/callmonitor/actions/mail.rst | 6 - wiki/packages/callmonitor/actions/samsung.rst | 3 - wiki/packages/callmonitor/actions/xbox.rst | 6 - wiki/packages/callmonitor/config.rst | 46 --- wiki/packages/callmonitor/events.rst | 46 --- wiki/packages/callmonitor/listeners.rst | 46 --- wiki/packages/callmonitor/maintenance.rst | 46 --- wiki/packages/callmonitor/phonebook.rst | 46 --- wiki/packages/callmonitor/reverse_search.rst | 46 --- wiki/packages/callmonitor/testcall.rst | 46 --- wiki/packages/checkmaild.rst | 12 - wiki/packages/davfs2.rst | 19 - wiki/packages/dnsmasq.rst | 30 -- wiki/packages/dropbear.rst | 30 -- wiki/packages/dtach.rst | 6 - wiki/packages/dtmfbox.rst | 14 - wiki/packages/espeak.rst | 8 - wiki/packages/inotify-tools.rst | 14 - wiki/packages/iptables-cgi.rst | 15 - wiki/packages/iptables.en.rst | 26 -- wiki/packages/iptables.rst | 22 -- wiki/packages/mediaserver.rst | 13 - wiki/packages/nano-shell.rst | 6 - wiki/packages/ncftp.rst | 15 - wiki/packages/nhipt.en.rst | 23 -- wiki/packages/nhipt.rst | 24 -- wiki/packages/openvpn.rst | 24 -- wiki/packages/pptpd.rst | 37 -- wiki/packages/pptpd/config.rst | 36 -- wiki/packages/pptpd/install.rst | 36 -- wiki/packages/pptpd/webif.rst | 36 -- wiki/packages/privoxy.rst | 11 - wiki/packages/rudi-shell.rst | 39 --- wiki/packages/rudi-shell/functions.rst | 35 -- wiki/packages/rudi-shell/install.rst | 35 -- wiki/packages/rudi-shell/limits.rst | 35 -- wiki/packages/rudi-shell/tips.rst | 35 -- wiki/packages/rudi-shell/usage.rst | 35 -- wiki/packages/samba.rst | 16 - wiki/packages/sane-backends.rst | 23 -- wiki/packages/screen.rst | 12 - wiki/packages/tinc.rst | 7 - wiki/packages/tor.rst | 14 - wiki/packages/usbroot.rst | 12 - wiki/packages/vtund.rst | 8 - wiki/packages/wol.rst | 9 - wiki/packages/xrelayd.rst | 7 - wiki/packages_tagged.rst | 47 --- wiki/patch.rst | 11 - wiki/patches/exec_autorun.rst | 6 - wiki/patches/remove_support.rst | 5 - wiki/patches/remove_upnp.rst | 7 - 120 files changed, 34 insertions(+), 9726 deletions(-) diff --git a/extract-content.py b/extract-content.py index 01ad6f8..1b2d990 100644 --- a/extract-content.py +++ b/extract-content.py @@ -32,6 +32,9 @@ def line_prepender(filename, line): for count, page in enumerate(pages): pageFile = open(page, "r") pageSoup = BeautifulSoup(pageFile, 'html.parser') + for div in pageSoup.find_all("div", {'class':'wiki-toc'}): + div.decompose() + pageFile.close() content = pageSoup.find(id="content") diff --git a/index.rst b/index.rst index f0225d8..acaea29 100644 --- a/index.rst +++ b/index.rst @@ -1,40 +1,9 @@ Freetz ====== +.. _WillkommenbeiFreetz: -.. raw:: html - - <div id="content" class="wiki"> - -.. raw:: html - - <div class="wikipage searchable"> - -.. raw:: html - - <div id="wikipage" class="trac-content"> - -.. raw:: html - - <div class="wiki-toc"> - -.. rubric:: Inhaltsverzeichnis - :name: inhaltsverzeichnis - -#. `Download <wiki/index.html#Download>`__ -#. `Erste Schritte <wiki/index.html#ErsteSchritte>`__ -#. `Installation <wiki/index.html#Installation>`__ -#. `Hilfe und Support <wiki/index.html#HilfeundSupport>`__ -#. `Presse und Berichte <wiki/index.html#PresseundBerichte>`__ -#. `Mach mit! <wiki/index.html#Machmit>`__ -#. `Quellcode <wiki/index.html#Quellcode>`__ -#. `Trac-Links <wiki/index.html#Trac-Links>`__ - -.. raw:: html - - </div> - -.. rubric:: Willkommen bei Freetz - :name: WillkommenbeiFreetz +Willkommen bei Freetz +===================== | `Freetz <wiki/freetz.html>`__ ist eine Firmware-Erweiterung und Modifikation für `​Fritz!Box <http://www.avm.de>`__ Router und @@ -50,8 +19,10 @@ Freetz |/!\\| **WARNUNG:** Die Installation einer modifizierten Firmware führt zum Verlust der Gewährleistung des Herstellers! -.. rubric:: Download - :name: Download +.. _Download: + +Download +-------- Das letzte Release ist Version 2.0. Bitte folge den Anweisungen unter `Quellcode <wiki/common/source_code.html>`__, um es zu downloaden. @@ -68,8 +39,10 @@ Diese Versionen unterscheiden sich in der unterstützen AVM-Firmware Eine komplette Liste aller Releases befindet sich auf der `Download Seite <wiki/Download.html>`__. -.. rubric:: Erste Schritte - :name: ErsteSchritte +.. _ErsteSchritte: + +Erste Schritte +-------------- Diese Anleitung richtet sich in erster Linie an neue Benutzer, welche sich erst mit Freetz vertraut machen wollen. Der Benutzer wird @@ -78,8 +51,10 @@ Firmware-Images. - `Erste Schritte mit Freetz <wiki/help/howtos/common/newbie.html>`__ -.. rubric:: Installation - :name: Installation +.. _Installation: + +Installation +------------ Für die Freetz-Installation wird Linux als Betriebssystem empfohlen. Wer kein Linux dauerhaft auf seinem Rechner installieren will, kann sich mit @@ -89,8 +64,10 @@ Maschine" (VM) seiner Wahl behelfen. - `Voraussetzungen, notwendige Pakete und sonstige Informationen zur Freetz-Installation <wiki/help/howtos/common/install.html>`__ -.. rubric:: Hilfe und Support - :name: HilfeundSupport +.. _HilfeundSupport: + +Hilfe und Support +----------------- - `Wiki <wiki/freetz.html>`__: @@ -107,15 +84,19 @@ Maschine" (VM) seiner Wahl behelfen. Hier findest du mehr zu `Hilfe und Support <wiki/help.html>`__. -.. rubric:: Presse und Berichte - :name: PresseundBerichte +.. _PresseundBerichte: + +Presse und Berichte +------------------- - `Liste von Berichten über Freetz <wiki/Press.html>`__ - `Ankündigung Entwicklertreffen Freetz-Conf 2011 <wiki/FreetzConf2011.html>`__ -.. rubric:: Mach mit! - :name: Machmit +.. _Machmit: + +Mach mit! +--------- Interessierte Benutzer und potentielle Entwickler, die aktiv an der Verbesserung von Freetz und deren Entwicklung mitwirken wollen, werden @@ -140,8 +121,10 @@ allen Beteiligten! Das Bearbeiten des Wikis und Eröffnen von Tickets ist zur Vermeidung von Spam nur nach vorheriger **Registrierung** möglich. -.. rubric:: Quellcode - :name: Quellcode +.. _Quellcode: + +Quellcode +--------- Anleitung zum `Auschecken und Aktualisieren des Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository @@ -501,18 +484,4 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/rudi-shell/functions wiki/Freetz - -.. raw:: html - - </div> - -.. raw:: html - - </div> - -.. raw:: html - - </div> - .. |/!\\| image:: /chrome/wikiextras-icons-16/exclamation.png - diff --git a/wiki/Download.rst b/wiki/Download.rst index a8e8e34..5850960 100644 --- a/wiki/Download.rst +++ b/wiki/Download.rst @@ -1,35 +1,5 @@ Download ======== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Stabile Versionen <Download.html#StabileVersionen>`__ - - #. `Freetz 1.2 (01.07.2012) <Download.html#Freetz1.201.07.2012>`__ - -#. `Entwickler Versionen <Download.html#EntwicklerVersionen>`__ -#. `Upload und Statistik <Download.html#UploadundStatistik>`__ -#. `Veraltete Versionen <Download.html#VeralteteVersionen>`__ - - #. `Freetz 1.1.5 - (22.01.2012) <Download.html#Freetz1.1.522.01.2012>`__ - #. `Freetz 1.1.4 - (11.02.2011) <Download.html#Freetz1.1.411.02.2011>`__ - #. `Freetz 1.1.3 - (29.04.2010) <Download.html#Freetz1.1.329.04.2010>`__ - #. `Freetz 1.1.2 - (30.12.2009) <Download.html#Freetz1.1.230.12.2009>`__ - #. `Freetz 1.1.1 - (17.10.2009) <Download.html#Freetz1.1.117.10.2009>`__ - #. `Freetz 1.1 (12.06.2009) <Download.html#Freetz1.112.06.2009>`__ - #. `Freetz 1.0.3 - (18.03.2009) <Download.html#Freetz1.0.318.03.2009>`__ - #. `Freetz 1.0.2 - (15.02.2009) <Download.html#Freetz1.0.215.02.2009>`__ - #. `Freetz 1.0.1 - (22.11.2008) <Download.html#Freetz1.0.122.11.2008>`__ - #. `Freetz 1.0 (06.06.2008) <Download.html#Freetz1.006.06.2008>`__ - .. _StabileVersionen: Stabile Versionen diff --git a/wiki/FAQ.en.rst b/wiki/FAQ.en.rst index b8fc479..9b7ed32 100644 --- a/wiki/FAQ.en.rst +++ b/wiki/FAQ.en.rst @@ -11,114 +11,6 @@ about *Freetz*. It is still under construction. Be aware that there is a more complete `FAQ <FAQ.html>`__ version in `German <FAQ.html>`__. -Content -^^^^^^^ - -#. `Project name and history <FAQ.en.html#Projectnameandhistory>`__ - - #. `What is Freetz? <FAQ.en.html#WhatisFreetz>`__ - #. `Where does the name Freetz come - from? <FAQ.en.html#WheredoesthenameFreetzcomefrom>`__ - #. `How should I pronounce - Freetz? <FAQ.en.html#HowshouldIpronounceFreetz>`__ - #. `How did Freetz start? <FAQ.en.html#HowdidFreetzstart>`__ - #. `Why change the name when DS-Mod has already become - well-known? <FAQ.en.html#WhychangethenamewhenDS-Modhasalreadybecomewell-known>`__ - #. `Why is so much of Freetz and the development in - German? <FAQ.en.html#WhyissomuchofFreetzandthedevelopmentinGerman>`__ - -#. `Motivation <FAQ.en.html#Motivation>`__ - - #. `Why change the firmware? <FAQ.en.html#Whychangethefirmware>`__ - -#. `Distribution <FAQ.en.html#Distribution>`__ - - #. `Can I get a finished binary of - Freetz? <FAQ.en.html#CanIgetafinishedbinaryofFreetz>`__ - #. `How can I get Freetz? <FAQ.en.html#HowcanIgetFreetz>`__ - #. `Which type of boxes and which firmware versions are currently - supported?: <FAQ.en.html#Whichtypeofboxesandwhichfirmwareversionsarecurrentlysupported:>`__ - -#. `Development <FAQ.en.html#Development>`__ - - #. `When will version xy be - released? <FAQ.en.html#Whenwillversionxybereleased>`__ - #. `Trunk, Branches, Tags? <FAQ.en.html#TrunkBranchesTags>`__ - #. `When feature XY is - implemented? <FAQ.en.html#WhenfeatureXYisimplemented>`__ - #. `I like Freetz and I want to support the - development. <FAQ.en.html#IlikeFreetzandIwanttosupportthedevelopment.>`__ - -#. `Pre-Configuration - (menuconfig) <FAQ.en.html#Pre-Configurationmenuconfig>`__ - - #. `Do I have the 8MB (v1) or 16MB (v2) version of the FB 7270 - ? <FAQ.en.html#DoIhavethe8MBv1or16MBv2versionoftheFB7270>`__ - #. `What are indicators for a FB 7270v3 - ? <FAQ.en.html#WhatareindicatorsforaFB7270v3>`__ - #. `Which packages should be built into a Freetz image - ? <FAQ.en.html#WhichpackagesshouldbebuiltintoaFreetzimage>`__ - #. `What does "binary only" mean - ? <FAQ.en.html#Whatdoesbinaryonlymean>`__ - -#. `Image Build (make/build) <FAQ.en.html#ImageBuildmakebuild>`__ - - #. `Meaning of the specific - make-targets <FAQ.en.html#Meaningofthespecificmake-targets>`__ - #. `Building another firmware - language <FAQ.en.html#Buildinganotherfirmwarelanguage>`__ - #. `Problems during building <FAQ.en.html#Problemsduringbuilding>`__ - #. `The problem still occurs. What - now? <FAQ.en.html#Theproblemstilloccurs.Whatnow>`__ - -#. `Flashing of Compiled Image <FAQ.en.html#FlashingofCompiledImage>`__ -#. `Problems after (successful) - Flashing <FAQ.en.html#ProblemsaftersuccessfulFlashing>`__ - - #. `Settings are not available at current security - level <FAQ.en.html#Settingsarenotavailableatcurrentsecuritylevel>`__ - #. `What is the default password for - freetz? <FAQ.en.html#Whatisthedefaultpasswordforfreetz>`__ - #. `The info led blinks twice - periodically <FAQ.en.html#Theinfoledblinkstwiceperiodically>`__ - -#. `Configuration <FAQ.en.html#Configuration>`__ - - #. `Were is the whole configuration stored on the Fritzbox - ? <FAQ.en.html#WereisthewholeconfigurationstoredontheFritzbox>`__ - #. `Configuration not available at the current security - level! <FAQ.en.html#Configurationnotavailableatthecurrentsecuritylevel>`__ - #. `How can i disable the password for the - Freetz-Website? <FAQ.en.html#HowcanidisablethepasswordfortheFreetz-Website>`__ - #. `How can i change the password for the - Freetz-Website? <FAQ.en.html#HowcanichangethepasswordfortheFreetz-Website>`__ - #. `How can i reset the password for the Freetz-Website in case I've - lost it - … <FAQ.en.html#HowcaniresetthepasswordfortheFreetz-WebsiteincaseIvelostitbutstillhaveaccessviatelnetSSH>`__ - #. `How can I change the - root-Password? <FAQ.en.html#HowcanIchangetheroot-Password>`__ - -#. `Problems During Working <FAQ.en.html#ProblemsDuringWorking>`__ - - #. `/var/flash/freetz too big <FAQ.en.html#varflashfreetztoobig>`__ - #. `No ftp access after - Freetz <FAQ.en.html#NoftpaccessafterFreetz>`__ - -#. `Removing FREETZ and Other - Modifications <FAQ.en.html#RemovingFREETZandOtherModifications>`__ -#. `Miscellaneous <FAQ.en.html#Miscellaneous>`__ - - #. `How can I use an own/other DNS server for all connected PCs and - Fritzbox - ? <FAQ.en.html#HowcanIuseanownotherDNSserverforallconnectedPCsandFritzbox>`__ - #. `How can I create character devices - ? <FAQ.en.html#HowcanIcreatecharacterdevices>`__ - #. `Which network cable is necessary for a recover - ? <FAQ.en.html#Whichnetworkcableisnecessaryforarecover>`__ - #. `How old is my FritzBox ? <FAQ.en.html#HowoldismyFritzBox>`__ - #. `How much RAM does my FritzBox - contain? <FAQ.en.html#HowmuchRAMdoesmyFritzBoxcontain>`__ - .. _Projectnameandhistory: Project name and history diff --git a/wiki/FAQ.rst b/wiki/FAQ.rst index 29cce20..536e9e4 100644 --- a/wiki/FAQ.rst +++ b/wiki/FAQ.rst @@ -9,157 +9,6 @@ Hier werden häufig gestellte Fragen (engl. `FAQ <FAQ.html>`__ = frequently asked questions) beantwortet. Diese Seite befindet sich noch im Aufbau. -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Produktname und - Historisches <FAQ.html#ProduktnameundHistorisches>`__ - - #. `Was ist Freetz? <FAQ.html#WasistFreetz>`__ - #. `Woher kommt der Name - Freetz? <FAQ.html#WoherkommtderNameFreetz>`__ - #. `Wie wird Freetz - ausgesprochen? <FAQ.html#WiewirdFreetzausgesprochen>`__ - #. `Wie entstand Freetz? <FAQ.html#WieentstandFreetz>`__ - #. `Wozu überhaupt ein neuer Name, wo doch DS-Mod inzwischen so - bekannt - ist? <FAQ.html#WozuüberhaupteinneuerNamewodochDS-Modinzwischensobekanntist>`__ - -#. `Motivation <FAQ.html#Motivation>`__ - - #. `Warum Firmware - modifizieren? <FAQ.html#WarumFirmwaremodifizieren>`__ - -#. `Verbreitung <FAQ.html#Verbreitung>`__ - - #. `Warum werden keine fertigen modifizierten Images - angeboten? <FAQ.html#WarumwerdenkeinefertigenmodifiziertenImagesangeboten>`__ - #. `Wo kann FREETZ heruntergeladen - werden? <FAQ.html#WokannFREETZheruntergeladenwerden>`__ - #. `Welche Boxen und welche Firmwares werden durch Freetz - unterstützt: <FAQ.html#WelcheBoxenundwelcheFirmwareswerdendurchFreetzunterstützt:>`__ - -#. `Entwicklung <FAQ.html#Entwicklung>`__ - - #. `Wann kommt Version xy? <FAQ.html#WannkommtVersionxy>`__ - #. `Trunk, Branches, Tags? <FAQ.html#TrunkBranchesTags>`__ - #. `Wann ist Feature XY fertig? <FAQ.html#WannistFeatureXYfertig>`__ - #. `Freetz gefällt mir und ich möchte die Weiterentwicklung - unterstützen. <FAQ.html#FreetzgefälltmirundichmöchtedieWeiterentwicklungunterstützen.>`__ - -#. `Vorkonfiguration - (menuconfig) <FAQ.html#Vorkonfigurationmenuconfig>`__ - - #. `Wie erkennne ich welche Variante der 7270 ich - besitze? <FAQ.html#WieerkennneichwelcheVarianteder7270ichbesitze>`__ - #. `Welche Pakete sollte man ins Freetz Image sinnvollerweise - einbauen? <FAQ.html#WelchePaketesolltemaninsFreetzImagesinnvollerweiseeinbauen>`__ - #. `Was bedeutet "binary only"? <FAQ.html#Wasbedeutetbinaryonly>`__ - #. `Was bedeutet "EXPERIMENTAL" oder die Kategorie - "unstable"? <FAQ.html#WasbedeutetEXPERIMENTALoderdieKategorieunstable>`__ - #. `Funktioniert - iptables/nat/conntrack? <FAQ.html#Funktioniertiptablesnatconntrack>`__ - #. `Packet Accelerator (AVM PA) <FAQ.html#PacketAcceleratorAVMPA>`__ - #. `Was bedeutet "not available, no sources by - AVM"? <FAQ.html#WasbedeutetnotavailablenosourcesbyAVM>`__ - -#. `Erstellen von Firmware-Images - (make/Build) <FAQ.html#ErstellenvonFirmware-ImagesmakeBuild>`__ - - #. `Was bedeuten die einzelnen make-targets (z.B. dirclean, - distclean, - … <FAQ.html#Wasbedeutendieeinzelnenmake-targetsz.B.dircleandistcleanconfig-clean-depsetc.>`__ - #. `Beim Erstellen tritt ein Fehler auf, was - nun? <FAQ.html#BeimErstellentritteinFehleraufwasnun>`__ - #. `Beim Erstellen tritt immer noch ein Fehler - auf… <FAQ.html#BeimErstellentrittimmernocheinFehlerauf>`__ - #. `Ich kann das erzeugte Freetz Image nicht - finden? <FAQ.html#IchkanndaserzeugteFreetzImagenichtfinden>`__ - #. `Wo finde ich diese berühmte - .config-Datei? <FAQ.html#Wofindeichdieseberühmte.config-Datei>`__ - #. `Wie bekomme ich die .config-Datei auf den - PC? <FAQ.html#Wiebekommeichdie.config-DateiaufdenPC>`__ - -#. `Flashen des Firmware-Images <FAQ.html#FlashendesFirmware-Images>`__ - - #. `Wie installiere ich das - Freetz-Image? <FAQ.html#WieinstalliereichdasFreetz-Image>`__ - #. `Beim Flashen meldet das AVM-Webinterface, dass das Image keine - passende - … <FAQ.html#BeimFlashenmeldetdasAVM-WebinterfacedassdasImagekeinepassendeFirmwareenthält>`__ - #. `Freetz-Trunk wurde per AVM Firmware-Update geflasht, nach dem - Neustart - … <FAQ.html#Freetz-TrunkwurdeperAVMFirmware-UpdategeflashtnachdemNeustartscheintsichabernichtsgeändertzuhaben>`__ - -#. `Probleme nach dem (erfolgreichen) - Flashen <FAQ.html#ProblemenachdemerfolgreichenFlashen>`__ - - #. `Wie lautet das Standard-Passwort für - Freetz? <FAQ.html#WielautetdasStandard-PasswortfürFreetz>`__ - #. `Nach dem Flashen ist das AVM-Webinterface nicht mehr - erreichbar <FAQ.html#NachdemFlashenistdasAVM-Webinterfacenichtmehrerreichbar>`__ - #. `Nach dem Flashen ist die Box nicht mehr erreichbar und/oder - rebootet - … <FAQ.html#NachdemFlashenistdieBoxnichtmehrerreichbarundoderrebootetständig>`__ - #. `Beim Aufruf des Original-AVM-Webinterface von aussen bekomme ich - trotz - … <FAQ.html#BeimAufrufdesOriginal-AVM-WebinterfacevonaussenbekommeichtrotzPortweiterleitungnureineweisseSeite>`__ - #. `Das Freetz-Webinterface akzeptiert die Standardkombination für - Benutzer - … <FAQ.html#DasFreetz-WebinterfaceakzeptiertdieStandardkombinationfürBenutzerundPasswortadminfreetznicht>`__ - #. `Kann man Pakete/Patches nachinstallieren, ohne das FREETZ-Image - neu zu - … <FAQ.html#KannmanPaketePatchesnachinstallierenohnedasFREETZ-Imageneuzuerstellen>`__ - #. `Nach dem Flashen ist das Freetz-Webinterface nicht (mehr) - erreichbar <FAQ.html#NachdemFlashenistdasFreetz-Webinterfacenichtmehrerreichbar>`__ - #. `Der dynamische Teil des (AVM-)Webinterface verhält sich nicht wie - erwartet <FAQ.html#DerdynamischeTeildesAVM-Webinterfaceverhältsichnichtwieerwartet>`__ - -#. `Freetz aktualisieren <FAQ.html#Freetzaktualisieren>`__ - - #. `Ich habe momentan eine Laborversion installiert. Kann ich Freetz - einfach - … <FAQ.html#IchhabemomentaneineLaborversioninstalliert.KannichFreetzeinfachdarüberflashen>`__ - #. `Ich habe eine alte Freetz-Firmware auf der - Box <FAQ.html#IchhabeeinealteFreetz-FirmwareaufderBox>`__ - -#. `Konfiguration <FAQ.html#Konfiguration>`__ - - #. `Wo landen die diversen Konfigurationen auf der - Fritzbox? <FAQ.html#WolandendiediversenKonfigurationenaufderFritzbox>`__ - #. `Konfiguration in der aktuellen Sicherheitsstufe nicht - verfügbar! <FAQ.html#KonfigurationinderaktuellenSicherheitsstufenichtverfügbar>`__ - #. `Wie deaktiviere ich das Passwort für die - Freetz-Webseite? <FAQ.html#WiedeaktiviereichdasPasswortfürdieFreetz-Webseite>`__ - #. `Wie ändere ich das Passwort für die - Freetz-Webseite? <FAQ.html#WieändereichdasPasswortfürdieFreetz-Webseite>`__ - #. `Wie ändere ich das Passwort für die Freetz-Webseite sofern ich es - … <FAQ.html#WieändereichdasPasswortfürdieFreetz-WebseitesofernichesvergessenundTelnetSSH-Zuganghabe>`__ - #. `Wie ändere ich das - root-Passwort? <FAQ.html#Wieändereichdasroot-Passwort>`__ - #. `Ändern des root-Passwortes über die - Rudi-Shell <FAQ.html#Änderndesroot-PasswortesüberdieRudi-Shell>`__ - #. `Warum kann ich mich nach einer Freetz-Wiederherstellung nicht - mehr am - … <FAQ.html#WarumkannichmichnacheinerFreetz-WiederherstellungnichtmehramAVM-WebUIanmelden>`__ - -#. `Probleme im Betrieb <FAQ.html#ProblemeimBetrieb>`__ - - #. `/var/flash/freetz too big <FAQ.html#varflashfreetztoobig>`__ - #. `Kein FTP-Zugriff nach Freetz - möglich <FAQ.html#KeinFTP-ZugriffnachFreetzmöglich>`__ - -#. `Entfernen von Freetz und anderen - Modifikationen <FAQ.html#EntfernenvonFreetzundanderenModifikationen>`__ -#. `Sonstiges <FAQ.html#Sonstiges>`__ - - #. `Ändern der Arbeitsgruppe von - "freetz-linux" <FAQ.html#ÄndernderArbeitsgruppevonfreetz-linux>`__ - #. `Wie finde ich die IP meiner Virtuellen - Maschine <FAQ.html#WiefindeichdieIPmeinerVirtuellenMaschine>`__ - -#. `Weiterführende Links <FAQ.html#WeiterführendeLinks>`__ - .. _ProduktnameundHistorisches: Produktname und Historisches diff --git a/wiki/common/source_code.rst b/wiki/common/source_code.rst index 3f1ce54..34fbecc 100644 --- a/wiki/common/source_code.rst +++ b/wiki/common/source_code.rst @@ -1,13 +1,5 @@ common/source_code ================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Entwicklerversion - (Trunk) <source_code.html#EntwicklerversionTrunk>`__ -#. `Updates <source_code.html#Updates>`__ -#. `Stabile Version <source_code.html#StabileVersion>`__ - .. _Quellcode: Quellcode diff --git a/wiki/help/fritz_faq.rst b/wiki/help/fritz_faq.rst index b2482b4..e0804f5 100644 --- a/wiki/help/fritz_faq.rst +++ b/wiki/help/fritz_faq.rst @@ -5,29 +5,6 @@ help/fritz_faq FAQ === -FAQ -^^^ - -#. - - #. `Wie kann ich einen eigenen/anderen DNS-Server für alle - angeschlossenen PCs - … <fritz_faq.html#WiekannicheineneigenenanderenDNS-ServerfüralleangeschlossenenPCsundFritzboxverwenden>`__ - #. `Wie kann man character devices - erstellen? <fritz_faq.html#Wiekannmancharacterdeviceserstellen>`__ - #. `Was für ein Netzwerkkabel benötige ich für das recovern - ? <fritz_faq.html#WasfüreinNetzwerkkabelbenötigeichfürdasrecovern>`__ - #. `Woran erkenne ich, dass ich eine FB 7270v3 habe - ? <fritz_faq.html#WoranerkenneichdassicheineFB7270v3habe>`__ - #. `Wie alt ist meine FritzBox - ? <fritz_faq.html#WiealtistmeineFritzBox>`__ - #. `Wie viel Flash hat meine FritzBox 7270 - ? <fritz_faq.html#WievielFlashhatmeineFritzBox7270>`__ - #. `Steuercodes für die - Fritzbox <fritz_faq.html#SteuercodesfürdieFritzbox>`__ - #. `Hilfe, die Box ist total verkonfiguriert / Freetz - "Not-AUS" <fritz_faq.html#HilfedieBoxisttotalverkonfiguriertFreetzNot-AUS>`__ - Während das FAQ zu Freetz spezifischen Fragen `hier <../FAQ.html>`__ zu finden ist sollen hier allgemeine Fragen und Antworten zur FritzBox gesammelt werden. diff --git a/wiki/help/howtos.rst b/wiki/help/howtos.rst index 4589145..712d54e 100644 --- a/wiki/help/howtos.rst +++ b/wiki/help/howtos.rst @@ -1,13 +1,5 @@ help/howtos =========== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Allgemeines <howtos.html#Allgemeines>`__ -#. `Development <howtos.html#Development>`__ -#. `Security <howtos.html#Security>`__ -#. `Troubleshooting <howtos.html#Troubleshooting>`__ - .. _HowTos: HowTos diff --git a/wiki/help/howtos/common.rst b/wiki/help/howtos/common.rst index 75df07e..d7c7ab9 100644 --- a/wiki/help/howtos/common.rst +++ b/wiki/help/howtos/common.rst @@ -1,315 +1,5 @@ help/howtos/common ================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rechner im Netz - herunterfahren <common/shutdown.html#RechnerimNetzherunterfahren>`__ - - #. `Voraussetzungen <common/shutdown.html#Voraussetzungen>`__ - #. `Konfiguration der - Fritzbox <common/shutdown.html#KonfigurationderFritzbox>`__ - - #. `Keys erzeugen <common/shutdown.html#Keyserzeugen>`__ - #. `Konfiguration der Fritzbox für herunterzufahrenden - Linux-Rechner <common/shutdown.html#KonfigurationderFritzboxfürherunterzufahrendenLinux-Rechner>`__ - #. `Konfiguration der Fritzbox für herunterzufahrenden - Windows-Rechner <common/shutdown.html#KonfigurationderFritzboxfürherunterzufahrendenWindows-Rechner>`__ - - #. `Konfiguration des herunterzufahrenden - Linux-Rechners <common/shutdown.html#KonfigurationdesherunterzufahrendenLinux-Rechners>`__ - #. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet - unter - … <common/shutdown.html#KonfigurationdesherunterzufahrendenWindows-RechnersgetestetunterWindowsXP>`__ - #. `Bemerkungen <common/shutdown.html#Bemerkungen>`__ - -#. `Sonstige Infos für - Newbie's <common/newbie/other.html#SonstigeInfosfürNewbies>`__ - - #. `Wie könnte mein nächstes Image - aussehen: <common/newbie/other.html#WiekönntemeinnächstesImageaussehen:>`__ - - #. `VirtualBox - starten <common/newbie/other.html#VirtualBoxstarten>`__ - #. `Einstellen des - menuconfig <common/newbie/other.html#Einstellendesmenuconfig>`__ - #. `Image auf den PC - kopieren <common/newbie/other.html#ImageaufdenPCkopieren>`__ - #. `Freetz-Linux - beenden <common/newbie/other.html#Freetz-Linuxbeenden>`__ - #. `Der Flashvorgang <common/newbie/other.html#DerFlashvorgang>`__ - - #. `Konfiguration der neuen - Plugins <common/newbie/other.html#KonfigurationderneuenPlugins>`__ - - #. `Freetz-WebIF - einstellen <common/newbie/other.html#Freetz-WebIFeinstellen>`__ - #. `USB-Stick - erstellen <common/newbie/other.html#USB-Stickerstellen>`__ - #. `SWAP-File - einrichten <common/newbie/other.html#SWAP-Fileeinrichten>`__ - #. `Samba <common/newbie/other.html#Samba>`__ - - #. `Einstellungen <common/newbie/other.html#Einstellungen>`__ - - #. `Starttyp <common/newbie/other.html#Starttyp>`__ - #. `Konfiguration: <common/newbie/other.html#Konfiguration:>`__ - #. `Standardfreigaben <common/newbie/other.html#Standardfreigaben>`__ - - #. `Erweitert <common/newbie/other.html#Erweitert>`__ - #. `Freigaben <common/newbie/other.html#Freigaben>`__ - - #. `VSFTPD <common/newbie/other.html#VSFTPD>`__ - - #. `Einstellungen <common/newbie/other.html#Einstellungen1>`__ - - #. `Starttyp <common/newbie/other.html#Starttyp1>`__ - #. `FTP Server <common/newbie/other.html#FTPServer>`__ - #. `Zugriff <common/newbie/other.html#Zugriff>`__ - #. `Erweiterte - Einstellungen <common/newbie/other.html#ErweiterteEinstellungen>`__ - #. `Zusätzliche Konfigurationsoptionen (für - Experten) <common/newbie/other.html#ZusätzlicheKonfigurationsoptionenfürExperten>`__ - #. `Logging <common/newbie/other.html#Logging>`__ - #. `Änderungen am - USB-Stick <common/newbie/other.html#ÄnderungenamUSB-Stick>`__ - - #. `Rechtevergabe für FTP-User (wie ändere ich die - Beispieldateien aus dem ZIP - … <common/newbie/other.html#RechtevergabefürFTP-UserwieändereichdieBeispieldateienausdemZIPrichtig>`__ - - #. `Inhalt der Datei - : <common/newbie/other.html#InhaltderDatei:>`__ - - #. `FTP-User - erzeugen <common/newbie/other.html#FTP-Usererzeugen>`__ - - #. `Wie ist der - adduser-Befehl:; <common/newbie/other.html#Wieistderadduser-Befehl:>`__ - - #. `FTP-User für unser Image - anlegen: <common/newbie/other.html#FTP-UserfürunserImageanlegen:>`__ - - #. `admin <common/newbie/other.html#admin>`__ - #. `paul <common/newbie/other.html#paul>`__ - #. `mary <common/newbie/other.html#mary>`__ - #. `gast <common/newbie/other.html#gast>`__ - - #. `AVM-Firewall <common/newbie/other.html#AVM-Firewall>`__ - - #. `Einstellungsseite <common/newbie/other.html#Einstellungsseite>`__ - - #. `Sonstige Fragen <common/newbie/other.html#SonstigeFragen>`__ - - #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen - kann <common/newbie/other.html#WiemußichmeinenPCeinstellendamiticheinImagebauenkann>`__ - - #. `Linux <common/newbie/other.html#Linux>`__ - #. `Windows <common/newbie/other.html#Windows>`__ - - #. `Image auf den PC - kopieren <common/newbie/other.html#ImageaufdenPCkopieren1>`__ - #. `Wie kann man eine gefreetzte Fritzbox - updaten <common/newbie/other.html#WiekannmaneinegefreetzteFritzboxupdaten>`__ - #. `Einige Programme haben ähnliche Funktionen, welche sind - performanter? <common/newbie/other.html#EinigeProgrammehabenähnlicheFunktionenwelchesindperformanter>`__ - - #. `Linux-Befehle (Zielgruppe - Newbies) <common/newbie/other.html#Linux-BefehleZielgruppeNewbies>`__ - - #. `allgemeine - Linux-Befehle <common/newbie/other.html#allgemeineLinux-Befehle>`__ - #. `Der vi Editor <common/newbie/other.html#DerviEditor>`__ - -#. `Was mache ich, wenn sich meine Box nicht Freetzen - lässt <common/newbie/errors.html#WasmacheichwennsichmeineBoxnichtFreetzenlässt>`__ - - #. `FAQ's lesen und Tickets - durchsuchen <common/newbie/errors.html#FAQslesenundTicketsdurchsuchen>`__ - #. `Suchfunktion des IPPF - benutzen <common/newbie/errors.html#SuchfunktiondesIPPFbenutzen>`__ - #. `Einen neuen Thread im IPPF - eröffnen <common/newbie/errors.html#EinenneuenThreadimIPPFeröffnen>`__ - -#. `Wie baue ich meinen ersten trunk - ? <common/first_trunk.html#Wiebaueichmeinenerstentrunk>`__ - - #. `Beschreibung für ein Trunk-Image inkl. Samba und - VSFTP <common/first_trunk.html#BeschreibungfüreinTrunk-Imageinkl.SambaundVSFTP>`__ - #. `Trunk-Image bauen <common/first_trunk.html#Trunk-Imagebauen>`__ - - #. `Samba einrichten <common/first_trunk.html#Sambaeinrichten>`__ - #. `FTP-Freigaben einrichten - (Freetz-Trunk) <common/first_trunk.html#FTP-FreigabeneinrichtenFreetz-Trunk>`__ - #. `Einrichten von - Benutzern <common/first_trunk.html#EinrichtenvonBenutzern>`__ - #. `Rechtevergabe für - FTP-User <common/first_trunk.html#RechtevergabefürFTP-User>`__ - - #. `Image für einen Speedport - bauen <common/first_trunk.html#ImagefüreinenSpeedportbauen>`__ - - #. `Welche Speedports lassen sich mit Freetz - modifizieren? <common/first_trunk.html#WelcheSpeedportslassensichmitFreetzmodifizieren>`__ - #. `Umbau eines W701V <common/first_trunk.html#UmbaueinesW701V>`__ - #. `Umbau eines W501V <common/first_trunk.html#UmbaueinesW501V>`__ - #. `Umbau eines W920V <common/first_trunk.html#UmbaueinesW920V>`__ - -#. `Wake on Lan (WoL) mit der - Fritzbox <common/wol.html#WakeonLanWoLmitderFritzbox>`__ - - #. `Möglichkeiten der Nutzung von - WoL <common/wol.html#MöglichkeitenderNutzungvonWoL>`__ - #. `Callmonitor <common/wol.html#Callmonitor>`__ - #. `Shellscripte <common/wol.html#Shellscripte>`__ - - #. `Wake on LAN-Skript <common/wol.html#WakeonLAN-Skript>`__ - #. `Wake on LAN automatisieren (über - SSH) <common/wol.html#WakeonLANautomatisierenüberSSH>`__ - -#. `Swap-File anlegen <common/create_swap.html#Swap-Fileanlegen>`__ - - #. `Was ist ein Swap-File, und wofür brauche ich - es? <common/create_swap.html#WasisteinSwap-Fileundwofürbraucheiches>`__ - #. `Wie lege ich es an? <common/create_swap.html#Wielegeichesan>`__ - -#. `Installation <common/install.html#Installation>`__ - - #. `Virtuelles Linux: Freetz-Linux für - VMware-Player <common/install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player>`__ - #. `Vorbereitung <common/install.html#Vorbereitung>`__ - #. `Durchführung mit Windows - OS <common/install.html#DurchführungmitWindowsOS>`__ - #. `Durchführung mit Linux - OS <common/install.html#DurchführungmitLinuxOS>`__ - - #. `Notwendige Pakete <common/install.html#NotwendigePakete>`__ - - #. `freetz-2.x (stabile - Version) <common/install.html#freetz-2.xstabileVersion>`__ - #. `aktuelle Entwicklerversion und spezielle - Pakete <common/install.html#aktuelleEntwicklerversionundspeziellePakete>`__ - #. `alte - Entwicklerversionen <common/install.html#alteEntwicklerversionen>`__ - - #. `Installation der benötigten Pakete - (Ubuntu) <common/install.html#InstallationderbenötigtenPaketeUbuntu>`__ - #. `Installation der benötigten Pakete - (Fedora) <common/install.html#InstallationderbenötigtenPaketeFedora>`__ - #. `Erstellung & - Installation <common/install.html#ErstellungInstallation>`__ - - #. `coLinux / andLinux / - speedLinux <common/install.html#coLinuxandLinuxspeedLinux>`__ - #. `Cygwin <common/install.html#Cygwin>`__ - #. `Mac OS X <common/install.html#MacOSX>`__ - -#. `Aktualisierung <common/install.html#Aktualisierung>`__ -#. `Fehlerbehebung <common/install.html#Fehlerbehebung>`__ -#. `Manuelles einspielen des - Images <common/install.html#ManuelleseinspielendesImages>`__ -#. `Weiterführende Links <common/install.html#WeiterführendeLinks>`__ -#. `Erste Schritte mit - Freetz <common/newbie.html#ErsteSchrittemitFreetz>`__ - - #. `Fragen im Vorfeld <common/newbie.html#FragenimVorfeld>`__ - - #. `Was ist Freetz? <common/newbie.html#WasistFreetz>`__ - #. `Was brauche ich um ein Freetz-Image erstellen zu - können? <common/newbie.html#WasbraucheichumeinFreetz-Imageerstellenzukönnen>`__ - #. `Was sollte ich - bedenken? <common/newbie.html#Wassollteichbedenken>`__ - #. `Was soll mein erstes Freetz-Image - können? <common/newbie.html#WassollmeinerstesFreetz-Imagekönnen>`__ - #. `Warum sollte ich mit einem Minimal-Image am Anfang - starten? <common/newbie.html#WarumsollteichmiteinemMinimal-ImageamAnfangstarten>`__ - - #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen - kann? <common/newbie.html#WiemußichmeinenPCeinstellendamiticheinImagebauenkann>`__ - #. `Wie baue ich mein erstes eigenes Image - (Minimal-Image) <common/newbie.html#WiebaueichmeinersteseigenesImageMinimal-Image>`__ - - #. `Starten von Freetz <common/newbie.html#StartenvonFreetz>`__ - #. `PuTTY starten <common/newbie.html#PuTTYstarten>`__ - #. `Freetz Sourcen - auschecken <common/newbie.html#FreetzSourcenauschecken>`__ - #. `Einstellungen im - menuconfig <common/newbie.html#Einstellungenimmenuconfig>`__ - #. `Image auf den PC - kopieren <common/newbie.html#ImageaufdenPCkopieren>`__ - #. `Freetz-Linux - beenden <common/newbie.html#Freetz-Linuxbeenden>`__ - - #. `Der Flashvorgang <common/newbie.html#DerFlashvorgang>`__ - #. `Weiterführende Links <common/newbie.html#WeiterführendeLinks>`__ - -#. `External <common/external.html#External>`__ -#. `Konfiguration <common/external.html#Konfiguration>`__ - - #. - - #. `Prepare files for - Downloader <common/external.html#PreparefilesforDownloader>`__ - #. `Keep - subdirectories <common/external.html#Keepsubdirectories>`__ - #. `Create file for - upload <common/external.html#Createfileforupload>`__ - #. `own files <common/external.html#ownfiles>`__ - -#. `Auswahl <common/external.html#Auswahl>`__ - - #. - - #. `packages <common/external.html#packages>`__ - #. `services <common/external.html#services>`__ - #. `libraries <common/external.html#libraries>`__ - -#. `Installation <common/external.html#Installation>`__ -#. `Automatisches starten/stoppen von - Diensten <common/external.html#AutomatischesstartenstoppenvonDiensten>`__ -#. `Firmware-build-Prozess und - Update <common/external.html#Firmware-build-ProzessundUpdate>`__ -#. `Benutzer dauerhaft in der passwd - speichern <common/user.html#Benutzerdauerhaftinderpasswdspeichern>`__ - - #. `Beschreibung - (Freetz-1.2.x) <common/user.html#BeschreibungFreetz-1.2.x>`__ - #. `Beschreibung - (Freetz-1.1.x) <common/user.html#BeschreibungFreetz-1.1.x>`__ - - #. `Originalbeiträge zum - HowTo <common/user.html#OriginalbeiträgezumHowTo>`__ - #. `Vorgehen <common/user.html#Vorgehen>`__ - #. `Alternative <common/user.html#Alternative>`__ - -#. `Kleiner Webserver mit - BusyBox <common/busybox_httpd.html#KleinerWebservermitBusyBox>`__ - - #. `Weiterführende - Links <common/busybox_httpd.html#WeiterführendeLinks>`__ - -#. `Konfiguration <common/install/menuconfig.html#Konfiguration>`__ - - #. `General <common/install/menuconfig.html#General>`__ - #. `Brandings <common/install/menuconfig.html#Brandings>`__ - #. `Mod <common/install/menuconfig.html#Mod>`__ - -#. `Freetz Linux <common/freetz_linux.html#FreetzLinux>`__ - - #. `Freetz Linux unter - VirtualBox <common/freetz_linux.html#FreetzLinuxunterVirtualBox>`__ - #. `Freetz Linux unter - VMWare <common/freetz_linux.html#FreetzLinuxunterVMWare>`__ - - #. `Freetz Linux unter VMware ESXi V4.1 Hypervisor (funktioniert - auch mit - … <common/freetz_linux.html#FreetzLinuxunterVMwareESXiV4.1HypervisorfunktioniertauchmitvSphereHypervisor5.5>`__ - #. `Freetz Linux unter VMware Player - V2.5 <common/freetz_linux.html#FreetzLinuxunterVMwarePlayerV2.5>`__ - - #. `Freetz Linux unter Virtual - PC <common/freetz_linux.html#FreetzLinuxunterVirtualPC>`__ - .. _Allgemeines: Allgemeines diff --git a/wiki/help/howtos/common/busybox_httpd.rst b/wiki/help/howtos/common/busybox_httpd.rst index 1f03f8b..daab757 100644 --- a/wiki/help/howtos/common/busybox_httpd.rst +++ b/wiki/help/howtos/common/busybox_httpd.rst @@ -1,128 +1,5 @@ help/howtos/common/busybox_httpd ================================ -Howtos: Allgemeines -^^^^^^^^^^^^^^^^^^^ - -#. `Rechner im Netz - herunterfahren <shutdown.html#RechnerimNetzherunterfahren>`__ - - #. `Voraussetzungen <shutdown.html#Voraussetzungen>`__ - #. `Konfiguration der - Fritzbox <shutdown.html#KonfigurationderFritzbox>`__ - #. `Konfiguration des herunterzufahrenden - Linux-Rechners <shutdown.html#KonfigurationdesherunterzufahrendenLinux-Rechners>`__ - #. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet - unter - … <shutdown.html#KonfigurationdesherunterzufahrendenWindows-RechnersgetestetunterWindowsXP>`__ - #. `Bemerkungen <shutdown.html#Bemerkungen>`__ - -#. `Sonstige Infos für - Newbie's <newbie/other.html#SonstigeInfosfürNewbies>`__ - - #. `Wie könnte mein nächstes Image - aussehen: <newbie/other.html#WiekönntemeinnächstesImageaussehen:>`__ - #. `Sonstige Fragen <newbie/other.html#SonstigeFragen>`__ - #. `Linux-Befehle (Zielgruppe - Newbies) <newbie/other.html#Linux-BefehleZielgruppeNewbies>`__ - -#. `Was mache ich, wenn sich meine Box nicht Freetzen - lässt <newbie/errors.html#WasmacheichwennsichmeineBoxnichtFreetzenlässt>`__ - - #. `FAQ's lesen und Tickets - durchsuchen <newbie/errors.html#FAQslesenundTicketsdurchsuchen>`__ - #. `Suchfunktion des IPPF - benutzen <newbie/errors.html#SuchfunktiondesIPPFbenutzen>`__ - #. `Einen neuen Thread im IPPF - eröffnen <newbie/errors.html#EinenneuenThreadimIPPFeröffnen>`__ - -#. `Wie baue ich meinen ersten trunk - ? <first_trunk.html#Wiebaueichmeinenerstentrunk>`__ - - #. `Beschreibung für ein Trunk-Image inkl. Samba und - VSFTP <first_trunk.html#BeschreibungfüreinTrunk-Imageinkl.SambaundVSFTP>`__ - #. `Trunk-Image bauen <first_trunk.html#Trunk-Imagebauen>`__ - #. `Image für einen Speedport - bauen <first_trunk.html#ImagefüreinenSpeedportbauen>`__ - -#. `Wake on Lan (WoL) mit der - Fritzbox <wol.html#WakeonLanWoLmitderFritzbox>`__ - - #. `Möglichkeiten der Nutzung von - WoL <wol.html#MöglichkeitenderNutzungvonWoL>`__ - #. `Callmonitor <wol.html#Callmonitor>`__ - #. `Shellscripte <wol.html#Shellscripte>`__ - -#. `Swap-File anlegen <create_swap.html#Swap-Fileanlegen>`__ - - #. `Was ist ein Swap-File, und wofür brauche ich - es? <create_swap.html#WasisteinSwap-Fileundwofürbraucheiches>`__ - #. `Wie lege ich es an? <create_swap.html#Wielegeichesan>`__ - -#. `Installation <install.html#Installation>`__ - - #. `Virtuelles Linux: Freetz-Linux für - VMware-Player <install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player>`__ - #. `Vorbereitung <install.html#Vorbereitung>`__ - #. `Durchführung mit Windows - OS <install.html#DurchführungmitWindowsOS>`__ - #. `Durchführung mit Linux - OS <install.html#DurchführungmitLinuxOS>`__ - #. `coLinux / andLinux / - speedLinux <install.html#coLinuxandLinuxspeedLinux>`__ - #. `Cygwin <install.html#Cygwin>`__ - #. `Mac OS X <install.html#MacOSX>`__ - -#. `Aktualisierung <install.html#Aktualisierung>`__ -#. `Fehlerbehebung <install.html#Fehlerbehebung>`__ -#. `Manuelles einspielen des - Images <install.html#ManuelleseinspielendesImages>`__ -#. `Weiterführende Links <install.html#WeiterführendeLinks>`__ -#. `Erste Schritte mit Freetz <newbie.html#ErsteSchrittemitFreetz>`__ - - #. `Fragen im Vorfeld <newbie.html#FragenimVorfeld>`__ - #. `Wie muß ich meinen PC einstellen damit ich ein Image bauen - kann? <newbie.html#WiemußichmeinenPCeinstellendamiticheinImagebauenkann>`__ - #. `Wie baue ich mein erstes eigenes Image - (Minimal-Image) <newbie.html#WiebaueichmeinersteseigenesImageMinimal-Image>`__ - #. `Der Flashvorgang <newbie.html#DerFlashvorgang>`__ - #. `Weiterführende Links <newbie.html#WeiterführendeLinks>`__ - -#. `External <external.html#External>`__ -#. `Konfiguration <external.html#Konfiguration>`__ -#. `Auswahl <external.html#Auswahl>`__ -#. `Installation <external.html#Installation>`__ -#. `Automatisches starten/stoppen von - Diensten <external.html#AutomatischesstartenstoppenvonDiensten>`__ -#. `Firmware-build-Prozess und - Update <external.html#Firmware-build-ProzessundUpdate>`__ -#. `Benutzer dauerhaft in der passwd - speichern <user.html#Benutzerdauerhaftinderpasswdspeichern>`__ - - #. `Beschreibung - (Freetz-1.2.x) <user.html#BeschreibungFreetz-1.2.x>`__ - #. `Beschreibung - (Freetz-1.1.x) <user.html#BeschreibungFreetz-1.1.x>`__ - -#. `Kleiner Webserver mit - BusyBox <busybox_httpd.html#KleinerWebservermitBusyBox>`__ - - #. `Weiterführende Links <busybox_httpd.html#WeiterführendeLinks>`__ - -#. `Konfiguration <install/menuconfig.html#Konfiguration>`__ - - #. `General <install/menuconfig.html#General>`__ - #. `Brandings <install/menuconfig.html#Brandings>`__ - #. `Mod <install/menuconfig.html#Mod>`__ - -#. `Freetz Linux <freetz_linux.html#FreetzLinux>`__ - - #. `Freetz Linux unter - VirtualBox <freetz_linux.html#FreetzLinuxunterVirtualBox>`__ - #. `Freetz Linux unter - VMWare <freetz_linux.html#FreetzLinuxunterVMWare>`__ - #. `Freetz Linux unter Virtual - PC <freetz_linux.html#FreetzLinuxunterVirtualPC>`__ - .. _KleinerWebservermitBusyBox: Kleiner Webserver mit BusyBox diff --git a/wiki/help/howtos/common/freetz_linux.rst b/wiki/help/howtos/common/freetz_linux.rst index 1d2b0b3..7286432 100644 --- a/wiki/help/howtos/common/freetz_linux.rst +++ b/wiki/help/howtos/common/freetz_linux.rst @@ -5,23 +5,6 @@ help/howtos/common/freetz_linux Freetz Linux ============ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Freetz Linux unter - VirtualBox <freetz_linux.html#FreetzLinuxunterVirtualBox>`__ -#. `Freetz Linux unter - VMWare <freetz_linux.html#FreetzLinuxunterVMWare>`__ - - #. `Freetz Linux unter VMware ESXi V4.1 Hypervisor (funktioniert auch - mit - … <freetz_linux.html#FreetzLinuxunterVMwareESXiV4.1HypervisorfunktioniertauchmitvSphereHypervisor5.5>`__ - #. `Freetz Linux unter VMware Player - V2.5 <freetz_linux.html#FreetzLinuxunterVMwarePlayerV2.5>`__ - -#. `Freetz Linux unter Virtual - PC <freetz_linux.html#FreetzLinuxunterVirtualPC>`__ - .. _FreetzLinuxunterVirtualBox: Freetz Linux unter VirtualBox diff --git a/wiki/help/howtos/common/install.en.rst b/wiki/help/howtos/common/install.en.rst index bc5cb6b..aa89252 100644 --- a/wiki/help/howtos/common/install.en.rst +++ b/wiki/help/howtos/common/install.en.rst @@ -1,55 +1,5 @@ help/howtos/common/install.en ============================= -Index -^^^^^ - -#. `Installation <install.en.html#Installation>`__ - - #. `Virtual LINUX: FriBoLi / StinkyLinux / - Freetz-Linux <install.en.html#VirtualLINUX:FriBoLiStinkyLinuxFreetz-Linux>`__ - - #. `Preparation <install.en.html#Preparation>`__ - #. `Execution <install.en.html#Execution>`__ - - #. `Linux <install.en.html#Linux>`__ - - #. `Notwendige Pakete <install.en.html#NotwendigePakete>`__ - - #. `freetz-1.0 <install.en.html#freetz-1.0>`__ - - #. `freetz-1.3 <install.en.html#freetz-1.3>`__ - - #. `aktuelle Entwicker Version und spezielle - Pakete <install.en.html#aktuelleEntwickerVersionundspeziellePakete>`__ - #. `alte Entwicker - Versionen <install.en.html#alteEntwickerVersionen>`__ - - #. `Installation der benötigten - Pakete <install.en.html#InstallationderbenötigtenPakete>`__ - #. `Erstellung & - Installation <install.en.html#ErstellungInstallation>`__ - - #. `coLinux / andLinux / - speedLinux <install.en.html#coLinuxandLinuxspeedLinux>`__ - #. `Cygwin <install.en.html#Cygwin>`__ - #. `Mac OS X <install.en.html#MacOSX>`__ - -#. `Aktualisierung <install.en.html#Aktualisierung>`__ -#. `Troubleshooting <install.en.html#Troubleshooting>`__ - - #. `AVM Firmware wird nicht - gefunden <install.en.html#AVMFirmwarewirdnichtgefunden>`__ - #. `Image too big <install.en.html#Imagetoobig>`__ - #. `Sonstige Probleme oder - Fehlermeldungen <install.en.html#SonstigeProblemeoderFehlermeldungen>`__ - -#. `Weiterführende Links <install.en.html#WeiterführendeLinks>`__ -#. `Konfiguration <install/menuconfig.html#Konfiguration>`__ - - #. `General <install/menuconfig.html#General>`__ - #. `Brandings <install/menuconfig.html#Brandings>`__ - #. `Mod <install/menuconfig.html#Mod>`__ - .. _Installation: Installation diff --git a/wiki/help/howtos/common/install.rst b/wiki/help/howtos/common/install.rst index 49d672e..38778df 100644 --- a/wiki/help/howtos/common/install.rst +++ b/wiki/help/howtos/common/install.rst @@ -1,50 +1,5 @@ help/howtos/common/install ========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Installation <install.html#Installation>`__ - - #. `Virtuelles Linux: Freetz-Linux für - VMware-Player <install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player>`__ - #. `Vorbereitung <install.html#Vorbereitung>`__ - #. `Durchführung mit Windows - OS <install.html#DurchführungmitWindowsOS>`__ - #. `Durchführung mit Linux - OS <install.html#DurchführungmitLinuxOS>`__ - - #. `Notwendige Pakete <install.html#NotwendigePakete>`__ - - #. `freetz-2.x (stabile - Version) <install.html#freetz-2.xstabileVersion>`__ - #. `aktuelle Entwicklerversion und spezielle - Pakete <install.html#aktuelleEntwicklerversionundspeziellePakete>`__ - #. `alte - Entwicklerversionen <install.html#alteEntwicklerversionen>`__ - - #. `Installation der benötigten Pakete - (Ubuntu) <install.html#InstallationderbenötigtenPaketeUbuntu>`__ - #. `Installation der benötigten Pakete - (Fedora) <install.html#InstallationderbenötigtenPaketeFedora>`__ - #. `Erstellung & - Installation <install.html#ErstellungInstallation>`__ - - #. `coLinux / andLinux / - speedLinux <install.html#coLinuxandLinuxspeedLinux>`__ - #. `Cygwin <install.html#Cygwin>`__ - #. `Mac OS X <install.html#MacOSX>`__ - -#. `Aktualisierung <install.html#Aktualisierung>`__ -#. `Fehlerbehebung <install.html#Fehlerbehebung>`__ -#. `Manuelles einspielen des - Images <install.html#ManuelleseinspielendesImages>`__ -#. `Weiterführende Links <install.html#WeiterführendeLinks>`__ -#. `Konfiguration <install/menuconfig.html#Konfiguration>`__ - - #. `General <install/menuconfig.html#General>`__ - #. `Brandings <install/menuconfig.html#Brandings>`__ - #. `Mod <install/menuconfig.html#Mod>`__ - .. _Installation: Installation diff --git a/wiki/help/howtos/common/install/menuconfig.rst b/wiki/help/howtos/common/install/menuconfig.rst index 2f8e820..df10d11 100644 --- a/wiki/help/howtos/common/install/menuconfig.rst +++ b/wiki/help/howtos/common/install/menuconfig.rst @@ -1,50 +1,5 @@ help/howtos/common/install/menuconfig ===================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Installation <../install.html#Installation>`__ - - #. `Virtuelles Linux: Freetz-Linux für - VMware-Player <../install.html#VirtuellesLinux:Freetz-LinuxfürVMware-Player>`__ - #. `Vorbereitung <../install.html#Vorbereitung>`__ - #. `Durchführung mit Windows - OS <../install.html#DurchführungmitWindowsOS>`__ - #. `Durchführung mit Linux - OS <../install.html#DurchführungmitLinuxOS>`__ - - #. `Notwendige Pakete <../install.html#NotwendigePakete>`__ - - #. `freetz-2.x (stabile - Version) <../install.html#freetz-2.xstabileVersion>`__ - #. `aktuelle Entwicklerversion und spezielle - Pakete <../install.html#aktuelleEntwicklerversionundspeziellePakete>`__ - #. `alte - Entwicklerversionen <../install.html#alteEntwicklerversionen>`__ - - #. `Installation der benötigten Pakete - (Ubuntu) <../install.html#InstallationderbenötigtenPaketeUbuntu>`__ - #. `Installation der benötigten Pakete - (Fedora) <../install.html#InstallationderbenötigtenPaketeFedora>`__ - #. `Erstellung & - Installation <../install.html#ErstellungInstallation>`__ - - #. `coLinux / andLinux / - speedLinux <../install.html#coLinuxandLinuxspeedLinux>`__ - #. `Cygwin <../install.html#Cygwin>`__ - #. `Mac OS X <../install.html#MacOSX>`__ - -#. `Aktualisierung <../install.html#Aktualisierung>`__ -#. `Fehlerbehebung <../install.html#Fehlerbehebung>`__ -#. `Manuelles einspielen des - Images <../install.html#ManuelleseinspielendesImages>`__ -#. `Weiterführende Links <../install.html#WeiterführendeLinks>`__ -#. `Konfiguration <menuconfig.html#Konfiguration>`__ - - #. `General <menuconfig.html#General>`__ - #. `Brandings <menuconfig.html#Brandings>`__ - #. `Mod <menuconfig.html#Mod>`__ - .. _Konfiguration: Konfiguration diff --git a/wiki/help/howtos/common/newbie.en.rst b/wiki/help/howtos/common/newbie.en.rst index ec4e8e1..1846e5f 100644 --- a/wiki/help/howtos/common/newbie.en.rst +++ b/wiki/help/howtos/common/newbie.en.rst @@ -5,36 +5,6 @@ help/howtos/common/newbie.en Freetz for beginners ==================== -Table of contents -^^^^^^^^^^^^^^^^^ - -#. `Some questions <newbie.en.html#Somequestions>`__ - - #. `What is Freetz? <newbie.en.html#WhatisFreetz>`__ - #. `What do I need to create a Freetz - image? <newbie.en.html#WhatdoIneedtocreateaFreetzimage>`__ - #. `What should I take into - consideration? <newbie.en.html#WhatshouldItakeintoconsideration>`__ - #. `What's my first Freetz-image supposed to - do? <newbie.en.html#WhatsmyfirstFreetz-imagesupposedtodo>`__ - #. `Why should I start with a minimal - image? <newbie.en.html#WhyshouldIstartwithaminimalimage>`__ - -#. `Do I need to adjust my computer in any way to create an - image? <newbie.en.html#DoIneedtoadjustmycomputerinanywaytocreateanimage>`__ -#. `How do I create my first minimal - image <newbie.en.html#HowdoIcreatemyfirstminimalimage>`__ - - #. `Starting Freetz <newbie.en.html#StartingFreetz>`__ - #. `Starting PuTTY <newbie.en.html#StartingPuTTY>`__ - #. `Settings in menuconfig <newbie.en.html#Settingsinmenuconfig>`__ - #. `Copying the image to your - computer <newbie.en.html#Copyingtheimagetoyourcomputer>`__ - #. `Shutdown Freetz-Linux <newbie.en.html#ShutdownFreetz-Linux>`__ - -#. `The flashing process <newbie.en.html#Theflashingprocess>`__ -#. `Links <newbie.en.html#Links>`__ - | .. _Somequestions: diff --git a/wiki/help/howtos/common/newbie.rst b/wiki/help/howtos/common/newbie.rst index 87f94e7..72bac3e 100644 --- a/wiki/help/howtos/common/newbie.rst +++ b/wiki/help/howtos/common/newbie.rst @@ -5,37 +5,6 @@ help/howtos/common/newbie Erste Schritte mit Freetz ========================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Fragen im Vorfeld <newbie.html#FragenimVorfeld>`__ - - #. `Was ist Freetz? <newbie.html#WasistFreetz>`__ - #. `Was brauche ich um ein Freetz-Image erstellen zu - können? <newbie.html#WasbraucheichumeinFreetz-Imageerstellenzukönnen>`__ - #. `Was sollte ich bedenken? <newbie.html#Wassollteichbedenken>`__ - #. `Was soll mein erstes Freetz-Image - können? <newbie.html#WassollmeinerstesFreetz-Imagekönnen>`__ - #. `Warum sollte ich mit einem Minimal-Image am Anfang - starten? <newbie.html#WarumsollteichmiteinemMinimal-ImageamAnfangstarten>`__ - -#. `Wie muß ich meinen PC einstellen damit ich ein Image bauen - kann? <newbie.html#WiemußichmeinenPCeinstellendamiticheinImagebauenkann>`__ -#. `Wie baue ich mein erstes eigenes Image - (Minimal-Image) <newbie.html#WiebaueichmeinersteseigenesImageMinimal-Image>`__ - - #. `Starten von Freetz <newbie.html#StartenvonFreetz>`__ - #. `PuTTY starten <newbie.html#PuTTYstarten>`__ - #. `Freetz Sourcen - auschecken <newbie.html#FreetzSourcenauschecken>`__ - #. `Einstellungen im - menuconfig <newbie.html#Einstellungenimmenuconfig>`__ - #. `Image auf den PC kopieren <newbie.html#ImageaufdenPCkopieren>`__ - #. `Freetz-Linux beenden <newbie.html#Freetz-Linuxbeenden>`__ - -#. `Der Flashvorgang <newbie.html#DerFlashvorgang>`__ -#. `Weiterführende Links <newbie.html#WeiterführendeLinks>`__ - | .. _FragenimVorfeld: diff --git a/wiki/help/howtos/common/newbie/errors.rst b/wiki/help/howtos/common/newbie/errors.rst index 0832c63..6a072d5 100644 --- a/wiki/help/howtos/common/newbie/errors.rst +++ b/wiki/help/howtos/common/newbie/errors.rst @@ -5,16 +5,6 @@ help/howtos/common/newbie/errors Was mache ich, wenn sich meine Box nicht Freetzen lässt ======================================================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `FAQ's lesen und Tickets - durchsuchen <errors.html#FAQslesenundTicketsdurchsuchen>`__ -#. `Suchfunktion des IPPF - benutzen <errors.html#SuchfunktiondesIPPFbenutzen>`__ -#. `Einen neuen Thread im IPPF - eröffnen <errors.html#EinenneuenThreadimIPPFeröffnen>`__ - | | Falls etwas schief gegangen ist bitte nicht verzweifeln und ganz in Ruhe die folgenden Punkte abarbeiten. Denn durch Freetz kann man eine diff --git a/wiki/help/howtos/common/shutdown.rst b/wiki/help/howtos/common/shutdown.rst index e1015ef..95c5c22 100644 --- a/wiki/help/howtos/common/shutdown.rst +++ b/wiki/help/howtos/common/shutdown.rst @@ -1,25 +1,5 @@ help/howtos/common/shutdown =========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Voraussetzungen <shutdown.html#Voraussetzungen>`__ -#. `Konfiguration der - Fritzbox <shutdown.html#KonfigurationderFritzbox>`__ - - #. `Keys erzeugen <shutdown.html#Keyserzeugen>`__ - #. `Konfiguration der Fritzbox für herunterzufahrenden - Linux-Rechner <shutdown.html#KonfigurationderFritzboxfürherunterzufahrendenLinux-Rechner>`__ - #. `Konfiguration der Fritzbox für herunterzufahrenden - Windows-Rechner <shutdown.html#KonfigurationderFritzboxfürherunterzufahrendenWindows-Rechner>`__ - -#. `Konfiguration des herunterzufahrenden - Linux-Rechners <shutdown.html#KonfigurationdesherunterzufahrendenLinux-Rechners>`__ -#. `Konfiguration des herunterzufahrenden Windows-Rechners (getestet - unter - … <shutdown.html#KonfigurationdesherunterzufahrendenWindows-RechnersgetestetunterWindowsXP>`__ -#. `Bemerkungen <shutdown.html#Bemerkungen>`__ - .. _RechnerimNetzherunterfahren: Rechner im Netz herunterfahren diff --git a/wiki/help/howtos/common/user.rst b/wiki/help/howtos/common/user.rst index a1c0e92..4d7e1b4 100644 --- a/wiki/help/howtos/common/user.rst +++ b/wiki/help/howtos/common/user.rst @@ -5,17 +5,6 @@ help/howtos/common/user Benutzer dauerhaft in der passwd speichern ========================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Beschreibung (Freetz-1.2.x) <user.html#BeschreibungFreetz-1.2.x>`__ -#. `Beschreibung (Freetz-1.1.x) <user.html#BeschreibungFreetz-1.1.x>`__ - - #. `Originalbeiträge zum - HowTo <user.html#OriginalbeiträgezumHowTo>`__ - #. `Vorgehen <user.html#Vorgehen>`__ - #. `Alternative <user.html#Alternative>`__ - .. _BeschreibungFreetz-1.2.x: Beschreibung (Freetz-1.2.x) diff --git a/wiki/help/howtos/common/wol.rst b/wiki/help/howtos/common/wol.rst index a68bdf0..52fc41e 100644 --- a/wiki/help/howtos/common/wol.rst +++ b/wiki/help/howtos/common/wol.rst @@ -1,17 +1,5 @@ help/howtos/common/wol ====================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Möglichkeiten der Nutzung von - WoL <wol.html#MöglichkeitenderNutzungvonWoL>`__ -#. `Callmonitor <wol.html#Callmonitor>`__ -#. `Shellscripte <wol.html#Shellscripte>`__ - - #. `Wake on LAN-Skript <wol.html#WakeonLAN-Skript>`__ - #. `Wake on LAN automatisieren (über - SSH) <wol.html#WakeonLANautomatisierenüberSSH>`__ - |<!>| **In Überarbeitung** .. _WakeonLanWoLmitderFritzbox: diff --git a/wiki/help/howtos/development/adam2.rst b/wiki/help/howtos/development/adam2.rst index 1dc19a7..88d00c4 100644 --- a/wiki/help/howtos/development/adam2.rst +++ b/wiki/help/howtos/development/adam2.rst @@ -1,335 +1,5 @@ help/howtos/development/adam2 ============================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _ADAM2-Bootloader: ADAM2-Bootloader diff --git a/wiki/help/howtos/development/analyse_image_names.rst b/wiki/help/howtos/development/analyse_image_names.rst index 61f633e..b45688f 100644 --- a/wiki/help/howtos/development/analyse_image_names.rst +++ b/wiki/help/howtos/development/analyse_image_names.rst @@ -1,335 +1,5 @@ help/howtos/development/analyse_image_names =========================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Firmware-Image-Namenanalysierenundinterpretieren: Firmware-Image-Namen analysieren und interpretieren diff --git a/wiki/help/howtos/development/compile_own_progs.rst b/wiki/help/howtos/development/compile_own_progs.rst index 3cfe0de..cc64860 100644 --- a/wiki/help/howtos/development/compile_own_progs.rst +++ b/wiki/help/howtos/development/compile_own_progs.rst @@ -1,335 +1,5 @@ help/howtos/development/compile_own_progs ========================================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _EigeneProgrammekompilieren: Eigene Programme kompilieren diff --git a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst index 944f7d2..c11b170 100644 --- a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst +++ b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst @@ -1,335 +1,5 @@ help/howtos/development/create_cross-compiler_toolchain ======================================================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Cross-CompilerToolchainerstellen: Cross-Compiler / Toolchain erstellen diff --git a/wiki/help/howtos/development/create_gui.rst b/wiki/help/howtos/development/create_gui.rst index eb8f543..73118b5 100644 --- a/wiki/help/howtos/development/create_gui.rst +++ b/wiki/help/howtos/development/create_gui.rst @@ -1,335 +1,5 @@ help/howtos/development/create_gui ================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _ErstelleneinerGUIfürPaketeinFreetz: Erstellen einer GUI für Pakete in Freetz diff --git a/wiki/help/howtos/development/firmware_update_details.rst b/wiki/help/howtos/development/firmware_update_details.rst index 2f04627..c9be351 100644 --- a/wiki/help/howtos/development/firmware_update_details.rst +++ b/wiki/help/howtos/development/firmware_update_details.rst @@ -1,335 +1,5 @@ help/howtos/development/firmware_update_details =============================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _AblaufeinesFirmware-Updates: Ablauf eines Firmware-Updates diff --git a/wiki/help/howtos/development/flash.rst b/wiki/help/howtos/development/flash.rst index f513810..a58ac0a 100644 --- a/wiki/help/howtos/development/flash.rst +++ b/wiki/help/howtos/development/flash.rst @@ -1,335 +1,5 @@ help/howtos/development/flash ============================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _FlashPartitionierung: Flash Partitionierung diff --git a/wiki/help/howtos/development/freetz_make.rst b/wiki/help/howtos/development/freetz_make.rst index 39dca02..e0fbea3 100644 --- a/wiki/help/howtos/development/freetz_make.rst +++ b/wiki/help/howtos/development/freetz_make.rst @@ -1,335 +1,5 @@ help/howtos/development/freetz_make =================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _FreetzBuild-Prozeß: Freetz Build-Prozeß diff --git a/wiki/help/howtos/development/install_addon.rst b/wiki/help/howtos/development/install_addon.rst index 0a1d7cc..cb0309f 100644 --- a/wiki/help/howtos/development/install_addon.rst +++ b/wiki/help/howtos/development/install_addon.rst @@ -1,335 +1,5 @@ help/howtos/development/install_addon ===================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _AddonPaketinstallieren: Addon Paket installieren diff --git a/wiki/help/howtos/development/integrate_own_files.rst b/wiki/help/howtos/development/integrate_own_files.rst index cd53eb0..70486dc 100644 --- a/wiki/help/howtos/development/integrate_own_files.rst +++ b/wiki/help/howtos/development/integrate_own_files.rst @@ -1,335 +1,5 @@ help/howtos/development/integrate_own_files =========================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _EigeneDateienindieFirmwareintegrieren: Eigene Dateien in die Firmware integrieren diff --git a/wiki/help/howtos/development/integrate_patches.rst b/wiki/help/howtos/development/integrate_patches.rst index be6ff95..2eb7c10 100644 --- a/wiki/help/howtos/development/integrate_patches.rst +++ b/wiki/help/howtos/development/integrate_patches.rst @@ -1,335 +1,5 @@ help/howtos/development/integrate_patches ========================================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _PatchesinFreetzeinspielen: Patches in Freetz einspielen diff --git a/wiki/help/howtos/development/make_busybox.rst b/wiki/help/howtos/development/make_busybox.rst index 792917b..e7e9149 100644 --- a/wiki/help/howtos/development/make_busybox.rst +++ b/wiki/help/howtos/development/make_busybox.rst @@ -1,335 +1,5 @@ help/howtos/development/make_busybox ==================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Busyboxkonfigurierenundkompilieren: Busybox konfigurieren und kompilieren diff --git a/wiki/help/howtos/development/make_kernel.rst b/wiki/help/howtos/development/make_kernel.rst index 0a8fcf8..a936e23 100644 --- a/wiki/help/howtos/development/make_kernel.rst +++ b/wiki/help/howtos/development/make_kernel.rst @@ -1,335 +1,5 @@ help/howtos/development/make_kernel =================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Kernelkonfigurierenundkompilieren: Kernel konfigurieren und kompilieren diff --git a/wiki/help/howtos/development/make_room.rst b/wiki/help/howtos/development/make_room.rst index 5cd9439..1d25839 100644 --- a/wiki/help/howtos/development/make_room.rst +++ b/wiki/help/howtos/development/make_room.rst @@ -1,335 +1,5 @@ help/howtos/development/make_room ================================= -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _PlatzsparenimDateisystemderFritzBox: Platz sparen im Dateisystem der FritzBox diff --git a/wiki/help/howtos/development/manipulation_detection.rst b/wiki/help/howtos/development/manipulation_detection.rst index 2988b2e..7402d19 100644 --- a/wiki/help/howtos/development/manipulation_detection.rst +++ b/wiki/help/howtos/development/manipulation_detection.rst @@ -1,335 +1,5 @@ help/howtos/development/manipulation_detection ============================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _WiedieFritzBoxManipulationenerkennt: Wie die FritzBox Manipulationen erkennt diff --git a/wiki/help/howtos/development/menuconfig.rst b/wiki/help/howtos/development/menuconfig.rst index f2d64c1..f196d11 100644 --- a/wiki/help/howtos/development/menuconfig.rst +++ b/wiki/help/howtos/development/menuconfig.rst @@ -1,20 +1,5 @@ help/howtos/development/menuconfig ================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Einstieg <menuconfig.html#Einstieg>`__ -#. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ -#. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ -#. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ -#. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ -#. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - .. _Menükonfigurationpflegen: Menükonfiguration pflegen diff --git a/wiki/help/howtos/development/package_creation.rst b/wiki/help/howtos/development/package_creation.rst index 6548d58..042b93f 100644 --- a/wiki/help/howtos/development/package_creation.rst +++ b/wiki/help/howtos/development/package_creation.rst @@ -1,335 +1,5 @@ help/howtos/development/package_creation ======================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - **Diese Beschreibung ist höchstwahrscheinlich nicht das Gesuchte, Verwendung auf eigene Gefahr! **\ `Hier gibt es eine Beschreibung zur Erstellung eines Pakets für ein diff --git a/wiki/help/howtos/development/release_management.rst b/wiki/help/howtos/development/release_management.rst index f801949..f1a6e53 100644 --- a/wiki/help/howtos/development/release_management.rst +++ b/wiki/help/howtos/development/release_management.rst @@ -5,22 +5,6 @@ help/howtos/development/release_management Release Management ================== -Table of Contents -^^^^^^^^^^^^^^^^^ - -#. `Subversion - Repository <release_management.html#SubversionRepository>`__ -#. `Checklists <release_management.html#Checklists>`__ - - #. `Creating a new stable - branch <release_management.html#Creatinganewstablebranch>`__ - #. `Tagging a new - release <release_management.html#Tagginganewrelease>`__ - -#. `GIT <release_management.html#GIT>`__ -#. `Downloads <release_management.html#Downloads>`__ -#. `References <release_management.html#References>`__ - **/!\\ Work In Progress /!\\** .. _SubversionRepository: diff --git a/wiki/help/howtos/development/repack_fw.rst b/wiki/help/howtos/development/repack_fw.rst index d5f00a8..15f3f8e 100644 --- a/wiki/help/howtos/development/repack_fw.rst +++ b/wiki/help/howtos/development/repack_fw.rst @@ -1,13 +1,5 @@ help/howtos/development/repack_fw ================================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ -#. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ -#. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - .. _EntpackenundPackenvonFirmware-Images: Entpacken und Packen von Firmware-Images diff --git a/wiki/help/howtos/development/save_mtd_1.rst b/wiki/help/howtos/development/save_mtd_1.rst index 1f882b4..19916d3 100644 --- a/wiki/help/howtos/development/save_mtd_1.rst +++ b/wiki/help/howtos/development/save_mtd_1.rst @@ -1,335 +1,5 @@ help/howtos/development/save_mtd_1 ================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Flash-PartitionenimlaufendenBetriebsichern: Flash-Partitionen im laufenden Betrieb sichern diff --git a/wiki/help/howtos/development/save_mtd_2.rst b/wiki/help/howtos/development/save_mtd_2.rst index e9a7c22..28a350b 100644 --- a/wiki/help/howtos/development/save_mtd_2.rst +++ b/wiki/help/howtos/development/save_mtd_2.rst @@ -1,335 +1,5 @@ help/howtos/development/save_mtd_2 ================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _Flash-PartitionenvonaußenmitFTPsichern: Flash-Partitionen von außen mit FTP sichern diff --git a/wiki/help/howtos/development/urlader_flags.rst b/wiki/help/howtos/development/urlader_flags.rst index 29db8a7..3ea5d7e 100644 --- a/wiki/help/howtos/development/urlader_flags.rst +++ b/wiki/help/howtos/development/urlader_flags.rst @@ -1,335 +1,5 @@ help/howtos/development/urlader_flags ===================================== -Howtos: Entwicklung -^^^^^^^^^^^^^^^^^^^ - -#. `Entpacken und Packen von - Firmware-Images <repack_fw.html#EntpackenundPackenvonFirmware-Images>`__ - - #. `Tools und Syntax <repack_fw.html#ToolsundSyntax>`__ - #. `Vorgehensweise <repack_fw.html#Vorgehensweise>`__ - #. `Verwendung von fwmod im "no - freetz"-Modus <repack_fw.html#Verwendungvonfwmodimnofreetz-Modus>`__ - -#. `Patches in Freetz - einspielen <integrate_patches.html#PatchesinFreetzeinspielen>`__ -#. `Example 3: - NZBGet <developer_information/package_development_start/example_3.html#Example3:NZBGet>`__ - - #. `Build - manually <developer_information/package_development_start/example_3.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_3.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_3.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_3.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_3.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 2: - par2cmdline <developer_information/package_development_start/example_2.html#Example2:par2cmdline>`__ - - #. `Build - manually <developer_information/package_development_start/example_2.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_2.html#AddpackagetoFreetz>`__ - #. `Create new image with added - package <developer_information/package_development_start/example_2.html#Createnewimagewithaddedpackage>`__ - #. `Testing <developer_information/package_development_start/example_2.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_2.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. `Example 1: - Httptunnel <developer_information/package_development_start/example_1.html#Example1:Httptunnel>`__ - - #. `Build - manually <developer_information/package_development_start/example_1.html#Buildmanually>`__ - #. `Add package to - Freetz <developer_information/package_development_start/example_1.html#AddpackagetoFreetz>`__ - #. `Call Procedures "make menuconfig" and - "make" <developer_information/package_development_start/example_1.html#CallProceduresmakemenuconfigandmake>`__ - #. `Testing <developer_information/package_development_start/example_1.html#Testing>`__ - #. `Preparing New Package for Public Integration to Freetz - Trunk <developer_information/package_development_start/example_1.html#PreparingNewPackageforPublicIntegrationtoFreetzTrunk>`__ - -#. - - #. `Signieren von Firmware <sign_image.html#SignierenvonFirmware>`__ - #. `Konkrete Anwendung in - Freetz <sign_image.html#KonkreteAnwendunginFreetz>`__ - -#. `Ablauf eines - Firmware-Updates <firmware_update_details.html#AblaufeinesFirmware-Updates>`__ -#. `Eigene Programme - kompilieren <compile_own_progs.html#EigeneProgrammekompilieren>`__ -#. `Dynamische Bandbreitenanzeige per - SVG <bandwidth_svg.html#DynamischeBandbreitenanzeigeperSVG>`__ - - #. `Anleitung zur - Test-Installation <bandwidth_svg.html#AnleitungzurTest-Installation>`__ - -#. `Platz sparen im Dateisystem der - FritzBox <make_room.html#PlatzsparenimDateisystemderFritzBox>`__ - - #. `Vorwort und Motivation <make_room.html#VorwortundMotivation>`__ - #. `Bestandsaufnahme: Wo stecken die - Platzfresser? <make_room.html#Bestandsaufnahme:WosteckendiePlatzfresser>`__ - #. `Weitere Spartricks <make_room.html#WeitereSpartricks>`__ - #. `Schlußwort <make_room.html#Schlußwort>`__ - -#. `Flash-Partitionen im laufenden Betrieb - sichern <save_mtd_1.html#Flash-PartitionenimlaufendenBetriebsichern>`__ - - #. `Motivation <save_mtd_1.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_1.html#Voraussetzungen>`__ - #. `Lösungsweg <save_mtd_1.html#Lösungsweg>`__ - #. `Wege, sich schnell einen Überblick zu - verschaffen <save_mtd_1.html#WegesichschnelleinenÜberblickzuverschaffen>`__ - #. `Zusammenfassung <save_mtd_1.html#Zusammenfassung>`__ - -#. `Release Management <release_management.html#ReleaseManagement>`__ - - #. `Subversion - Repository <release_management.html#SubversionRepository>`__ - #. `Checklists <release_management.html#Checklists>`__ - #. `GIT <release_management.html#GIT>`__ - #. `Downloads <release_management.html#Downloads>`__ - #. `References <release_management.html#References>`__ - -#. `First steps - How to start your first freetz - package <developer_information/package_development_start.html#Firststeps-Howtostartyourfirstfreetzpackage>`__ - - #. `Info <developer_information/package_development_start.html#Info>`__ - #. `Build - Environment <developer_information/package_development_start.html#BuildEnvironment>`__ - #. `File - Structure <developer_information/package_development_start.html#FileStructure>`__ - #. `Examples Binary - Package <developer_information/package_development_start.html#ExamplesBinaryPackage>`__ - #. `Configuration - Handling <developer_information/package_development_start.html#ConfigurationHandling>`__ - #. `Examples - Web-Interface <developer_information/package_development_start.html#ExamplesWeb-Interface>`__ - #. `Trouble - shooting <developer_information/package_development_start.html#Troubleshooting>`__ - -#. `Kernel konfigurieren und - kompilieren <make_kernel.html#Kernelkonfigurierenundkompilieren>`__ -#. `Menükonfiguration - pflegen <menuconfig.html#Menükonfigurationpflegen>`__ - - #. `Einstieg <menuconfig.html#Einstieg>`__ - #. `Beispiel-Konfiguration für ein neues - Paket <menuconfig.html#Beispiel-KonfigurationfüreinneuesPaket>`__ - #. `Menuconfig-Warnungen - beheben <menuconfig.html#Menuconfig-Warnungenbeheben>`__ - #. `Erklärung und Anwendung der erweiterten - MK-Targets <menuconfig.html#ErklärungundAnwendungdererweitertenMK-Targets>`__ - #. `Syntax-Fehler in MK-Dateien - finden <menuconfig.html#Syntax-FehlerinMK-Dateienfinden>`__ - #. `Syntax-Hervorhebung für - MK-Dateien <menuconfig.html#Syntax-HervorhebungfürMK-Dateien>`__ - -#. `ADAM2-Bootloader <adam2.html#ADAM2-Bootloader>`__ - - #. `Bootloader-Backup - anlegen <adam2.html#Bootloader-Backupanlegen>`__ - #. `Bootloader überschreiben <adam2.html#Bootloaderüberschreiben>`__ - #. `Bootloader-Befehle <adam2.html#Bootloader-Befehle>`__ - #. `Bootloader-Quelltext <adam2.html#Bootloader-Quelltext>`__ - #. `Aufbau des Bootloaders <adam2.html#AufbaudesBootloaders>`__ - #. `Bootloader und Freetz <adam2.html#BootloaderundFreetz>`__ - -#. `Einstellungen speichern im - Urlader-Environment <urlader_flags.html#EinstellungenspeichernimUrlader-Environment>`__ - - #. `Vorwort und - Motivation <urlader_flags.html#VorwortundMotivation>`__ - #. `Lösungsmöglichkeiten <urlader_flags.html#Lösungsmöglichkeiten>`__ - #. `Bootloader - Environment <urlader_flags.html#BootloaderEnvironment>`__ - #. `Variable - "kernel_args" <urlader_flags.html#Variablekernel_args>`__ - #. `Kernel_Args-API <urlader_flags.html#Kernel_Args-API>`__ - #. `Mögliche - Anwendungsfälle <urlader_flags.html#MöglicheAnwendungsfälle>`__ - -#. `Busybox konfigurieren und - kompilieren <make_busybox.html#Busyboxkonfigurierenundkompilieren>`__ -#. `Wie baue ich ein eigenes Paket für - Freetz? <package_creation.html#WiebaueicheineigenesPaketfürFreetz>`__ -#. `Firmware-Image-Namen analysieren und - interpretieren <analyse_image_names.html#Firmware-Image-Namenanalysierenundinterpretieren>`__ - - #. `Einleitung <analyse_image_names.html#Einleitung>`__ - #. `Skript-Code <analyse_image_names.html#Skript-Code>`__ - #. `Daten im Rohformat <analyse_image_names.html#DatenimRohformat>`__ - #. `Ausgabe grundlegender - Informationen <analyse_image_names.html#AusgabegrundlegenderInformationen>`__ - #. `Ausgabe erweiterter - Informationen <analyse_image_names.html#AusgabeerweiterterInformationen>`__ - -#. - - #. `Web-interface - HTTPTunnel <developer_information/package_development_start/webinterface_example_1.html#Web-interfaceHTTPTunnel>`__ - -#. `Developer - Information <developer_information.html#DeveloperInformation>`__ -#. `Addon Paket - installieren <install_addon.html#AddonPaketinstallieren>`__ -#. `Paketverwaltung für - Freetz <developer_information/package_development_dynamic.html#PaketverwaltungfürFreetz>`__ - - #. `Erweiterung des - Dateisystems <developer_information/package_development_dynamic.html#ErweiterungdesDateisystems>`__ - #. `Paketverwaltung <developer_information/package_development_dynamic.html#Paketverwaltung>`__ - #. `Links <developer_information/package_development_dynamic.html#Links>`__ - #. `Kommentare <developer_information/package_development_dynamic.html#Kommentare>`__ - -#. `Wie die FritzBox Manipulationen - erkennt <manipulation_detection.html#WiedieFritzBoxManipulationenerkennt>`__ - - #. `Ursachen <manipulation_detection.html#Ursachen>`__ - #. `Diagnose <manipulation_detection.html#Diagnose>`__ - #. `Lösungen <manipulation_detection.html#Lösungen>`__ - #. `Schlußwort und - Ausblick <manipulation_detection.html#SchlußwortundAusblick>`__ - -#. `Shell Coding - Conventions <developer_information/shell_coding_conventions.html#ShellCodingConventions>`__ - - #. `Shell - Language <developer_information/shell_coding_conventions.html#ShellLanguage>`__ - #. `Basic - Format <developer_information/shell_coding_conventions.html#BasicFormat>`__ - #. `If, For, and - While <developer_information/shell_coding_conventions.html#IfForandWhile>`__ - #. `Test - Built-in <developer_information/shell_coding_conventions.html#TestBuilt-in>`__ - #. `Single-line conditional - statements <developer_information/shell_coding_conventions.html#Single-lineconditionalstatements>`__ - #. `Infinite - Loops <developer_information/shell_coding_conventions.html#InfiniteLoops>`__ - #. `Exit Status and If/While - Statements <developer_information/shell_coding_conventions.html#ExitStatusandIfWhileStatements>`__ - #. `Variable - References <developer_information/shell_coding_conventions.html#VariableReferences>`__ - #. `Variable - Naming <developer_information/shell_coding_conventions.html#VariableNaming>`__ - #. `Quoting <developer_information/shell_coding_conventions.html#Quoting>`__ - #. `Variable - Assignments <developer_information/shell_coding_conventions.html#VariableAssignments>`__ - #. `Testing for (Non-)Empty - Strings <developer_information/shell_coding_conventions.html#TestingforNon-EmptyStrings>`__ - #. `Commenting <developer_information/shell_coding_conventions.html#Commenting>`__ - #. `Pathnames <developer_information/shell_coding_conventions.html#Pathnames>`__ - #. `Interpreter - Magic <developer_information/shell_coding_conventions.html#InterpreterMagic>`__ - -#. `Package - Development <developer_information/package_development.html#PackageDevelopment>`__ - - #. `Persistent Package - Settings <developer_information/package_development.html#PersistentPackageSettings>`__ - -#. `Erstellen einer GUI für Pakete in - Freetz <create_gui.html#ErstelleneinerGUIfürPaketeinFreetz>`__ - - #. `Motivation <create_gui.html#Motivation>`__ - #. `Grundlagen <create_gui.html#Grundlagen>`__ - #. `Wie funktioniert das mit der - GUI? <create_gui.html#WiefunktioniertdasmitderGUI>`__ - -#. `Flash Partitionierung <flash.html#FlashPartitionierung>`__ - - #. `Hidden SquashFS <flash.html#HiddenSquashFS>`__ - #. `Contiguous SquashFS <flash.html#ContiguousSquashFS>`__ - #. `Hidden Root <flash.html#HiddenRoot>`__ - #. `NAND Root <flash.html#NANDRoot>`__ - #. `Dateisystem <flash.html#Dateisystem>`__ - #. `Kernel <flash.html#Kernel>`__ - #. `Weblinks <flash.html#Weblinks>`__ - -#. `Trac - Hooks <developer_information/post_commit_hook.html#TracHooks>`__ - - #. `trac-post-commit-hook <developer_information/post_commit_hook.html#trac-post-commit-hook>`__ - #. `trac-post-revprop-change-hook <developer_information/post_commit_hook.html#trac-post-revprop-change-hook>`__ - -#. `Package Developing - Advanced - Topics <developer_information/package_development_advanced.html#PackageDeveloping-AdvancedTopics>`__ - - #. `Adding conditional - patches <developer_information/package_development_advanced.html#Addingconditionalpatches>`__ - #. `Adding multi-binary - packages <developer_information/package_development_advanced.html#Addingmulti-binarypackages>`__ - -#. `Eigene Dateien in die Firmware - integrieren <integrate_own_files.html#EigeneDateienindieFirmwareintegrieren>`__ - - #. `Feste Integration über das Freetz - Image <integrate_own_files.html#FesteIntegrationüberdasFreetzImage>`__ - #. `Erzeugen der Dateien aus der - debug.cfg <integrate_own_files.html#ErzeugenderDateienausderdebug.cfg>`__ - #. `Nachladen vom - Webserver <integrate_own_files.html#NachladenvomWebserver>`__ - #. `Nachladen vom - USB-Stick <integrate_own_files.html#NachladenvomUSB-Stick>`__ - #. `WebDAV Share - mounten <integrate_own_files.html#WebDAVSharemounten>`__ - #. `NFS-Share mounten <integrate_own_files.html#NFS-Sharemounten>`__ - -#. `Freetz Build-Prozeß <freetz_make.html#FreetzBuild-Prozeß>`__ - - #. `Vorwort und Motivation <freetz_make.html#VorwortundMotivation>`__ - #. `Grundsätzliches <freetz_make.html#Grundsätzliches>`__ - -#. `Flash-Partitionen von außen mit FTP - sichern <save_mtd_2.html#Flash-PartitionenvonaußenmitFTPsichern>`__ - - #. `Motivation <save_mtd_2.html#Motivation>`__ - #. `Voraussetzungen <save_mtd_2.html#Voraussetzungen>`__ - #. `Allgemeine Informationen zur - Datensicherung <save_mtd_2.html#AllgemeineInformationenzurDatensicherung>`__ - #. `Sicherung mit Linux-Standard-FTP - (ftp) <save_mtd_2.html#SicherungmitLinux-Standard-FTPftp>`__ - #. `Sicherung mit Linux-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitLinux-NcFTPncftpget>`__ - #. `Sicherung mit Cygwin-NcFTP - (ncftpget) <save_mtd_2.html#SicherungmitCygwin-NcFTPncftpget>`__ - #. `Uploads via FTP <save_mtd_2.html#UploadsviaFTP>`__ - -#. `libmodcgi.sh <developer_information/webif/libmodcgi.html#libmodcgi.sh>`__ - - #. `cgi <developer_information/webif/libmodcgi.html#cgi>`__ - #. `cgi_begin <developer_information/webif/libmodcgi.html#cgi_begin>`__ - #. `cgi_end <developer_information/webif/libmodcgi.html#cgi_end>`__ - #. `sec_begin <developer_information/webif/libmodcgi.html#sec_begin>`__ - #. `sec_end <developer_information/webif/libmodcgi.html#sec_end>`__ - #. `html <developer_information/webif/libmodcgi.html#html>`__ - #. `check, - select <developer_information/webif/libmodcgi.html#checkselect>`__ - #. `href <developer_information/webif/libmodcgi.html#href>`__ - #. `back_button <developer_information/webif/libmodcgi.html#back_button>`__ - #. `sec_level <developer_information/webif/libmodcgi.html#sec_level>`__ - #. `stat_bar <developer_information/webif/libmodcgi.html#stat_bar>`__ - #. `cgi_param <developer_information/webif/libmodcgi.html#cgi_param>`__ - #. `cgi_error, - print_error <developer_information/webif/libmodcgi.html#cgi_errorprint_error>`__ - #. `path_info <developer_information/webif/libmodcgi.html#path_info>`__ - #. `valid <developer_information/webif/libmodcgi.html#valid>`__ - -#. `Cross-Compiler / Toolchain - erstellen <create_cross-compiler_toolchain.html#Cross-CompilerToolchainerstellen>`__ -#. `Eigene Download-Toolchain - erstellen <create_cross-compiler_toolchain.html#EigeneDownload-Toolchainerstellen>`__ -#. `Target/Native-Compiler-Toolchain - erstellen <create_cross-compiler_toolchain.html#TargetNative-Compiler-Toolchainerstellen>`__ - - #. `Using the dev-tools package to install compiler and - tools <create_cross-compiler_toolchain.html#Usingthedev-toolspackagetoinstallcompilerandtools>`__ - .. _EinstellungenspeichernimUrlader-Environment: Einstellungen speichern im Urlader-Environment diff --git a/wiki/help/howtos/security.rst b/wiki/help/howtos/security.rst index 1444bb6..2e395c2 100644 --- a/wiki/help/howtos/security.rst +++ b/wiki/help/howtos/security.rst @@ -1,79 +1,5 @@ help/howtos/security ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration des eingebauten - Switches <security/switch_config.html#KonfigurationdeseingebautenSwitches>`__ - - #. `Vorwort <security/switch_config.html#Vorwort>`__ - #. `Vordefinierte - Switch-Konfigurationen <security/switch_config.html#VordefinierteSwitch-Konfigurationen>`__ - - #. `Modus "special" <security/switch_config.html#Modusspecial>`__ - #. `Patch des - Standard-Modus <security/switch_config.html#PatchdesStandard-Modus>`__ - - #. `Anpassungen in der - ar7.cfg <security/switch_config.html#Anpassungeninderar7.cfg>`__ - #. `Beispiel <security/switch_config.html#Beispiel>`__ - #. `Sicherheits-Warnung <security/switch_config.html#Sicherheits-Warnung>`__ - #. `Kompatibilität <security/switch_config.html#Kompatibilität>`__ - - #. ` <security/switch_config.html#a>`__ - #. `Änderungen 7270v2 vs. - 7270v3 <security/switch_config.html#Änderungen7270v2vs.7270v3>`__ - -#. `Benutzerverwaltung <security/user_management.html#Benutzerverwaltung>`__ - - #. `Benutzer - anlegen <security/user_management.html#Benutzeranlegen>`__ - - #. `Freetz <security/user_management.html#Freetz>`__ - #. `ds-mod <security/user_management.html#ds-mod>`__ - - #. `Benutzer - löschen <security/user_management.html#Benutzerlöschen>`__ - - #. `Freetz <security/user_management.html#Freetz1>`__ - #. `ds-mod <security/user_management.html#ds-mod1>`__ - - #. `Manuelle - Anpassungen <security/user_management.html#ManuelleAnpassungen>`__ - #. `Besonderheiten <security/user_management.html#Besonderheiten>`__ - - #. `Dropbear <security/user_management.html#Dropbear>`__ - -#. `WLAN von LAN trennen mit - iptables <security/split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ - - #. `FRITZBox - Einstellung <security/split_wlan_lan.html#FRITZBoxEinstellung>`__ - #. `iptables <security/split_wlan_lan.html#iptables>`__ - - #. `Netzwerk - sichern <security/split_wlan_lan.html#Netzwerksichern>`__ - #. `Zugriffe - erlauben <security/split_wlan_lan.html#Zugriffeerlauben>`__ - #. `Beispiele <security/split_wlan_lan.html#Beispiele>`__ - -#. `Freetz als interner Router mit - Firewall <security/router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ - - #. `Zielgruppe <security/router_and_firewall.html#Zielgruppe>`__ - #. `Beispielszenario <security/router_and_firewall.html#Beispielszenario>`__ - #. `Die Fritzbox - modden <security/router_and_firewall.html#DieFritzboxmodden>`__ - #. `Die Fritzbox auf getrennte Netze - umstellen <security/router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ - #. `Erstellen der - Routen <security/router_and_firewall.html#ErstellenderRouten>`__ - #. `Die - Rückrouten <security/router_and_firewall.html#DieRückrouten>`__ - #. `Firewall <security/router_and_firewall.html#Firewall>`__ - #. `FIXME kopierter - Post <security/router_and_firewall.html#FIXMEkopierterPost>`__ - .. _Security: Security diff --git a/wiki/help/howtos/security/router_and_firewall.rst b/wiki/help/howtos/security/router_and_firewall.rst index 5166ce7..ea58be1 100644 --- a/wiki/help/howtos/security/router_and_firewall.rst +++ b/wiki/help/howtos/security/router_and_firewall.rst @@ -1,50 +1,5 @@ help/howtos/security/router_and_firewall ======================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration des eingebauten - Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ - - #. `Vorwort <switch_config.html#Vorwort>`__ - #. `Vordefinierte - Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ - #. `Anpassungen in der - ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ - #. `Beispiel <switch_config.html#Beispiel>`__ - #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ - #. `Kompatibilität <switch_config.html#Kompatibilität>`__ - -#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ - - #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ - #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ - #. `Manuelle - Anpassungen <user_management.html#ManuelleAnpassungen>`__ - #. `Besonderheiten <user_management.html#Besonderheiten>`__ - -#. `WLAN von LAN trennen mit - iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ - - #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ - #. `iptables <split_wlan_lan.html#iptables>`__ - -#. `Freetz als interner Router mit - Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ - - #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ - #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ - #. `Die Fritzbox - modden <router_and_firewall.html#DieFritzboxmodden>`__ - #. `Die Fritzbox auf getrennte Netze - umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ - #. `Erstellen der - Routen <router_and_firewall.html#ErstellenderRouten>`__ - #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ - #. `Firewall <router_and_firewall.html#Firewall>`__ - #. `FIXME kopierter - Post <router_and_firewall.html#FIXMEkopierterPost>`__ - .. _FreetzalsinternerRoutermitFirewall: Freetz als interner Router mit Firewall diff --git a/wiki/help/howtos/security/split_wlan_lan.rst b/wiki/help/howtos/security/split_wlan_lan.rst index c77c6ba..ad20cb0 100644 --- a/wiki/help/howtos/security/split_wlan_lan.rst +++ b/wiki/help/howtos/security/split_wlan_lan.rst @@ -1,50 +1,5 @@ help/howtos/security/split_wlan_lan =================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration des eingebauten - Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ - - #. `Vorwort <switch_config.html#Vorwort>`__ - #. `Vordefinierte - Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ - #. `Anpassungen in der - ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ - #. `Beispiel <switch_config.html#Beispiel>`__ - #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ - #. `Kompatibilität <switch_config.html#Kompatibilität>`__ - -#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ - - #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ - #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ - #. `Manuelle - Anpassungen <user_management.html#ManuelleAnpassungen>`__ - #. `Besonderheiten <user_management.html#Besonderheiten>`__ - -#. `WLAN von LAN trennen mit - iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ - - #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ - #. `iptables <split_wlan_lan.html#iptables>`__ - -#. `Freetz als interner Router mit - Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ - - #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ - #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ - #. `Die Fritzbox - modden <router_and_firewall.html#DieFritzboxmodden>`__ - #. `Die Fritzbox auf getrennte Netze - umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ - #. `Erstellen der - Routen <router_and_firewall.html#ErstellenderRouten>`__ - #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ - #. `Firewall <router_and_firewall.html#Firewall>`__ - #. `FIXME kopierter - Post <router_and_firewall.html#FIXMEkopierterPost>`__ - .. _WLANvonLANtrennenmitiptables: WLAN von LAN trennen mit iptables diff --git a/wiki/help/howtos/security/switch_config.rst b/wiki/help/howtos/security/switch_config.rst index 87cf7af..a8928ee 100644 --- a/wiki/help/howtos/security/switch_config.rst +++ b/wiki/help/howtos/security/switch_config.rst @@ -1,50 +1,5 @@ help/howtos/security/switch_config ================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration des eingebauten - Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ - - #. `Vorwort <switch_config.html#Vorwort>`__ - #. `Vordefinierte - Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ - #. `Anpassungen in der - ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ - #. `Beispiel <switch_config.html#Beispiel>`__ - #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ - #. `Kompatibilität <switch_config.html#Kompatibilität>`__ - -#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ - - #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ - #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ - #. `Manuelle - Anpassungen <user_management.html#ManuelleAnpassungen>`__ - #. `Besonderheiten <user_management.html#Besonderheiten>`__ - -#. `WLAN von LAN trennen mit - iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ - - #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ - #. `iptables <split_wlan_lan.html#iptables>`__ - -#. `Freetz als interner Router mit - Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ - - #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ - #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ - #. `Die Fritzbox - modden <router_and_firewall.html#DieFritzboxmodden>`__ - #. `Die Fritzbox auf getrennte Netze - umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ - #. `Erstellen der - Routen <router_and_firewall.html#ErstellenderRouten>`__ - #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ - #. `Firewall <router_and_firewall.html#Firewall>`__ - #. `FIXME kopierter - Post <router_and_firewall.html#FIXMEkopierterPost>`__ - .. _KonfigurationdeseingebautenSwitches: Konfiguration des eingebauten Switches diff --git a/wiki/help/howtos/security/user_management.rst b/wiki/help/howtos/security/user_management.rst index c5325dc..5065aca 100644 --- a/wiki/help/howtos/security/user_management.rst +++ b/wiki/help/howtos/security/user_management.rst @@ -1,50 +1,5 @@ help/howtos/security/user_management ==================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration des eingebauten - Switches <switch_config.html#KonfigurationdeseingebautenSwitches>`__ - - #. `Vorwort <switch_config.html#Vorwort>`__ - #. `Vordefinierte - Switch-Konfigurationen <switch_config.html#VordefinierteSwitch-Konfigurationen>`__ - #. `Anpassungen in der - ar7.cfg <switch_config.html#Anpassungeninderar7.cfg>`__ - #. `Beispiel <switch_config.html#Beispiel>`__ - #. `Sicherheits-Warnung <switch_config.html#Sicherheits-Warnung>`__ - #. `Kompatibilität <switch_config.html#Kompatibilität>`__ - -#. `Benutzerverwaltung <user_management.html#Benutzerverwaltung>`__ - - #. `Benutzer anlegen <user_management.html#Benutzeranlegen>`__ - #. `Benutzer löschen <user_management.html#Benutzerlöschen>`__ - #. `Manuelle - Anpassungen <user_management.html#ManuelleAnpassungen>`__ - #. `Besonderheiten <user_management.html#Besonderheiten>`__ - -#. `WLAN von LAN trennen mit - iptables <split_wlan_lan.html#WLANvonLANtrennenmitiptables>`__ - - #. `FRITZBox Einstellung <split_wlan_lan.html#FRITZBoxEinstellung>`__ - #. `iptables <split_wlan_lan.html#iptables>`__ - -#. `Freetz als interner Router mit - Firewall <router_and_firewall.html#FreetzalsinternerRoutermitFirewall>`__ - - #. `Zielgruppe <router_and_firewall.html#Zielgruppe>`__ - #. `Beispielszenario <router_and_firewall.html#Beispielszenario>`__ - #. `Die Fritzbox - modden <router_and_firewall.html#DieFritzboxmodden>`__ - #. `Die Fritzbox auf getrennte Netze - umstellen <router_and_firewall.html#DieFritzboxaufgetrennteNetzeumstellen>`__ - #. `Erstellen der - Routen <router_and_firewall.html#ErstellenderRouten>`__ - #. `Die Rückrouten <router_and_firewall.html#DieRückrouten>`__ - #. `Firewall <router_and_firewall.html#Firewall>`__ - #. `FIXME kopierter - Post <router_and_firewall.html#FIXMEkopierterPost>`__ - .. _Benutzerverwaltung: Benutzerverwaltung diff --git a/wiki/help/howtos/troubleshoot.rst b/wiki/help/howtos/troubleshoot.rst index 6e54189..0f4d253 100644 --- a/wiki/help/howtos/troubleshoot.rst +++ b/wiki/help/howtos/troubleshoot.rst @@ -1,24 +1,5 @@ help/howtos/troubleshoot ======================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Kaputtes Telefonbuch - reparieren <troubleshoot/repair_phonebook.html#KaputtesTelefonbuchreparieren>`__ - - #. `Symptom <troubleshoot/repair_phonebook.html#Symptom>`__ - #. `Ursache <troubleshoot/repair_phonebook.html#Ursache>`__ - #. `Lösung <troubleshoot/repair_phonebook.html#Lösung>`__ - -#. `Häufige selbständige - Reboots <troubleshoot/reboots.html#HäufigeselbständigeReboots>`__ - - #. `Weiterführende - Links <troubleshoot/reboots.html#WeiterführendeLinks>`__ - -#. `Original Firmware - wiederherstellen <troubleshoot/recover_firmware.html#OriginalFirmwarewiederherstellen>`__ - .. _Troubleshooting: Troubleshooting diff --git a/wiki/help/irc.rst b/wiki/help/irc.rst index e96b176..ff4fb4e 100644 --- a/wiki/help/irc.rst +++ b/wiki/help/irc.rst @@ -1,14 +1,5 @@ help/irc ======== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Intro <irc.html#Intro>`__ -#. `IRC Netiquette <irc.html#IRCNetiquette>`__ -#. `Troubleshooting IRC <irc.html#TroubleshootingIRC>`__ -#. `Konfiguration Chatzilla-Plugin in - Firefox <irc.html#KonfigurationChatzilla-PlugininFirefox>`__ - .. _Intro: Intro diff --git a/wiki/help/trouble_shooting.rst b/wiki/help/trouble_shooting.rst index 8a229d4..974f834 100644 --- a/wiki/help/trouble_shooting.rst +++ b/wiki/help/trouble_shooting.rst @@ -1,15 +1,5 @@ help/trouble_shooting ===================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Troubleshooting <trouble_shooting.html#Troubleshooting>`__ - - #. `Troubleshooting - .config <trouble_shooting.html#Troubleshooting.config>`__ - #. `Troubleshooting - Build-Abbruch <trouble_shooting.html#TroubleshootingBuild-Abbruch>`__ - .. _Troubleshooting: Troubleshooting diff --git a/wiki/help/wikiedit.rst b/wiki/help/wikiedit.rst index 67c3370..5e86a81 100644 --- a/wiki/help/wikiedit.rst +++ b/wiki/help/wikiedit.rst @@ -1,69 +1,5 @@ help/wikiedit ============= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <wikiedit/goodies.html#WikiGoodies>`__ - - #. `Smileys <wikiedit/goodies.html#Smileys>`__ - #. `Symbols <wikiedit/goodies.html#Symbols>`__ - #. `Entities <wikiedit/goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <wikiedit/formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <wikiedit/formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <wikiedit/formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <wikiedit/formatting_guide.html#Überschriften>`__ - #. `Artikeltext <wikiedit/formatting_guide.html#Artikeltext>`__ - #. `Screenshots <wikiedit/formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <wikiedit/formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <wikiedit/formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <wikiedit/formatting_guide.html#Tags>`__ - -#. `Tabellen <wikiedit/tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <wikiedit/tables.html#ÜberblickderverschiedenenFormate>`__ - #. `Anwendung: Wie erstelle ich eine - Tabelle? <wikiedit/tables.html#Anwendung:WieerstelleicheineTabelle>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <wikiedit/toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten - einbeziehen <wikiedit/toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe - einschränken <wikiedit/toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <wikiedit/toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <wikiedit/toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <wikiedit/tagging.html#Tagging>`__ - - #. `Was und wozu sind - Tags? <wikiedit/tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man - Tags? <wikiedit/tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <wikiedit/tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu - beachten? <wikiedit/tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <wikiedit/screenshots.html#Screenshots>`__ - - #. `Screenhots - hochladen <wikiedit/screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <wikiedit/screenshots.html#Screenhotsfinden>`__ - #. `Screenshots - referenzieren <wikiedit/screenshots.html#Screenshotsreferenzieren>`__ - .. _WikiBearbeitung-TippsundTricks: Wiki Bearbeitung - Tipps und Tricks diff --git a/wiki/help/wikiedit/formatting_guide.rst b/wiki/help/wikiedit/formatting_guide.rst index b5b3dc2..69b5f5c 100644 --- a/wiki/help/wikiedit/formatting_guide.rst +++ b/wiki/help/wikiedit/formatting_guide.rst @@ -1,79 +1,5 @@ help/wikiedit/formatting_guide ============================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _Formatierungs-Guidelines: Formatierungs-Guidelines diff --git a/wiki/help/wikiedit/goodies.rst b/wiki/help/wikiedit/goodies.rst index b079bc9..b42cc77 100644 --- a/wiki/help/wikiedit/goodies.rst +++ b/wiki/help/wikiedit/goodies.rst @@ -1,79 +1,5 @@ help/wikiedit/goodies ===================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _WikiGoodies: Wiki Goodies diff --git a/wiki/help/wikiedit/screenshots.rst b/wiki/help/wikiedit/screenshots.rst index 4c99f15..1f03749 100644 --- a/wiki/help/wikiedit/screenshots.rst +++ b/wiki/help/wikiedit/screenshots.rst @@ -1,79 +1,5 @@ help/wikiedit/screenshots ========================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _Screenshots: Screenshots diff --git a/wiki/help/wikiedit/tables.rst b/wiki/help/wikiedit/tables.rst index 7a713de..4ae96b6 100644 --- a/wiki/help/wikiedit/tables.rst +++ b/wiki/help/wikiedit/tables.rst @@ -1,79 +1,5 @@ help/wikiedit/tables ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _Tabellen: Tabellen diff --git a/wiki/help/wikiedit/tagging.rst b/wiki/help/wikiedit/tagging.rst index abc12ef..5e7a660 100644 --- a/wiki/help/wikiedit/tagging.rst +++ b/wiki/help/wikiedit/tagging.rst @@ -1,79 +1,5 @@ help/wikiedit/tagging ===================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _Tagging: Tagging diff --git a/wiki/help/wikiedit/toc.rst b/wiki/help/wikiedit/toc.rst index eda6d32..a835c95 100644 --- a/wiki/help/wikiedit/toc.rst +++ b/wiki/help/wikiedit/toc.rst @@ -1,79 +1,5 @@ help/wikiedit/toc ================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wiki Bearbeitung - Tipps und - Tricks <../wikiedit.html#WikiBearbeitung-TippsundTricks>`__ - - #. `Erste Schritte <../wikiedit.html#ErsteSchritte>`__ - #. `Weitere Lektüre <../wikiedit.html#WeitereLektüre>`__ - -#. `Wiki Goodies <goodies.html#WikiGoodies>`__ - - #. `Smileys <goodies.html#Smileys>`__ - #. `Symbols <goodies.html#Symbols>`__ - #. `Entities <goodies.html#Entities>`__ - -#. `Formatierungs-Guidelines <formatting_guide.html#Formatierungs-Guidelines>`__ - - #. `Beispiel-Artikel <formatting_guide.html#Beispiel-Artikel>`__ - #. `Inhaltsverzeichnis <formatting_guide.html#Inhaltsverzeichnis>`__ - #. `Überschriften <formatting_guide.html#Überschriften>`__ - #. `Artikeltext <formatting_guide.html#Artikeltext>`__ - #. `Screenshots <formatting_guide.html#Screenshots>`__ - #. `Besondere - Formatierungen <formatting_guide.html#BesondereFormatierungen>`__ - #. `Weiterführende - Links <formatting_guide.html#WeiterführendeLinks>`__ - #. `Tags <formatting_guide.html#Tags>`__ - -#. `Tabellen <tables.html#Tabellen>`__ - - #. `Überblick der verschiedenen - Formate <tables.html#ÜberblickderverschiedenenFormate>`__ - - #. `Standard <tables.html#Standard>`__ - #. `RST <tables.html#RST>`__ - #. `MediaWiki <tables.html#MediaWiki>`__ - - #. `Anwendung: Wie erstelle ich eine - Tabelle? <tables.html#Anwendung:WieerstelleicheineTabelle>`__ - - #. `Standard <tables.html#Standard1>`__ - #. `RST <tables.html#RST1>`__ - #. `MediaWiki <tables.html#MediaWiki1>`__ - - #. `Einfaches Beispiel <tables.html#EinfachesBeispiel>`__ - #. `komplexeres Beispiel <tables.html#komplexeresBeispiel>`__ - -#. `Inhaltsverzeichnis erstellen - (lassen) <toc.html#Inhaltsverzeichniserstellenlassen>`__ - - #. `Unterseiten einbeziehen <toc.html#Unterseiteneinbeziehen>`__ - #. `Ebenentiefe einschränken <toc.html#Ebenentiefeeinschränken>`__ - #. `Mehrere TOC Blöcke <toc.html#MehrereTOCBlöcke>`__ - #. `Weitere Möglichkeiten <toc.html#WeitereMöglichkeiten>`__ - -#. `Tagging <tagging.html#Tagging>`__ - - #. `Was und wozu sind Tags? <tagging.html#WasundwozusindTags>`__ - #. `Wie vergibt man Tags? <tagging.html#WievergibtmanTags>`__ - #. `Welche Tags sollte man - vergeben? <tagging.html#WelcheTagssolltemanvergeben>`__ - #. `Was ist noch zu beachten? <tagging.html#Wasistnochzubeachten>`__ - -#. `Screenshots <screenshots.html#Screenshots>`__ - - #. `Screenhots hochladen <screenshots.html#Screenhotshochladen>`__ - #. `Screenhots finden <screenshots.html#Screenhotsfinden>`__ - - #. `Screenshot Matrix <screenshots.html#ScreenshotMatrix>`__ - #. `Screenshots Liste <screenshots.html#ScreenshotsListe>`__ - - #. `Screenshots - referenzieren <screenshots.html#Screenshotsreferenzieren>`__ - .. _Inhaltsverzeichniserstellenlassen: Inhaltsverzeichnis erstellen (lassen) diff --git a/wiki/index.en.rst b/wiki/index.en.rst index 5118604..3cc1b75 100644 --- a/wiki/index.en.rst +++ b/wiki/index.en.rst @@ -1,18 +1,5 @@ WikiStart.en ============ -Table of Contents -^^^^^^^^^^^^^^^^^ - -#. `Download <index.en.html#Download>`__ -#. `First steps <index.en.html#Firststeps>`__ -#. `Website for developers <index.en.html#Websitefordevelopers>`__ -#. `Wiki and Forum <index.en.html#WikiandForum>`__ -#. `Freetz in public press & - web <index.en.html#Freetzinpublicpressweb>`__ -#. `Source code <index.en.html#Sourcecode>`__ -#. `Building and using <index.en.html#Buildingandusing>`__ -#. `Trac links <index.en.html#Traclinks>`__ - .. _WelcometoFreetz: Welcome to Freetz diff --git a/wiki/index.rst b/wiki/index.rst index b5bc269..cc43fee 100644 --- a/wiki/index.rst +++ b/wiki/index.rst @@ -1,17 +1,5 @@ Freetz ====== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Download <index.html#Download>`__ -#. `Erste Schritte <index.html#ErsteSchritte>`__ -#. `Installation <index.html#Installation>`__ -#. `Hilfe und Support <index.html#HilfeundSupport>`__ -#. `Presse und Berichte <index.html#PresseundBerichte>`__ -#. `Mach mit! <index.html#Machmit>`__ -#. `Quellcode <index.html#Quellcode>`__ -#. `Trac-Links <index.html#Trac-Links>`__ - .. _WillkommenbeiFreetz: Willkommen bei Freetz diff --git a/wiki/libs.rst b/wiki/libs.rst index 9a079f2..9a02510 100644 --- a/wiki/libs.rst +++ b/wiki/libs.rst @@ -1,64 +1,5 @@ libs ==== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Pakete, Addons und - CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ - - #. `Pakete <packages.html#Pakete>`__ - #. `Addons <packages.html#Addons>`__ - #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ - #. `Apps <packages.html#Apps>`__ - #. `Weiteres <packages.html#Weiteres>`__ - -#. `Pakete nach - Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ - - #. `Audio <packages_tagged.html#Audio>`__ - #. `Home Automation <packages_tagged.html#HomeAutomation>`__ - #. `Konsole <packages_tagged.html#Konsole>`__ - #. `Monitoring <packages_tagged.html#Monitoring>`__ - #. `Netzwerk <packages_tagged.html#Netzwerk>`__ - - #. `DynDNS <packages_tagged.html#DynDNS>`__ - #. `File Transfer <packages_tagged.html#FileTransfer>`__ - #. `Internet - Messenging <packages_tagged.html#InternetMessenging>`__ - #. `Konsole <packages_tagged.html#Konsole1>`__ - #. `Proxies <packages_tagged.html#Proxies>`__ - #. `Routing <packages_tagged.html#Routing>`__ - #. `Security <packages_tagged.html#Security>`__ - #. `Tunneling <packages_tagged.html#Tunneling>`__ - #. `VPN <packages_tagged.html#VPN>`__ - #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ - #. `Sonstiges <packages_tagged.html#Sonstiges>`__ - - #. `Privacy <packages_tagged.html#Privacy>`__ - #. `Programmiersprachen und - -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ - #. `Security <packages_tagged.html#Security1>`__ - #. `System <packages_tagged.html#System>`__ - - #. `Dateisystem <packages_tagged.html#Dateisystem>`__ - #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ - #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ - - #. `Telefonie <packages_tagged.html#Telefonie>`__ - #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ - -#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ - - #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ - #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ - -#. `Bibliotheken nach - Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ - - #. `Hardware <libs_tagged.html#Hardware>`__ - - #. `USB <libs_tagged.html#USB>`__ - .. _Bibliothekenlibraries: Bibliotheken (libraries) diff --git a/wiki/libs_tagged.rst b/wiki/libs_tagged.rst index 9771091..161f55a 100644 --- a/wiki/libs_tagged.rst +++ b/wiki/libs_tagged.rst @@ -1,64 +1,5 @@ libs_tagged =========== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Pakete, Addons und - CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ - - #. `Pakete <packages.html#Pakete>`__ - #. `Addons <packages.html#Addons>`__ - #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ - #. `Apps <packages.html#Apps>`__ - #. `Weiteres <packages.html#Weiteres>`__ - -#. `Pakete nach - Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ - - #. `Audio <packages_tagged.html#Audio>`__ - #. `Home Automation <packages_tagged.html#HomeAutomation>`__ - #. `Konsole <packages_tagged.html#Konsole>`__ - #. `Monitoring <packages_tagged.html#Monitoring>`__ - #. `Netzwerk <packages_tagged.html#Netzwerk>`__ - - #. `DynDNS <packages_tagged.html#DynDNS>`__ - #. `File Transfer <packages_tagged.html#FileTransfer>`__ - #. `Internet - Messenging <packages_tagged.html#InternetMessenging>`__ - #. `Konsole <packages_tagged.html#Konsole1>`__ - #. `Proxies <packages_tagged.html#Proxies>`__ - #. `Routing <packages_tagged.html#Routing>`__ - #. `Security <packages_tagged.html#Security>`__ - #. `Tunneling <packages_tagged.html#Tunneling>`__ - #. `VPN <packages_tagged.html#VPN>`__ - #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ - #. `Sonstiges <packages_tagged.html#Sonstiges>`__ - - #. `Privacy <packages_tagged.html#Privacy>`__ - #. `Programmiersprachen und - -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ - #. `Security <packages_tagged.html#Security1>`__ - #. `System <packages_tagged.html#System>`__ - - #. `Dateisystem <packages_tagged.html#Dateisystem>`__ - #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ - #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ - - #. `Telefonie <packages_tagged.html#Telefonie>`__ - #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ - -#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ - - #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ - #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ - -#. `Bibliotheken nach - Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ - - #. `Hardware <libs_tagged.html#Hardware>`__ - - #. `USB <libs_tagged.html#USB>`__ - .. _BibliothekennachAnwendungsgebieten: Bibliotheken nach Anwendungsgebieten diff --git a/wiki/packages.rst b/wiki/packages.rst index 3f4a788..225a5fa 100644 --- a/wiki/packages.rst +++ b/wiki/packages.rst @@ -1,64 +1,5 @@ packages ======== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Pakete, Addons und - CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ - - #. `Pakete <packages.html#Pakete>`__ - #. `Addons <packages.html#Addons>`__ - #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ - #. `Apps <packages.html#Apps>`__ - #. `Weiteres <packages.html#Weiteres>`__ - -#. `Pakete nach - Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ - - #. `Audio <packages_tagged.html#Audio>`__ - #. `Home Automation <packages_tagged.html#HomeAutomation>`__ - #. `Konsole <packages_tagged.html#Konsole>`__ - #. `Monitoring <packages_tagged.html#Monitoring>`__ - #. `Netzwerk <packages_tagged.html#Netzwerk>`__ - - #. `DynDNS <packages_tagged.html#DynDNS>`__ - #. `File Transfer <packages_tagged.html#FileTransfer>`__ - #. `Internet - Messenging <packages_tagged.html#InternetMessenging>`__ - #. `Konsole <packages_tagged.html#Konsole1>`__ - #. `Proxies <packages_tagged.html#Proxies>`__ - #. `Routing <packages_tagged.html#Routing>`__ - #. `Security <packages_tagged.html#Security>`__ - #. `Tunneling <packages_tagged.html#Tunneling>`__ - #. `VPN <packages_tagged.html#VPN>`__ - #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ - #. `Sonstiges <packages_tagged.html#Sonstiges>`__ - - #. `Privacy <packages_tagged.html#Privacy>`__ - #. `Programmiersprachen und - -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ - #. `Security <packages_tagged.html#Security1>`__ - #. `System <packages_tagged.html#System>`__ - - #. `Dateisystem <packages_tagged.html#Dateisystem>`__ - #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ - #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ - - #. `Telefonie <packages_tagged.html#Telefonie>`__ - #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ - -#. `Bibliotheken (libraries) <libs.html#Bibliothekenlibraries>`__ - - #. `Abwählen von Bibliotheken <libs.html#AbwählenvonBibliotheken>`__ - #. `Liste der Bibliotheken <libs.html#ListederBibliotheken>`__ - -#. `Bibliotheken nach - Anwendungsgebieten <libs_tagged.html#BibliothekennachAnwendungsgebieten>`__ - - #. `Hardware <libs_tagged.html#Hardware>`__ - - #. `USB <libs_tagged.html#USB>`__ - .. _PaketeAddonsundCGI-Erweiterungen: Pakete, Addons und CGI-Erweiterungen diff --git a/wiki/packages/bftpd.rst b/wiki/packages/bftpd.rst index b0cc7ea..6cfd90a 100644 --- a/wiki/packages/bftpd.rst +++ b/wiki/packages/bftpd.rst @@ -1,13 +1,5 @@ packages/bftpd ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Zusätzliche Benutzer - einrichten <bftpd.html#ZusätzlicheBenutzereinrichten>`__ -#. `Bestehende (persistente) Benutzer - modifizieren <bftpd.html#BestehendepersistenteBenutzermodifizieren>`__ - .. _Bftpd: Bftpd diff --git a/wiki/packages/callmonitor.rst b/wiki/packages/callmonitor.rst index 4f8831f..243d51e 100644 --- a/wiki/packages/callmonitor.rst +++ b/wiki/packages/callmonitor.rst @@ -1,55 +1,5 @@ packages/callmonitor ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <callmonitor.html#Callmonitor>`__ - - #. `Installation <callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <callmonitor/config.html#Konfiguration>`__ - - #. `Basiskonfiguration <callmonitor/config.html#Basiskonfiguration>`__ - #. `Listeners - definieren <callmonitor/config.html#Listenersdefinieren>`__ - #. `Testanruf <callmonitor/config.html#Testanruf>`__ - #. `Fehlersuche <callmonitor/config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <callmonitor/listeners.html#RegelnListeners>`__ - - #. `Format <callmonitor/listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <callmonitor/listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <callmonitor/listeners.html#FormatierungderAusgaben>`__ - #. `Muster für - Ereignisse <callmonitor/listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <callmonitor/listeners.html#Beispiele:>`__ - -#. `Ereignisse <callmonitor/events.html#Ereignisse>`__ -#. `Aktionen <callmonitor/actions.html#Aktionen>`__ - - #. `Benachrichtigen <callmonitor/actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <callmonitor/actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <callmonitor/actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <callmonitor/actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party - Software <callmonitor/actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch - (Callers) <callmonitor/phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <callmonitor/maintenance.html#Wartung>`__ -#. `Rückwärtssuche <callmonitor/reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <callmonitor/testcall.html#Testanruf>`__ - .. _Callmonitor: Callmonitor diff --git a/wiki/packages/callmonitor/actions.rst b/wiki/packages/callmonitor/actions.rst index a989d51..f6c28e3 100644 --- a/wiki/packages/callmonitor/actions.rst +++ b/wiki/packages/callmonitor/actions.rst @@ -1,50 +1,5 @@ packages/callmonitor/actions ============================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Aktionen: Aktionen diff --git a/wiki/packages/callmonitor/actions/config.rst b/wiki/packages/callmonitor/actions/config.rst index 26cc4c6..0e209b8 100644 --- a/wiki/packages/callmonitor/actions/config.rst +++ b/wiki/packages/callmonitor/actions/config.rst @@ -1,16 +1,5 @@ packages/callmonitor/actions/config =================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Portforwarding <config.html#Portforwarding>`__ -#. `WLAN <config.html#WLAN>`__ -#. `DECT <config.html#DECT>`__ -#. `SIP <config.html#SIP>`__ -#. `Rufumleitung <config.html#Rufumleitung>`__ -#. `Abfragen von - Konfigurationswerten <config.html#AbfragenvonKonfigurationswerten>`__ - .. _FritzBox-Konfiguration: FritzBox-Konfiguration diff --git a/wiki/packages/callmonitor/actions/dbox.rst b/wiki/packages/callmonitor/actions/dbox.rst index e154ae2..8cd9e02 100644 --- a/wiki/packages/callmonitor/actions/dbox.rst +++ b/wiki/packages/callmonitor/actions/dbox.rst @@ -1,11 +1,5 @@ packages/callmonitor/actions/dbox ================================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `DBox2 mit Neutrino Image <dbox.html#DBox2mitNeutrinoImage>`__ -#. `DBox2 mit Enigma Image <dbox.html#DBox2mitEnigmaImage>`__ - .. _DBox2: DBox2 diff --git a/wiki/packages/callmonitor/actions/dreambox.rst b/wiki/packages/callmonitor/actions/dreambox.rst index 1772633..30c6d6d 100644 --- a/wiki/packages/callmonitor/actions/dreambox.rst +++ b/wiki/packages/callmonitor/actions/dreambox.rst @@ -1,14 +1,5 @@ packages/callmonitor/actions/dreambox ===================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Dreambox mit Enigma 1 <dreambox.html#DreamboxmitEnigma1>`__ - - #. `StandBy Check <dreambox.html#StandByCheck>`__ - -#. `DreamBox mit Enigma 2 <dreambox.html#DreamBoxmitEnigma2>`__ - .. _DreamBox: DreamBox diff --git a/wiki/packages/callmonitor/actions/mail.rst b/wiki/packages/callmonitor/actions/mail.rst index ccb97cc..ff68a70 100644 --- a/wiki/packages/callmonitor/actions/mail.rst +++ b/wiki/packages/callmonitor/actions/mail.rst @@ -1,11 +1,5 @@ packages/callmonitor/actions/mail ================================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `mail <mail.html#mail>`__ -#. `Ersatz für mail_missed_call <mail.html#Ersatzfürmail_missed_call>`__ - .. _E-Mail-Benachrichtigung: E-Mail-Benachrichtigung diff --git a/wiki/packages/callmonitor/actions/samsung.rst b/wiki/packages/callmonitor/actions/samsung.rst index 2b75e45..e86faa6 100644 --- a/wiki/packages/callmonitor/actions/samsung.rst +++ b/wiki/packages/callmonitor/actions/samsung.rst @@ -1,8 +1,5 @@ packages/callmonitor/actions/samsung ==================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - .. _BenachrichtigungaufeinemSamsungTV: Benachrichtigung auf einem Samsung TV diff --git a/wiki/packages/callmonitor/actions/xbox.rst b/wiki/packages/callmonitor/actions/xbox.rst index 2ce3e8b..1cbf181 100644 --- a/wiki/packages/callmonitor/actions/xbox.rst +++ b/wiki/packages/callmonitor/actions/xbox.rst @@ -1,11 +1,5 @@ packages/callmonitor/actions/xbox ================================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Anpassungen auf der XBox <xbox.html#AnpassungenaufderXBox>`__ -#. `Weitere Möglichkeiten <xbox.html#WeitereMöglichkeiten>`__ - .. _XBox: XBox diff --git a/wiki/packages/callmonitor/config.rst b/wiki/packages/callmonitor/config.rst index f8bf4e9..2b3bc7a 100644 --- a/wiki/packages/callmonitor/config.rst +++ b/wiki/packages/callmonitor/config.rst @@ -1,51 +1,5 @@ packages/callmonitor/config =========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Konfiguration: Konfiguration diff --git a/wiki/packages/callmonitor/events.rst b/wiki/packages/callmonitor/events.rst index 11f65c9..253add5 100644 --- a/wiki/packages/callmonitor/events.rst +++ b/wiki/packages/callmonitor/events.rst @@ -1,51 +1,5 @@ packages/callmonitor/events =========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Ereignisse: Ereignisse diff --git a/wiki/packages/callmonitor/listeners.rst b/wiki/packages/callmonitor/listeners.rst index 60d34ff..bf76d1a 100644 --- a/wiki/packages/callmonitor/listeners.rst +++ b/wiki/packages/callmonitor/listeners.rst @@ -1,51 +1,5 @@ packages/callmonitor/listeners ============================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _RegelnListeners: Regeln (Listeners) diff --git a/wiki/packages/callmonitor/maintenance.rst b/wiki/packages/callmonitor/maintenance.rst index d1e0d92..038a584 100644 --- a/wiki/packages/callmonitor/maintenance.rst +++ b/wiki/packages/callmonitor/maintenance.rst @@ -1,51 +1,5 @@ packages/callmonitor/maintenance ================================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Wartung: Wartung diff --git a/wiki/packages/callmonitor/phonebook.rst b/wiki/packages/callmonitor/phonebook.rst index 2f0b243..fc3ef48 100644 --- a/wiki/packages/callmonitor/phonebook.rst +++ b/wiki/packages/callmonitor/phonebook.rst @@ -1,51 +1,5 @@ packages/callmonitor/phonebook ============================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _TelefonbuchCallers: Telefonbuch (Callers) diff --git a/wiki/packages/callmonitor/reverse_search.rst b/wiki/packages/callmonitor/reverse_search.rst index 0e8f77b..a1ffc37 100644 --- a/wiki/packages/callmonitor/reverse_search.rst +++ b/wiki/packages/callmonitor/reverse_search.rst @@ -1,51 +1,5 @@ packages/callmonitor/reverse_search =================================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Rückwärtssuche: Rückwärtssuche diff --git a/wiki/packages/callmonitor/testcall.rst b/wiki/packages/callmonitor/testcall.rst index dbbaac4..b1a39be 100644 --- a/wiki/packages/callmonitor/testcall.rst +++ b/wiki/packages/callmonitor/testcall.rst @@ -1,51 +1,5 @@ packages/callmonitor/testcall ============================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Callmonitor <../callmonitor.html#Callmonitor>`__ - - #. `Installation <../callmonitor.html#Installation>`__ - - #. `Installation neuer - Versionen <../callmonitor.html#InstallationneuerVersionen>`__ - - #. `Konfiguration <../callmonitor.html#Konfiguration>`__ - #. `Weiterführende Links <../callmonitor.html#WeiterführendeLinks>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `Basiskonfiguration <config.html#Basiskonfiguration>`__ - #. `Listeners definieren <config.html#Listenersdefinieren>`__ - #. `Testanruf <config.html#Testanruf>`__ - #. `Fehlersuche <config.html#Fehlersuche>`__ - -#. `Regeln (Listeners) <listeners.html#RegelnListeners>`__ - - #. `Format <listeners.html#Format>`__ - #. `Ereignis-Informationen für - Aktionen <listeners.html#Ereignis-InformationenfürAktionen>`__ - #. `Formatierung der - Ausgaben <listeners.html#FormatierungderAusgaben>`__ - #. `Muster für Ereignisse <listeners.html#MusterfürEreignisse>`__ - #. `Beispiele: <listeners.html#Beispiele:>`__ - -#. `Ereignisse <events.html#Ereignisse>`__ -#. `Aktionen <actions.html#Aktionen>`__ - - #. `Benachrichtigen <actions.html#Benachrichtigen>`__ - #. `Wählen, Wecken, - Konfigurieren <actions.html#WählenWeckenKonfigurieren>`__ - #. `Eigene Aktionen <actions.html#EigeneAktionen>`__ - #. `Liste verfügbarer - Aktionen <actions.html#ListeverfügbarerAktionen>`__ - #. `Third-Party Software <actions.html#Third-PartySoftware>`__ - -#. `Telefonbuch (Callers) <phonebook.html#TelefonbuchCallers>`__ -#. `Wartung <maintenance.html#Wartung>`__ -#. `Rückwärtssuche <reverse_search.html#Rückwärtssuche>`__ -#. `Testanruf <testcall.html#Testanruf>`__ - .. _Testanruf: Testanruf diff --git a/wiki/packages/checkmaild.rst b/wiki/packages/checkmaild.rst index 2e6730c..9155620 100644 --- a/wiki/packages/checkmaild.rst +++ b/wiki/packages/checkmaild.rst @@ -1,17 +1,5 @@ packages/checkmaild =================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration <checkmaild.html#Konfiguration>`__ -#. `Skript-Funktion <checkmaild.html#Skript-Funktion>`__ - - #. `LED-Signalisierung <checkmaild.html#LED-Signalisierung>`__ - #. `Telefon-Benachrichtigung <checkmaild.html#Telefon-Benachrichtigung>`__ - #. `Beispiel-Skripte <checkmaild.html#Beispiel-Skripte>`__ - -#. `Weiterführende Links <checkmaild.html#WeiterführendeLinks>`__ - .. _checkmaild0.4.7: checkmaild 0.4.7 diff --git a/wiki/packages/davfs2.rst b/wiki/packages/davfs2.rst index 65964e7..f372c26 100644 --- a/wiki/packages/davfs2.rst +++ b/wiki/packages/davfs2.rst @@ -1,24 +1,5 @@ packages/davfs2 =============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Einführung <davfs2.html#Einführung>`__ - - #. `Was ist WebDAV? <davfs2.html#WasistWebDAV>`__ - #. `Was ist davfs2? <davfs2.html#Wasistdavfs2>`__ - #. `Anwendungen <davfs2.html#Anwendungen>`__ - -#. `Paket in die Firmware - einbauen <davfs2.html#PaketindieFirmwareeinbauen>`__ - - #. `Verschlüsselung mit - Zertifikaten <davfs2.html#VerschlüsselungmitZertifikaten>`__ - #. `Einstellungen/ Optionen <davfs2.html#EinstellungenOptionen>`__ - -#. `Weiterführende Threads im - IPPF <davfs2.html#WeiterführendeThreadsimIPPF>`__ - .. figure:: /screenshots/62.jpg :alt: WebDAV: Konfiguration diff --git a/wiki/packages/dnsmasq.rst b/wiki/packages/dnsmasq.rst index f835218..da96b58 100644 --- a/wiki/packages/dnsmasq.rst +++ b/wiki/packages/dnsmasq.rst @@ -1,35 +1,5 @@ packages/dnsmasq ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Installation <dnsmasq.html#Installation>`__ -#. `Konfiguration <dnsmasq.html#Konfiguration>`__ -#. `DNS Server <dnsmasq.html#DNSServer>`__ - - #. `mit iptables den DNS-Port - umleiten <dnsmasq.html#mitiptablesdenDNS-Portumleiten>`__ - -#. `Kommandozeilen-Optionen <dnsmasq.html#Kommandozeilen-Optionen>`__ - - #. `Beispiel 1 <dnsmasq.html#Beispiel1>`__ - #. `Beispiel 2 <dnsmasq.html#Beispiel2>`__ - -#. `DHCP Server <dnsmasq.html#DHCPServer>`__ - - #. `Beispiel <dnsmasq.html#Beispiel>`__ - -#. `Einträge in der - Hosts-Liste <dnsmasq.html#EinträgeinderHosts-Liste>`__ -#. `DHCP Boot <dnsmasq.html#DHCPBoot>`__ -#. `TFTP Server <dnsmasq.html#TFTPServer>`__ - - #. `Beispiel <dnsmasq.html#Beispiel3>`__ - -#. `Komplett eigene - Konfiguration <dnsmasq.html#KompletteigeneKonfiguration>`__ -#. `Weiterführende Links <dnsmasq.html#WeiterführendeLinks>`__ - dnsmasq ======= diff --git a/wiki/packages/dropbear.rst b/wiki/packages/dropbear.rst index 3bb91ee..645b061 100644 --- a/wiki/packages/dropbear.rst +++ b/wiki/packages/dropbear.rst @@ -1,35 +1,5 @@ packages/dropbear ================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Grundbegriffe <dropbear.html#Grundbegriffe>`__ -#. `Web-Config <dropbear.html#Web-Config>`__ -#. `SSH-Zugang mit Passwort (Password-based - Authentication) <dropbear.html#SSH-ZugangmitPasswortPassword-basedAuthentication>`__ - - #. `Zugang mit OpenSSH <dropbear.html#ZugangmitOpenSSH>`__ - #. `Zugang mit Putty <dropbear.html#ZugangmitPutty>`__ - -#. `SSH-Zugang ohne Passwort (Public Key - Authentication) <dropbear.html#SSH-ZugangohnePasswortPublicKeyAuthentication>`__ - - #. `Zugang mit OpenSSH <dropbear.html#ZugangmitOpenSSH1>`__ - #. `Zugang mit Putty <dropbear.html#ZugangmitPutty1>`__ - -#. `Zugang zur Fritzbox von - außerhalb <dropbear.html#ZugangzurFritzboxvonaußerhalb>`__ -#. `Zugang zum Webinterface der Fritzbox oder anderen Diensten im - Heimnetz von - … <dropbear.html#ZugangzumWebinterfacederFritzboxoderanderenDienstenimHeimnetzvonaußerhalbz.B.hintereinemProxy>`__ -#. `Zugang zu anderen Rechnern mit der - Fritzbox <dropbear.html#ZugangzuanderenRechnernmitderFritzbox>`__ -#. `mögliche Anwendung von - ssh <dropbear.html#möglicheAnwendungvonssh>`__ -#. `mögliche Probleme <dropbear.html#möglicheProbleme>`__ -#. `Verbindungsaufbau - beschleunigen <dropbear.html#Verbindungsaufbaubeschleunigen>`__ - .. _Dropbear: Dropbear diff --git a/wiki/packages/dtach.rst b/wiki/packages/dtach.rst index 23b7b2d..6ac22f9 100644 --- a/wiki/packages/dtach.rst +++ b/wiki/packages/dtach.rst @@ -1,11 +1,5 @@ packages/dtach ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Bedienung <dtach.html#Bedienung>`__ -#. `Weiterführende Links <dtach.html#WeiterführendeLinks>`__ - dtach ===== diff --git a/wiki/packages/dtmfbox.rst b/wiki/packages/dtmfbox.rst index 70d496c..d047b81 100644 --- a/wiki/packages/dtmfbox.rst +++ b/wiki/packages/dtmfbox.rst @@ -1,19 +1,5 @@ packages/dtmfbox ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Features <dtmfbox.html#Features>`__ -#. `Einrichtung <dtmfbox.html#Einrichtung>`__ -#. `Konfiguration <dtmfbox.html#Konfiguration>`__ - - #. `Accounts <dtmfbox.html#Accounts>`__ - #. `Internes Menü <dtmfbox.html#InternesMenü>`__ - #. `Menü/Skripte bearbeiten <dtmfbox.html#MenüSkriptebearbeiten>`__ - #. `eSpeak anpassen <dtmfbox.html#eSpeakanpassen>`__ - -#. `Weiterführende Links <dtmfbox.html#WeiterführendeLinks>`__ - .. _DTMFBox: DTMFBox diff --git a/wiki/packages/espeak.rst b/wiki/packages/espeak.rst index 4aa2574..3a37bd4 100644 --- a/wiki/packages/espeak.rst +++ b/wiki/packages/espeak.rst @@ -1,13 +1,5 @@ packages/espeak =============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Installation <espeak.html#Installation>`__ -#. `Aufruf <espeak.html#Aufruf>`__ -#. `Hinweis <espeak.html#Hinweis>`__ -#. `Weiterführende Links <espeak.html#WeiterführendeLinks>`__ - .. _eSpeak: eSpeak diff --git a/wiki/packages/inotify-tools.rst b/wiki/packages/inotify-tools.rst index bc60de2..d574fe0 100644 --- a/wiki/packages/inotify-tools.rst +++ b/wiki/packages/inotify-tools.rst @@ -1,19 +1,5 @@ packages/inotify-tools ====================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Inotify und Inotify-Tools - allgemein <inotify-tools.html#InotifyundInotify-Toolsallgemein>`__ -#. `Dateizugriffe der FritzBox ab dem Start - beobachten <inotify-tools.html#DateizugriffederFritzBoxabdemStartbeobachten>`__ -#. `Was wird von rc.inotify_tools - protokolliert? <inotify-tools.html#Waswirdvonrc.inotify_toolsprotokolliert>`__ -#. `Ausgabeformat <inotify-tools.html#Ausgabeformat>`__ -#. `Log-Datei regelmäßig konsolidieren, um Platz zu - sparen <inotify-tools.html#Log-DateiregelmäßigkonsolidierenumPlatzzusparen>`__ -#. `Schlußwort <inotify-tools.html#Schlußwort>`__ - .. _Inotify-Tools: Inotify-Tools diff --git a/wiki/packages/iptables-cgi.rst b/wiki/packages/iptables-cgi.rst index 68e619f..82ce9cf 100644 --- a/wiki/packages/iptables-cgi.rst +++ b/wiki/packages/iptables-cgi.rst @@ -1,20 +1,5 @@ packages/iptables-cgi ===================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Installation <iptables-cgi.html#Installation>`__ -#. `Häufige Fragen / Howto <iptables-cgi.html#HäufigeFragenHowto>`__ - - #. `Activation <iptables-cgi.html#Activation>`__ - #. `iptables add/remove - rule <iptables-cgi.html#iptablesaddremoverule>`__ - #. `Services <iptables-cgi.html#Services>`__ - #. `Rules <iptables-cgi.html#Rules>`__ - #. `Löschen von Regeln <iptables-cgi.html#LöschenvonRegeln>`__ - -#. `Zu Beachten <iptables-cgi.html#ZuBeachten>`__ - iptables-cgi ============ diff --git a/wiki/packages/iptables.en.rst b/wiki/packages/iptables.en.rst index 2b64ff3..67b113e 100644 --- a/wiki/packages/iptables.en.rst +++ b/wiki/packages/iptables.en.rst @@ -1,31 +1,5 @@ packages/iptables.en ==================== -Table of contents -^^^^^^^^^^^^^^^^^ - -#. `Current state (largely - broken) <iptables.en.html#Currentstatelargelybroken>`__ -#. `What is iptables and who needs - it? <iptables.en.html#Whatisiptablesandwhoneedsit>`__ -#. `What is the difference between AVM Firewall and iptables, can they - … <iptables.en.html#WhatisthedifferencebetweenAVMFirewallandiptablescantheyco-existonthesamesystem>`__ -#. `How to build iptables for - Freetz? <iptables.en.html#HowtobuildiptablesforFreetz>`__ - - #. `Configuration: After successful firmware build and - upload <iptables.en.html#Configuration:Aftersuccessfulfirmwarebuildandupload>`__ - #. `Hints regarding FritzBox - 7270: <iptables.en.html#HintsregardingFritzBox7270:>`__ - #. `What is the difference of INPUT, OUTPUT and FORWARD - chains <iptables.en.html#WhatisthedifferenceofINPUTOUTPUTandFORWARDchains>`__ - #. `Hints regarding the example - code <iptables.en.html#Hintsregardingtheexamplecode>`__ - #. `Isolate guest network from - LAN <iptables.en.html#IsolateguestnetworkfromLAN>`__ - -#. `More Links <iptables.en.html#MoreLinks>`__ -#. `Questions <iptables.en.html#Questions>`__ - iptables ======== diff --git a/wiki/packages/iptables.rst b/wiki/packages/iptables.rst index c7ecf6f..04205d9 100644 --- a/wiki/packages/iptables.rst +++ b/wiki/packages/iptables.rst @@ -1,27 +1,5 @@ packages/iptables ================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Was ist iptables und wer braucht es - überhaupt? <iptables.html#Wasistiptablesundwerbrauchtesüberhaupt>`__ -#. `Was ist der Unterschied zur AVM Firewall, wie vertragen sich - beide? <iptables.html#WasistderUnterschiedzurAVMFirewallwievertragensichbeide>`__ -#. `Wie baut man iptables? <iptables.html#Wiebautmaniptables>`__ - - #. `Konfiguration: Firmware erfolgreich erstellt und aufgespielt, so - geht es - … <iptables.html#Konfiguration:Firmwareerfolgreicherstelltundaufgespieltsogehtesweiter>`__ - #. `Anmerkung zu Kernel Logs <iptables.html#AnmerkungzuKernelLogs>`__ - #. `Was ist der Unterschied von INPUT, OUTPUT und - FORWARD <iptables.html#WasistderUnterschiedvonINPUTOUTPUTundFORWARD>`__ - #. `Hinweise zum Code - Beispiel <iptables.html#HinweisezumCodeBeispiel>`__ - -#. `Weiterführende Links <iptables.html#WeiterführendeLinks>`__ -#. `Known Bug (FritzBox vor - 7270) <iptables.html#KnownBugFritzBoxvor7270>`__ - iptables ======== diff --git a/wiki/packages/mediaserver.rst b/wiki/packages/mediaserver.rst index daf4187..e0a876e 100644 --- a/wiki/packages/mediaserver.rst +++ b/wiki/packages/mediaserver.rst @@ -1,18 +1,5 @@ packages/mediaserver ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Funktionsweise <mediaserver.html#Funktionsweise>`__ -#. `Dateien <mediaserver.html#Dateien>`__ -#. `Kompatible Clients - (Auswahl) <mediaserver.html#KompatibleClientsAuswahl>`__ - - #. `Software <mediaserver.html#Software>`__ - #. `Hardware <mediaserver.html#Hardware>`__ - -#. `Firmware-Kompatibilität <mediaserver.html#Firmware-Kompatibilität>`__ - **This package was removed in**\ `r1823 </changeset/1823>`__\ **!** .. _Mediaserver: diff --git a/wiki/packages/nano-shell.rst b/wiki/packages/nano-shell.rst index 7ad3af5..6d53f96 100644 --- a/wiki/packages/nano-shell.rst +++ b/wiki/packages/nano-shell.rst @@ -1,11 +1,5 @@ packages/nano-shell =================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Sicherheitshinweis <nano-shell.html#Sicherheitshinweis>`__ -#. `Benutzung <nano-shell.html#Benutzung>`__ - .. _Nano-Shell: Nano-Shell diff --git a/wiki/packages/ncftp.rst b/wiki/packages/ncftp.rst index d06ab22..f631f36 100644 --- a/wiki/packages/ncftp.rst +++ b/wiki/packages/ncftp.rst @@ -6,21 +6,6 @@ ncftp *"NcFTP Client (also known as just NcFTP) is a set of FREE application programs implementing the File Transfer Protocol (FTP)."* -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Was ist NcFTP? <ncftp.html#WasistNcFTP>`__ -#. `Wozu kann NcFTP benutzt - werden? <ncftp.html#WozukannNcFTPbenutztwerden>`__ -#. `Wie installiere ich NcFTP? <ncftp.html#WieinstalliereichNcFTP>`__ -#. `Wie starte ich NcFTP? <ncftp.html#WiestarteichNcFTP>`__ -#. `Wie ist der Befehl im upload.sh-Skript - aufgebaut? <ncftp.html#WieistderBefehlimupload.sh-Skriptaufgebaut>`__ -#. `Wie sieht der Befehl für ein download.sh Skript - aus? <ncftp.html#WiesiehtderBefehlfüreindownload.shSkriptaus>`__ -#. `Wie kann ich einen abweichenden Port - nutzen? <ncftp.html#WiekannicheinenabweichendenPortnutzen>`__ - .. _WasistNcFTP: Was ist NcFTP? diff --git a/wiki/packages/nhipt.en.rst b/wiki/packages/nhipt.en.rst index 20cec3b..546ff87 100644 --- a/wiki/packages/nhipt.en.rst +++ b/wiki/packages/nhipt.en.rst @@ -1,28 +1,5 @@ packages/nhipt.en ================= -Table of contents -^^^^^^^^^^^^^^^^^ - -#. `MOTIVATION <nhipt.en.html#MOTIVATION>`__ -#. `PREREQUISITES: <nhipt.en.html#PREREQUISITES:>`__ -#. `YOU HAVE THE CHOICE OF 3 INSTALL - OPTIONS: <nhipt.en.html#YOUHAVETHECHOICEOF3INSTALLOPTIONS:>`__ - - #. `nhipt.cgi.(version).tar.gz <nhipt.en.html#nhipt.cgi.version.tar.gz>`__ - #. `ipt.(version).tar.gz <nhipt.en.html#ipt.version.tar.gz>`__ - #. `use make menuconfig <nhipt.en.html#usemakemenuconfig>`__ - -#. `BEHIND THE SCENES: <nhipt.en.html#BEHINDTHESCENES:>`__ - - #. `Further information: <nhipt.en.html#Furtherinformation:>`__ - #. `Boot process <nhipt.en.html#Bootprocess>`__ - #. `config file <nhipt.en.html#configfile>`__ - #. `files contained in the freetz - package <nhipt.en.html#filescontainedinthefreetzpackage>`__ - -#. `RECOMMENDATIONS: <nhipt.en.html#RECOMMENDATIONS:>`__ -#. `DOWNLOAD <nhipt.en.html#DOWNLOAD>`__ - .. _NHIPT-iptablesfirewallGUI: NHIPT - iptables firewall GUI diff --git a/wiki/packages/nhipt.rst b/wiki/packages/nhipt.rst index b25333a..e999631 100644 --- a/wiki/packages/nhipt.rst +++ b/wiki/packages/nhipt.rst @@ -1,29 +1,5 @@ packages/nhipt ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `MOTIVATION <nhipt.html#MOTIVATION>`__ -#. `VORAUSSETZUNGEN: <nhipt.html#VORAUSSETZUNGEN:>`__ -#. `ES STEHEN 3 PAKETE ZUR - AUSWAHL: <nhipt.html#ESSTEHEN3PAKETEZURAUSWAHL:>`__ - - #. `nhipt.cgi.(version).tar.gz <nhipt.html#nhipt.cgi.version.tar.gz>`__ - #. `ipt.(version).tar.gz <nhipt.html#ipt.version.tar.gz>`__ - #. `Über make menuconfig <nhipt.html#Übermakemenuconfig>`__ - -#. `ARBEITSWEISE: <nhipt.html#ARBEITSWEISE:>`__ - - #. `Tipps & Literatur: <nhipt.html#TippsLiteratur:>`__ - #. `Bootprozess <nhipt.html#Bootprozess>`__ - #. `Konfigurationsdatei <nhipt.html#Konfigurationsdatei>`__ - #. `Dateien im freetz Paket <nhipt.html#DateienimfreetzPaket>`__ - -#. `GUT GEMEINTE RATSCHLÄGE: <nhipt.html#GUTGEMEINTERATSCHLÄGE:>`__ -#. `DOWNLOAD <nhipt.html#DOWNLOAD>`__ -#. `BEKANNTE PROBLEME <nhipt.html#BEKANNTEPROBLEME>`__ -#. `SCREENSHOTS <nhipt.html#SCREENSHOTS>`__ - .. _NHIPT-iptablesfirewallGUI: NHIPT - iptables firewall GUI diff --git a/wiki/packages/openvpn.rst b/wiki/packages/openvpn.rst index ce60f64..b9a3f99 100644 --- a/wiki/packages/openvpn.rst +++ b/wiki/packages/openvpn.rst @@ -1,29 +1,5 @@ packages/openvpn ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Version <openvpn.html#Version>`__ -#. `Häufige Fragen / Howto <openvpn.html#HäufigeFragenHowto>`__ -#. `Konfigurationsanleitung <openvpn.html#Konfigurationsanleitung>`__ - - #. `Portweiterleitung <openvpn.html#Portweiterleitung>`__ - #. `Static Key <openvpn.html#StaticKey>`__ - #. `Zertifikate <openvpn.html#Zertifikate>`__ - -#. `Routing vs. Bridging <openvpn.html#Routingvs.Bridging>`__ -#. `CRL <openvpn.html#CRL>`__ -#. `Fehlersuche: Ein paar Tips wenn es nicht gleich so - klappt <openvpn.html#Fehlersuche:EinpaarTipswennesnichtgleichsoklappt>`__ -#. `Verschlüsselung: Welcher "Cipher" - ? <openvpn.html#Verschlüsselung:WelcherCipher>`__ -#. `DNS & Redirect all clients' - traffic <openvpn.html#DNSRedirectallclientstraffic>`__ -#. `Diskussion <openvpn.html#Diskussion>`__ -#. `Neue, simple GUI (GUI2) <openvpn.html#NeuesimpleGUIGUI2>`__ - - #. `Weitere Konfigs anlegen <openvpn.html#WeitereKonfigsanlegen>`__ - .. _OpenVPNfreetzPackage: OpenVPN freetz Package diff --git a/wiki/packages/pptpd.rst b/wiki/packages/pptpd.rst index 51dafcc..74b3128 100644 --- a/wiki/packages/pptpd.rst +++ b/wiki/packages/pptpd.rst @@ -1,42 +1,5 @@ packages/pptpd ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `PoPTop - PPTP-VPN-Server <pptpd.html#PoPTop-PPTP-VPN-Server>`__ - - #. `What is PPTP? <pptpd.html#WhatisPPTP>`__ - #. `What is Poptop? <pptpd.html#WhatisPoptop>`__ - -#. `Installation <pptpd/install.html#Installation>`__ - - #. `Kernel 2.6 (Freetz) <pptpd/install.html#Kernel2.6Freetz>`__ - #. `Kernel 2.4 (ds-mod) <pptpd/install.html#Kernel2.4ds-mod>`__ - - #. - - #. `Vorbereitungen <pptpd/install.html#Vorbereitungen>`__ - - #. `Patch einspielen <pptpd/install.html#Patcheinspielen>`__ - #. `Kernel konfigurieren und - kompilieren <pptpd/install.html#Kernelkonfigurierenundkompilieren>`__ - #. `Kompilieren des Images vorbereiten und - durchführen <pptpd/install.html#KompilierendesImagesvorbereitenunddurchführen>`__ - -#. `Das Web-Frontend zum - Paket <pptpd/webif.html#DasWeb-FrontendzumPaket>`__ - - #. `Portweiterleitung <pptpd/webif.html#Portweiterleitung>`__ - -#. `Konfiguration <pptpd/config.html#Konfiguration>`__ - - #. `pptpd.conf <pptpd/config.html#pptpd.conf>`__ - #. `options.pptpd <pptpd/config.html#options.pptpd>`__ - #. `chap-secrets <pptpd/config.html#chap-secrets>`__ - #. `Troubleshooting <pptpd/config.html#Troubleshooting>`__ - #. `Troubleshooting keine - Fehlermeldung <pptpd/config.html#TroubleshootingkeineFehlermeldung>`__ - .. _PoPTop-PPTP-VPN-Server: PoPTop - PPTP-VPN-Server diff --git a/wiki/packages/pptpd/config.rst b/wiki/packages/pptpd/config.rst index f8b6c45..17e537e 100644 --- a/wiki/packages/pptpd/config.rst +++ b/wiki/packages/pptpd/config.rst @@ -5,42 +5,6 @@ packages/pptpd/config Konfiguration ============= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ - - #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ - #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ - -#. `Installation <install.html#Installation>`__ - - #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ - #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ - - #. - - #. `Vorbereitungen <install.html#Vorbereitungen>`__ - - #. `Patch einspielen <install.html#Patcheinspielen>`__ - #. `Kernel konfigurieren und - kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ - #. `Kompilieren des Images vorbereiten und - durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ - -#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ - - #. `Portweiterleitung <webif.html#Portweiterleitung>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `pptpd.conf <config.html#pptpd.conf>`__ - #. `options.pptpd <config.html#options.pptpd>`__ - #. `chap-secrets <config.html#chap-secrets>`__ - #. `Troubleshooting <config.html#Troubleshooting>`__ - #. `Troubleshooting keine - Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ - Die drei für Poptop relevanten Dateien können entweder über das `Webinterface <webif.html>`__ oder auf der Shell per vi editiert werden. Sie liegen im Verzeichnis ``/tmp/flash/ppp``. diff --git a/wiki/packages/pptpd/install.rst b/wiki/packages/pptpd/install.rst index 93d7aad..198a866 100644 --- a/wiki/packages/pptpd/install.rst +++ b/wiki/packages/pptpd/install.rst @@ -1,41 +1,5 @@ packages/pptpd/install ====================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ - - #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ - #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ - -#. `Installation <install.html#Installation>`__ - - #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ - #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ - - #. - - #. `Vorbereitungen <install.html#Vorbereitungen>`__ - - #. `Patch einspielen <install.html#Patcheinspielen>`__ - #. `Kernel konfigurieren und - kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ - #. `Kompilieren des Images vorbereiten und - durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ - -#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ - - #. `Portweiterleitung <webif.html#Portweiterleitung>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `pptpd.conf <config.html#pptpd.conf>`__ - #. `options.pptpd <config.html#options.pptpd>`__ - #. `chap-secrets <config.html#chap-secrets>`__ - #. `Troubleshooting <config.html#Troubleshooting>`__ - #. `Troubleshooting keine - Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ - .. _Installation: Installation diff --git a/wiki/packages/pptpd/webif.rst b/wiki/packages/pptpd/webif.rst index 96aa02f..1b6c2c1 100644 --- a/wiki/packages/pptpd/webif.rst +++ b/wiki/packages/pptpd/webif.rst @@ -1,41 +1,5 @@ packages/pptpd/webif ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `PoPTop - PPTP-VPN-Server <../pptpd.html#PoPTop-PPTP-VPN-Server>`__ - - #. `What is PPTP? <../pptpd.html#WhatisPPTP>`__ - #. `What is Poptop? <../pptpd.html#WhatisPoptop>`__ - -#. `Installation <install.html#Installation>`__ - - #. `Kernel 2.6 (Freetz) <install.html#Kernel2.6Freetz>`__ - #. `Kernel 2.4 (ds-mod) <install.html#Kernel2.4ds-mod>`__ - - #. - - #. `Vorbereitungen <install.html#Vorbereitungen>`__ - - #. `Patch einspielen <install.html#Patcheinspielen>`__ - #. `Kernel konfigurieren und - kompilieren <install.html#Kernelkonfigurierenundkompilieren>`__ - #. `Kompilieren des Images vorbereiten und - durchführen <install.html#KompilierendesImagesvorbereitenunddurchführen>`__ - -#. `Das Web-Frontend zum Paket <webif.html#DasWeb-FrontendzumPaket>`__ - - #. `Portweiterleitung <webif.html#Portweiterleitung>`__ - -#. `Konfiguration <config.html#Konfiguration>`__ - - #. `pptpd.conf <config.html#pptpd.conf>`__ - #. `options.pptpd <config.html#options.pptpd>`__ - #. `chap-secrets <config.html#chap-secrets>`__ - #. `Troubleshooting <config.html#Troubleshooting>`__ - #. `Troubleshooting keine - Fehlermeldung <config.html#TroubleshootingkeineFehlermeldung>`__ - .. _DasWeb-FrontendzumPaket: Das Web-Frontend zum Paket diff --git a/wiki/packages/privoxy.rst b/wiki/packages/privoxy.rst index 1f2b602..b52cf72 100644 --- a/wiki/packages/privoxy.rst +++ b/wiki/packages/privoxy.rst @@ -1,16 +1,5 @@ packages/privoxy ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Filter und Aktionen <privoxy.html#FilterundAktionen>`__ -#. `Zugriffskontrolle <privoxy.html#Zugriffskontrolle>`__ -#. `Privoxy und Tor <privoxy.html#PrivoxyundTor>`__ -#. `Transparenter Proxy <privoxy.html#TransparenterProxy>`__ -#. `Werbefilter <privoxy.html#Werbefilter>`__ -#. `Installation <privoxy.html#Installation>`__ -#. `Diskussion <privoxy.html#Diskussion>`__ - .. _Privoxy: Privoxy diff --git a/wiki/packages/rudi-shell.rst b/wiki/packages/rudi-shell.rst index db4af8c..365709b 100644 --- a/wiki/packages/rudi-shell.rst +++ b/wiki/packages/rudi-shell.rst @@ -1,44 +1,5 @@ packages/rudi-shell =================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <rudi-shell.html#Server>`__ - #. `Client <rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <rudi-shell/install.html#Installation>`__ -#. `Funktionsweise <rudi-shell/functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <rudi-shell/usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript - ausführen <rudi-shell/usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <rudi-shell/usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <rudi-shell/usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <rudi-shell/usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <rudi-shell/usage.html#Datei-Upload>`__ - -#. `Grenzen & - Einschränkungen <rudi-shell/limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <rudi-shell/tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via - HTTPS <rudi-shell/tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <rudi-shell/tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote - flashen <rudi-shell/tips.html#Firmwareremoteflashen>`__ - .. _Rudi-Shell: Rudi-Shell diff --git a/wiki/packages/rudi-shell/functions.rst b/wiki/packages/rudi-shell/functions.rst index fba7267..cec57aa 100644 --- a/wiki/packages/rudi-shell/functions.rst +++ b/wiki/packages/rudi-shell/functions.rst @@ -1,40 +1,5 @@ packages/rudi-shell/functions ============================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <../rudi-shell.html#Server>`__ - #. `Client <../rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <install.html#Installation>`__ -#. `Funktionsweise <functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <usage.html#Datei-Upload>`__ - -#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ - .. _Funktionsweise: Funktionsweise diff --git a/wiki/packages/rudi-shell/install.rst b/wiki/packages/rudi-shell/install.rst index 3c49fde..097ad2f 100644 --- a/wiki/packages/rudi-shell/install.rst +++ b/wiki/packages/rudi-shell/install.rst @@ -1,40 +1,5 @@ packages/rudi-shell/install =========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <../rudi-shell.html#Server>`__ - #. `Client <../rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <install.html#Installation>`__ -#. `Funktionsweise <functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <usage.html#Datei-Upload>`__ - -#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ - *Die Rudi-Shell ist fester Bestandteil von allen Freetz-Versionen. Diese Anleitung bezieht sich auf den Vorgänger DS-Mod.* diff --git a/wiki/packages/rudi-shell/limits.rst b/wiki/packages/rudi-shell/limits.rst index aed9ed3..1954c20 100644 --- a/wiki/packages/rudi-shell/limits.rst +++ b/wiki/packages/rudi-shell/limits.rst @@ -1,40 +1,5 @@ packages/rudi-shell/limits ========================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <../rudi-shell.html#Server>`__ - #. `Client <../rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <install.html#Installation>`__ -#. `Funktionsweise <functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <usage.html#Datei-Upload>`__ - -#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ - .. _GrenzenEinschränkungen: Grenzen & Einschränkungen diff --git a/wiki/packages/rudi-shell/tips.rst b/wiki/packages/rudi-shell/tips.rst index 854d5e1..8b21027 100644 --- a/wiki/packages/rudi-shell/tips.rst +++ b/wiki/packages/rudi-shell/tips.rst @@ -1,40 +1,5 @@ packages/rudi-shell/tips ======================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <../rudi-shell.html#Server>`__ - #. `Client <../rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <install.html#Installation>`__ -#. `Funktionsweise <functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <usage.html#Datei-Upload>`__ - -#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ - .. _TipsTricks: Tips & Tricks diff --git a/wiki/packages/rudi-shell/usage.rst b/wiki/packages/rudi-shell/usage.rst index e42dc85..0837954 100644 --- a/wiki/packages/rudi-shell/usage.rst +++ b/wiki/packages/rudi-shell/usage.rst @@ -1,40 +1,5 @@ packages/rudi-shell/usage ========================= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Rudi-Shell <../rudi-shell.html#Rudi-Shell>`__ - - #. `Feature-Übersicht <../rudi-shell.html#Feature-Übersicht>`__ - #. `Systemvoraussetzungen <../rudi-shell.html#Systemvoraussetzungen>`__ - - #. `Server <../rudi-shell.html#Server>`__ - #. `Client <../rudi-shell.html#Client>`__ - #. `Was NICHT gebraucht - wird <../rudi-shell.html#WasNICHTgebrauchtwird>`__ - #. `Platzbedarf der - Rudi-Shell <../rudi-shell.html#PlatzbedarfderRudi-Shell>`__ - -#. `Installation <install.html#Installation>`__ -#. `Funktionsweise <functions.html#Funktionsweise>`__ -#. `Illustrierte - Anwendungsfälle <usage.html#IllustrierteAnwendungsfälle>`__ - - #. `Shell-Skript ausführen <usage.html#Shell-Skriptausführen>`__ - #. `Historie verwenden <usage.html#Historieverwenden>`__ - #. `Download Tar-Archiv <usage.html#DownloadTar-Archiv>`__ - #. `Download langer - Konsolenausgabe <usage.html#DownloadlangerKonsolenausgabe>`__ - #. `Datei-Upload <usage.html#Datei-Upload>`__ - -#. `Grenzen & Einschränkungen <limits.html#GrenzenEinschränkungen>`__ -#. `Tips & Tricks <tips.html#TipsTricks>`__ - - #. `Sicherer Zugriff via HTTPS <tips.html#SichererZugriffviaHTTPS>`__ - #. `HTTPS-Zugriff reloaded & - improved <tips.html#HTTPS-Zugriffreloadedimproved>`__ - #. `Firmware remote flashen <tips.html#Firmwareremoteflashen>`__ - .. _IllustrierteAnwendungsfälle: Illustrierte Anwendungsfälle diff --git a/wiki/packages/samba.rst b/wiki/packages/samba.rst index 2246292..93d9da0 100644 --- a/wiki/packages/samba.rst +++ b/wiki/packages/samba.rst @@ -1,21 +1,5 @@ packages/samba ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Package ins Image einbinden <samba.html#PackageinsImageeinbinden>`__ -#. `Verwandte Themen <samba.html#VerwandteThemen>`__ -#. `Konfigurieren des Pakets <samba.html#KonfigurierendesPakets>`__ - - #. `AVM Konfiguration <samba.html#AVMKonfiguration>`__ - #. `Freetz Konfiguration <samba.html#FreetzKonfiguration>`__ - - #. `Pakete → Samba <samba.html#PaketeSamba>`__ - #. `Einstellungen → Samba - Freigaben <samba.html#EinstellungenSambaFreigaben>`__ - #. `Einstellungen → Samba - Erweitert <samba.html#EinstellungenSambaErweitert>`__ - .. _Samba: Samba diff --git a/wiki/packages/sane-backends.rst b/wiki/packages/sane-backends.rst index 2e2a8dd..eed8452 100644 --- a/wiki/packages/sane-backends.rst +++ b/wiki/packages/sane-backends.rst @@ -5,29 +5,6 @@ packages/sane-backends SANE ==== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Beschreibung <sane-backends.html#Beschreibung>`__ -#. `Schnellstart <sane-backends.html#Schnellstart>`__ - - #. `Vorbemerkung <sane-backends.html#Vorbemerkung>`__ - #. `Installation und - Konfiguration <sane-backends.html#InstallationundKonfiguration>`__ - #. `Nutzung vom PC unter - Linux/Windows <sane-backends.html#NutzungvomPCunterLinuxWindows>`__ - #. `Scannen funktioniert - nicht <sane-backends.html#Scannenfunktioniertnicht>`__ - -#. `Probleme und Lösungen <sane-backends.html#ProblemeundLösungen>`__ -#. `Einschränkungen und - Hinweise <sane-backends.html#EinschränkungenundHinweise>`__ - - #. `Hinweise zu speziellen - Geräten <sane-backends.html#HinweisezuspeziellenGeräten>`__ - -#. `Weiterführende Links <sane-backends.html#WeiterführendeLinks>`__ - .. _Beschreibung: Beschreibung diff --git a/wiki/packages/screen.rst b/wiki/packages/screen.rst index 8c3ac66..0174d07 100644 --- a/wiki/packages/screen.rst +++ b/wiki/packages/screen.rst @@ -1,17 +1,5 @@ packages/screen =============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Bedienung <screen.html#Bedienung>`__ - - #. `aushängen/detach <screen.html#aushängendetach>`__ - #. `einhängen/attach <screen.html#einhängenattach>`__ - -#. `PuTTY-Tip: Änderung der Fensterbreite beim Screen-Start - verhindern <screen.html#PuTTY-Tip:ÄnderungderFensterbreitebeimScreen-Startverhindern>`__ -#. `Weiterführende Links <screen.html#WeiterführendeLinks>`__ - screen ====== diff --git a/wiki/packages/tinc.rst b/wiki/packages/tinc.rst index fe7ddc8..e13dc17 100644 --- a/wiki/packages/tinc.rst +++ b/wiki/packages/tinc.rst @@ -1,12 +1,5 @@ packages/tinc ============= -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Features <tinc.html#Features>`__ -#. `Verwendete Bibliotheken <tinc.html#VerwendeteBibliotheken>`__ -#. `Weiterführende Links <tinc.html#WeiterführendeLinks>`__ - .. _Tinc: Tinc diff --git a/wiki/packages/tor.rst b/wiki/packages/tor.rst index 3a3d16f..a0644d4 100644 --- a/wiki/packages/tor.rst +++ b/wiki/packages/tor.rst @@ -1,19 +1,5 @@ packages/tor ============ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Tor als Proxy benutzen <tor.html#ToralsProxybenutzen>`__ -#. `Tor und Privoxy <tor.html#TorundPrivoxy>`__ -#. `Installation <tor.html#Installation>`__ -#. `Geschwindigkeit optimieren <tor.html#Geschwindigkeitoptimieren>`__ -#. `Tor als Server einrichten <tor.html#ToralsServereinrichten>`__ -#. `Remote Control <tor.html#RemoteControl>`__ -#. `obfsproxy <tor.html#obfsproxy>`__ -#. `Memory Usage <tor.html#MemoryUsage>`__ -#. `Abhängigkeiten <tor.html#Abhängigkeiten>`__ -#. `Diskussion <tor.html#Diskussion>`__ - .. _TorProxy: Tor Proxy diff --git a/wiki/packages/usbroot.rst b/wiki/packages/usbroot.rst index 248a22b..89eb05f 100644 --- a/wiki/packages/usbroot.rst +++ b/wiki/packages/usbroot.rst @@ -1,17 +1,5 @@ packages/usbroot ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Vorteile <usbroot.html#Vorteile>`__ -#. `Konfiguration und - Kompilierung <usbroot.html#KonfigurationundKompilierung>`__ -#. `Packen, kopieren auf die Fritz!Box und - entpacken <usbroot.html#PackenkopierenaufdieFritzBoxundentpacken>`__ -#. `Einbinden von Partitionen <usbroot.html#EinbindenvonPartitionen>`__ -#. `Mögliche Nebenwirkungen <usbroot.html#MöglicheNebenwirkungen>`__ -#. `Verbesserungsmöglichkeiten <usbroot.html#Verbesserungsmöglichkeiten>`__ - .. _USB-Root: USB-Root diff --git a/wiki/packages/vtund.rst b/wiki/packages/vtund.rst index 961d8c8..ecef59d 100644 --- a/wiki/packages/vtund.rst +++ b/wiki/packages/vtund.rst @@ -1,13 +1,5 @@ packages/vtund ============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Version <vtund.html#Version>`__ -#. `Konfigurationsanleitung <vtund.html#Konfigurationsanleitung>`__ - - #. `Portweiterleitung <vtund.html#Portweiterleitung>`__ - .. _VTUNfreetzPackage: VTUN freetz Package diff --git a/wiki/packages/wol.rst b/wiki/packages/wol.rst index c2bdcb4..689dd14 100644 --- a/wiki/packages/wol.rst +++ b/wiki/packages/wol.rst @@ -1,14 +1,5 @@ packages/wol ============ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Wake on LAN - WebInterface(wol-cgi) <wol.html#WakeonLANWebInterfacewol-cgi>`__ - - #. `Konfiguration auf der - Fritzbox <wol.html#KonfigurationaufderFritzbox>`__ - .. _WakeonLANWoL: Wake on LAN (WoL) diff --git a/wiki/packages/xrelayd.rst b/wiki/packages/xrelayd.rst index 72b1a3b..936b8da 100644 --- a/wiki/packages/xrelayd.rst +++ b/wiki/packages/xrelayd.rst @@ -1,12 +1,5 @@ packages/xrelayd ================ -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Konfiguration <xrelayd.html#Konfiguration>`__ -#. `Zertifikate auf der Box - erzeugen <xrelayd.html#ZertifikateaufderBoxerzeugen>`__ - xrelayd ======= diff --git a/wiki/packages_tagged.rst b/wiki/packages_tagged.rst index 421b363..9c4a47d 100644 --- a/wiki/packages_tagged.rst +++ b/wiki/packages_tagged.rst @@ -1,52 +1,5 @@ packages_tagged =============== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Pakete, Addons und - CGI-Erweiterungen <packages.html#PaketeAddonsundCGI-Erweiterungen>`__ - - #. `Pakete <packages.html#Pakete>`__ - #. `Addons <packages.html#Addons>`__ - #. `CGI-Erweiterungen <packages.html#CGI-Erweiterungen>`__ - #. `Apps <packages.html#Apps>`__ - #. `Weiteres <packages.html#Weiteres>`__ - -#. `Pakete nach - Anwendungsgebieten <packages_tagged.html#PaketenachAnwendungsgebieten>`__ - - #. `Audio <packages_tagged.html#Audio>`__ - #. `Home Automation <packages_tagged.html#HomeAutomation>`__ - #. `Konsole <packages_tagged.html#Konsole>`__ - #. `Monitoring <packages_tagged.html#Monitoring>`__ - #. `Netzwerk <packages_tagged.html#Netzwerk>`__ - - #. `DynDNS <packages_tagged.html#DynDNS>`__ - #. `File Transfer <packages_tagged.html#FileTransfer>`__ - #. `Internet - Messenging <packages_tagged.html#InternetMessenging>`__ - #. `Konsole <packages_tagged.html#Konsole1>`__ - #. `Proxies <packages_tagged.html#Proxies>`__ - #. `Routing <packages_tagged.html#Routing>`__ - #. `Security <packages_tagged.html#Security>`__ - #. `Tunneling <packages_tagged.html#Tunneling>`__ - #. `VPN <packages_tagged.html#VPN>`__ - #. `Web-Anwendungen <packages_tagged.html#Web-Anwendungen>`__ - #. `Sonstiges <packages_tagged.html#Sonstiges>`__ - - #. `Privacy <packages_tagged.html#Privacy>`__ - #. `Programmiersprachen und - -hilfen <packages_tagged.html#Programmiersprachenund-hilfen>`__ - #. `Security <packages_tagged.html#Security1>`__ - #. `System <packages_tagged.html#System>`__ - - #. `Dateisystem <packages_tagged.html#Dateisystem>`__ - #. `Hardware an der Box <packages_tagged.html#HardwareanderBox>`__ - #. `Verschiedenes <packages_tagged.html#Verschiedenes>`__ - - #. `Telefonie <packages_tagged.html#Telefonie>`__ - #. `verschiedene Tools <packages_tagged.html#verschiedeneTools>`__ - .. _PaketenachAnwendungsgebieten: Pakete nach Anwendungsgebieten diff --git a/wiki/patch.rst b/wiki/patch.rst index d505aa2..7728b26 100644 --- a/wiki/patch.rst +++ b/wiki/patch.rst @@ -1,16 +1,5 @@ patch ===== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Aufbau eines Patches <patch.html#AufbaueinesPatches>`__ -#. `Erzeugen eines Patches <patch.html#ErzeugeneinesPatches>`__ -#. `Patch anwenden oder rückgängig - machen <patch.html#Patchanwendenoderrückgängigmachen>`__ -#. `Wie finde ich die zu patchende - Stelle? <patch.html#WiefindeichdiezupatchendeStelle>`__ -#. `Links <patch.html#Links>`__ - .. _AufbaueinesPatches: Aufbau eines Patches diff --git a/wiki/patches/exec_autorun.rst b/wiki/patches/exec_autorun.rst index 4ffcc68..659b194 100644 --- a/wiki/patches/exec_autorun.rst +++ b/wiki/patches/exec_autorun.rst @@ -1,11 +1,5 @@ patches/exec_autorun ==================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Vorteile <exec_autorun.html#Vorteile>`__ -#. `Nachteile <exec_autorun.html#Nachteile>`__ - .. _Executeautorun.shautoend.shscriptonunmount: Execute autorun.sh/autoend.sh script on (un)mount diff --git a/wiki/patches/remove_support.rst b/wiki/patches/remove_support.rst index 064eab9..7fdccfc 100644 --- a/wiki/patches/remove_support.rst +++ b/wiki/patches/remove_support.rst @@ -1,10 +1,5 @@ patches/remove_support ====================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Was wird entfernt? <remove_support.html#Waswirdentfernt>`__ - .. _Removethesupport-files: Remove the support-files diff --git a/wiki/patches/remove_upnp.rst b/wiki/patches/remove_upnp.rst index 50bcaf6..f261488 100644 --- a/wiki/patches/remove_upnp.rst +++ b/wiki/patches/remove_upnp.rst @@ -1,12 +1,5 @@ patches/remove_upnp =================== -Inhaltsverzeichnis -^^^^^^^^^^^^^^^^^^ - -#. `Was wird entfernt? <remove_upnp.html#Waswirdentfernt>`__ -#. `Was ist zu beachten? <remove_upnp.html#Wasistzubeachten>`__ -#. `Weiterführende Links <remove_upnp.html#WeiterführendeLinks>`__ - .. _RemoveuPnPdaemon: Remove uPnP daemon From 4cedd0068a18b8a229ec1b535df51db848c9ea39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 15:57:16 +0100 Subject: [PATCH 05/13] Fix warning icons --- index.rst | 4 ++-- wiki/FAQ.en.rst | 12 ++++++------ wiki/FAQ.rst | 8 ++++---- wiki/common/source_code.en.rst | 10 +++++----- wiki/common/source_code.rst | 12 ++++++------ wiki/help/fritz_faq.rst | 6 +++--- wiki/help/howtos/common/external.rst | 10 +++++----- wiki/help/howtos/common/install.en.rst | 10 +++++----- wiki/help/howtos/common/install.rst | 8 ++++---- wiki/help/howtos/common/install/menuconfig.rst | 6 +++--- wiki/help/howtos/common/newbie.rst | 8 ++++---- wiki/help/howtos/common/user.rst | 4 ++-- .../create_cross-compiler_toolchain.rst | 4 ++-- .../shell_coding_conventions.rst | 4 ++-- wiki/help/howtos/development/integrate_patches.rst | 4 ++-- .../howtos/development/manipulation_detection.rst | 4 ++-- .../help/howtos/development/release_management.rst | 2 +- wiki/help/howtos/development/save_mtd_2.rst | 6 +++--- wiki/help/howtos/troubleshoot/recover_firmware.rst | 6 +++--- wiki/help/irc.rst | 4 ++-- wiki/help/trouble_shooting.rst | 4 ++-- wiki/help/wikiedit/goodies.rst | 2 +- wiki/index.rst | 4 ++-- wiki/libs_tagged.rst | 2 -- wiki/packages/bftpd.rst | 4 ++-- wiki/packages/checkmaild.rst | 4 ++-- wiki/packages/digitemp.rst | 4 ++-- wiki/packages/dnsmasq.rst | 6 +++--- wiki/packages/fritzload.rst | 6 +++--- wiki/packages/inadyn-mt.en.rst | 6 +++--- wiki/packages/iptables-cgi.rst | 4 ++-- wiki/packages/iptables.rst | 8 ++++---- wiki/packages/jamvm.rst | 4 ++-- wiki/packages/matrixtunnel.rst | 4 ++-- wiki/packages/mod.rst | 14 +++++++------- wiki/packages/nagios.rst | 4 ++-- wiki/packages/nano-shell.rst | 10 +++++----- wiki/packages/ppp.rst | 8 ++++---- wiki/packages/pptp.rst | 4 ++-- wiki/packages/pptpd/install.rst | 4 ++-- wiki/packages/prosody.rst | 4 ++-- wiki/packages/quagga.rst | 6 +++--- wiki/packages/rrdstats.rst | 4 ++-- wiki/packages/ruby.rst | 4 ++-- wiki/packages/rudi-shell/functions.rst | 12 ++++++------ wiki/packages/rudi-shell/tips.rst | 8 ++++---- wiki/packages/samba.rst | 6 +++--- wiki/packages/smstools3.rst | 4 ++-- wiki/packages/sundtek.rst | 6 +++--- wiki/packages/transmission.rst | 4 ++-- wiki/packages/virtualip.rst | 4 ++-- wiki/patches/exec_autorun.rst | 6 +++--- wiki/patches/remove_ftpd.rst | 4 ++-- wiki/patches/remove_samba.rst | 4 ++-- wiki/ticket.rst | 4 ++-- 55 files changed, 158 insertions(+), 160 deletions(-) diff --git a/index.rst b/index.rst index acaea29..c10f4db 100644 --- a/index.rst +++ b/index.rst @@ -16,7 +16,7 @@ Willkommen bei Freetz Software <http://www.germany.fsfeurope.org/documents/freesoftware.de.html>`__ und wird von Oliver Metz, Alexander Kriegisch und Team entwickelt. -|/!\\| **WARNUNG:** Die Installation einer modifizierten Firmware führt +|Warning| **WARNUNG:** Die Installation einer modifizierten Firmware führt zum Verlust der Gewährleistung des Herstellers! .. _Download: @@ -484,4 +484,4 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/rudi-shell/functions wiki/Freetz -.. |/!\\| image:: /chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: /chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/FAQ.en.rst b/wiki/FAQ.en.rst index 9b7ed32..042ea76 100644 --- a/wiki/FAQ.en.rst +++ b/wiki/FAQ.en.rst @@ -705,7 +705,7 @@ Configuration not available at the current security level! # 1 : only configuration files without shell commands (shell scripts) can be modified # 2 : no configuration files can be modified -|/!\\| **ATTENTION:** Between x and > there must be at least a single +|Warning| **ATTENTION:** Between x and > there must be at least a single blank space. If there isn't, the file will be empty. (echo will redirect to stdout. The output would be empty then. Alternatively, you could also write "x">security. @@ -735,7 +735,7 @@ How can i disable the password for the Freetz-Website? .. - |/!\\| For Freetz-1.1.x replace */tmp/flash/webcfg_conf* with + |Warning| For Freetz-1.1.x replace */tmp/flash/webcfg_conf* with */tmp/flash/httpd_conf* . .. _HowcanichangethepasswordfortheFreetz-Website: @@ -823,7 +823,7 @@ Problems During Working modconf save mod modsave flash -|/!\\| As of `r5706 </changeset/5706>`__ the setting MOD_LIMIT is +|Warning| As of `r5706 </changeset/5706>`__ the setting MOD_LIMIT is obsolete. .. _NoftpaccessafterFreetz: @@ -899,10 +899,10 @@ read from ``/proc/devices``: Because this character device is created in a `​ramdisk <http://de.wikipedia.org/wiki/RAM-Disk>`__ under ``/var/``, this command must be executed every time during a restart. The content -is achieving |(?)|. |/!\\| To edit such character devices **never** use +is achieving |(?)|. |Warning| To edit such character devices **never** use vi! For this case, there is the wrapper script nvi. -|/!\\| **ATTENTION:** The flash partition of the TFFS is very small and +|Warning| **ATTENTION:** The flash partition of the TFFS is very small and not capable to contain files > 10-30 KB (depending on the size of the other files). @@ -964,6 +964,6 @@ How much RAM does my FritzBox contain? - `faq </tags/faq>`__ .. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png -.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../chrome/wikiextras-icons-16/exclamation.png .. |(?)| image:: ../chrome/wikiextras-icons-16/question.png diff --git a/wiki/FAQ.rst b/wiki/FAQ.rst index 536e9e4..6dcf5a0 100644 --- a/wiki/FAQ.rst +++ b/wiki/FAQ.rst @@ -549,7 +549,7 @@ Could not download firmware image menuconfig <help/howtos/common/install/menuconfig.html>`__ unter *Advanced Options ⇒ Override firmware source* den Namen der herunterzuladenen Image Datei anpassen. - |/!\\| Vorsicht: Evtl. sind weitere Anpassungen im Quellcode + |Warning| Vorsicht: Evtl. sind weitere Anpassungen im Quellcode notwendig und zur Sicherheit ein passendes Recover-Image bereit halten. @@ -1229,7 +1229,7 @@ Wie deaktiviere ich das Passwort für die Freetz-Webseite? bevorzugt. Ein leeres Skript /tmp/flash/webcfg_conf erzeugt also eine leere Konfigurationsdatei ohne Passwort. -|/!\\| Für Freetz-1.1.x ist */tmp/flash/webcfg_conf* durch +|Warning| Für Freetz-1.1.x ist */tmp/flash/webcfg_conf* durch */tmp/flash/httpd_conf* zu ersetzen. .. _WieändereichdasPasswortfürdieFreetz-Webseite: @@ -1342,7 +1342,7 @@ Probleme im Betrieb modconf save mod modsave flash -|/!\\| Seit `r5706 </changeset/5706>`__ (trunk) wird das Setzen des +|Warning| Seit `r5706 </changeset/5706>`__ (trunk) wird das Setzen des Limits nicht mehr unterstützt. .. _KeinFTP-ZugriffnachFreetzmöglich: @@ -1457,5 +1457,5 @@ allgemein <help/fritz_faq.html>`__ - `faq </tags/faq>`__ .. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png -.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/common/source_code.en.rst b/wiki/common/source_code.en.rst index 5b5e2c9..45a1a13 100644 --- a/wiki/common/source_code.en.rst +++ b/wiki/common/source_code.en.rst @@ -14,7 +14,7 @@ generally abbreviated by SVN. Developer version (trunk) ------------------------- -|/!\\| This version is only for experienced users and developers who +|Warning| This version is only for experienced users and developers who know how to help themselves! The trunk changes continuously and might temporarily contain bugs or not work at all. @@ -26,7 +26,7 @@ Check out from SVN: $ svn co http://svn.freetz.org/trunk trunk_7843 -r 7843 <--- check out specific trunk revision (here: 7843) into subdirectory "trunk_7843", so as not to overwrite the current trunk directory -Check out from Git (|/!\\| Git is not the leading system and is +Check out from Git (|Warning| Git is not the leading system and is officially unsupported presently. We provide it "as is" for test purposes.): @@ -61,9 +61,9 @@ version): Stable version -------------- -|/!\\| **The "stable" version is not maintained anymore. Newer boxes as +|Warning| **The "stable" version is not maintained anymore. Newer boxes as well as firmwares are not available there. Please use whenever possible -the trunk as mentioned above.** |/!\\| +the trunk as mentioned above.** |Warning| For some box types no firmware is available on AVM servers. Help yourself using this @@ -87,5 +87,5 @@ firmware updates anymore (more $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/common/source_code.rst b/wiki/common/source_code.rst index 34fbecc..1544ef3 100644 --- a/wiki/common/source_code.rst +++ b/wiki/common/source_code.rst @@ -14,9 +14,9 @@ Subversion wird allgemein abgekürzt mit SVN. Entwicklerversion (Trunk) ------------------------- -| |/!\\| Diese Version ist ausschließlich für **erfahrene Benutzer und +| |Warning| Diese Version ist ausschließlich für **erfahrene Benutzer und Entwickler** gedacht, die sich selbst zu helfen wissen! -| |/!\\| Sie ist ständigen Änderungen unterworfen und funktioniert daher +| |Warning| Sie ist ständigen Änderungen unterworfen und funktioniert daher möglicherweise **nur eingeschränkt** oder **temporär nicht**! Aktuelle Liste unterstützter Boxen mit @@ -35,7 +35,7 @@ Auschecken aus Git: $ git clone https://github.com/Freetz/freetz.git freetz-devel <--- freetz-git: Lokale Kopie des Git-Repositorys -|/!\\| `​Git <http://git-scm.com/>`__ ist nicht das führende System und +|Warning| `​Git <http://git-scm.com/>`__ ist nicht das führende System und wird derzeit nicht offiziell unterstützt, sondern nur zusätzlich zu Testzwecken zur Verfügung gestellt. @@ -76,9 +76,9 @@ Update eines lokalen Git-Repositorys (hier: Entwicklerversion): Stabile Version --------------- -|/!\\| **Die "stabile" Version wird nicht mehr gepflegt und neuere Boxen +|Warning| **Die "stabile" Version wird nicht mehr gepflegt und neuere Boxen wie auch aktuelle Firmwares (06.X) sind hier nicht verfügbar. Es -empfiehlt sich nur den trunk Zweig zu nutzen.** |/!\\| +empfiehlt sich nur den trunk Zweig zu nutzen.** |Warning| Für einige Box-Typen kann keine Firmware von den AVM-Servern geladen werden: Abhilfe siehe @@ -102,5 +102,5 @@ Firmware-Update mehr von AVM erhalten (mehr Infos $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/fritz_faq.rst b/wiki/help/fritz_faq.rst index e0804f5..9913283 100644 --- a/wiki/help/fritz_faq.rst +++ b/wiki/help/fritz_faq.rst @@ -61,11 +61,11 @@ device in ``/var/flash/`` verwendet wird (Freetz benutzt die Minor Da dieses character device in der `​Ramdisk <http://de.wikipedia.org/wiki/RAM-Disk>`__ unter ``/var/`` erzeugt wurde, muss dieser Befehl jedesmal beim Neustart ausgeführt -werden. Der Inhalt bleibt aber erhalten. |/!\\| Zum Bearbeiten solcher +werden. Der Inhalt bleibt aber erhalten. |Warning| Zum Bearbeiten solcher character devices **niemals** vi verwenden! Dafür gibt es das Wrapper-Skript nvi. -|/!\\| **ACHTUNG:** Die Flash Partition des TFFS ist sehr klein und +|Warning| **ACHTUNG:** Die Flash Partition des TFFS ist sehr klein und nicht geeignet Dateien > 10-30 KB aufzunehmen (je nach Größe der anderen Dateien). @@ -312,5 +312,5 @@ debug.cfg beim Starten ab. - Tags - `faq </tags/faq>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/external.rst b/wiki/help/howtos/common/external.rst index c7b7d17..be70676 100644 --- a/wiki/help/howtos/common/external.rst +++ b/wiki/help/howtos/common/external.rst @@ -27,14 +27,14 @@ Entstanden aus diesem Thread im IPPF: | Mit External kann man die Meldung `Filesystem image too big <../../../FAQ.html#Filesystemimagetoobig>`__ vermeiden. -| |/!\\| Der Pfad zu den external-Dateien kann im Webinterface unter +| |Warning| Der Pfad zu den external-Dateien kann im Webinterface unter Freetz → Einstellungen → external konfiguriert werden. In diesem dürfen sich keine andere Dateien befinden, dies könnte zu `​Fehlern <http://www.ip-phone-forum.de/showthread.php?p=1469406#post1469406>`__ führen. -| |/!\\| Es können nur Pakete ausgelagert werden, die zur Installation +| |Warning| Es können nur Pakete ausgelagert werden, die zur Installation ausgewählt wurden. .. _Konfiguration: @@ -102,7 +102,7 @@ services Hier können verschiedene automatisch startende Packages zum auslagern ausgewählt werden. -|/!\\| Diese werden erst geladen wenn der USB-Stick verfügbar ist und +|Warning| Diese werden erst geladen wenn der USB-Stick verfügbar ist und die Option zum automatischen Starten von ausgelagerten Diensten im Webinterface aktiviert ist. @@ -111,7 +111,7 @@ libraries Hier können verschieden Libraries zum auslagern ausgewählt werden. -|/!\\| Zu beachten ist, dass Programme, die gegen diese gelinkt sind, +|Warning| Zu beachten ist, dass Programme, die gegen diese gelinkt sind, erst gestartet werden können, wenn die Datei auf der Box geladen ist. Also vorher bitte die Abhängigkeiten prüfen. @@ -174,5 +174,5 @@ external-Pakete der aktualisierten Firmware schon zur Verfügung. - Tags - `external </tags/external>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/install.en.rst b/wiki/help/howtos/common/install.en.rst index aa89252..ad5e6cc 100644 --- a/wiki/help/howtos/common/install.en.rst +++ b/wiki/help/howtos/common/install.en.rst @@ -9,9 +9,9 @@ Installation original firmware. Because of license issues the distribution of original or modified firmware images is forbidden. -|/!\\| the installation of a modified firmware invalidates the +|Warning| the installation of a modified firmware invalidates the manufacturer's warranty! In case of problems, do NOT contact AVM -support. |/!\\| +support. |Warning| **Speedports**: (see `​sp2fritz <http://wiki.ip-phone-forum.de/skript:speedport2fritz#was_mach_ich_mit_dem_fertigen_kernel.image>`__). @@ -400,10 +400,10 @@ Vorteile von coLinux/andLinux/speedLinux: Cygwin ------ -|/!\\| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für +|Warning| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme geben kann und es außerdem einen riesigen Geschwindigkeitsverlust beim -Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |/!\\| +Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |Warning| Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier lediglich die Beschreibung für ds-mod: @@ -633,5 +633,5 @@ Weiterführende Links - Tags - `howto </tags/howto>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/install.rst b/wiki/help/howtos/common/install.rst index 38778df..9b070b4 100644 --- a/wiki/help/howtos/common/install.rst +++ b/wiki/help/howtos/common/install.rst @@ -9,7 +9,7 @@ Installation originalen Firmware bereit. Aus Lizenzgründen ist die Verbreitung sowohl originaler als auch modifizierter Firmware Images untersagt! -|/!\\| Achtung: Das Aufspielen einer modifizierten Firmware geht mit dem +|Warning| Achtung: Das Aufspielen einer modifizierten Firmware geht mit dem Verlust der Garantie einher. Wendet euch bei Problemen mit einer modifizierten Firmware daher **NICHT** an den AVM Support. @@ -505,10 +505,10 @@ SpeedLinux hat eine Option zum vergrößern der Partition. Cygwin ------ -|/!\\| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für +|Warning| **Unter Cygwin funktioniert Freetz definitiv nicht, und auch für ds-0.2.9 (Kernel 2.4) wird Linux empfohlen, weil es mit Cygwin Probleme geben kann und es außerdem einen riesigen Geschwindigkeitsverlust beim -Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |/!\\| +Bauen (mehrfache Build-Dauer) bedeutet, Cygwin zu verwenden.** |Warning| Da Freetz sich unter Cygwin ohnehin nicht bauen lässt, folgt hier lediglich die Beschreibung für ds-mod: @@ -751,5 +751,5 @@ Weiterführende Links - Tags - `howtos </tags/howtos>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/install/menuconfig.rst b/wiki/help/howtos/common/install/menuconfig.rst index df10d11..3520b3a 100644 --- a/wiki/help/howtos/common/install/menuconfig.rst +++ b/wiki/help/howtos/common/install/menuconfig.rst @@ -85,9 +85,9 @@ Branding werden aber von der Box nicht akzeptiert. - **freenet**: Gibt an, ob das freenet Branding in der modifizierten Firmware erhalten bleiben soll. -|/!\\| In `r2700 </changeset/2700>`__ wurde die Logik der +|Warning| In `r2700 </changeset/2700>`__ wurde die Logik der Brandingauswahl umgekehrt. Ausgewählte Brandings werden ab jetzt -entfernt. |/!\\| +entfernt. |Warning| .. _Mod: @@ -144,5 +144,5 @@ Mod tut. .. |:-)| image:: ../../../../../chrome/wikiextras-icons-16/smiley.png -.. |/!\\| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/newbie.rst b/wiki/help/howtos/common/newbie.rst index 72bac3e..b9f3ee4 100644 --- a/wiki/help/howtos/common/newbie.rst +++ b/wiki/help/howtos/common/newbie.rst @@ -32,7 +32,7 @@ Was brauche ich um ein Freetz-Image erstellen zu können? `​7170 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7170/x_misc/deutsch/>`__ oder `​7270 <ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7270/x_misc/deutsch/>`__. -| |/!\\| Nach einem fehlgeschlagenen Firmware-Update kommst du nicht +| |Warning| Nach einem fehlgeschlagenen Firmware-Update kommst du nicht mehr ins Internet, um dir ein Recovery-Image zu besorgen. | 2a.) Ein natives Linux-Betriebssytem, z.B. `​Ubuntu <http://www.ubuntu.com/>`__ (Einsteiger), Fedora @@ -48,7 +48,7 @@ Was brauche ich um ein Freetz-Image erstellen zu können? (VMWare & VirtualBox), `​speedlinux <http://wiki.ip-phone-forum.de/skript:andlinux>`__ (coLinux als VM, 32bit) -| |/!\\| Freetz-Linux steht seit Version 1.2 nur als Virtualbox OVA +| |Warning| Freetz-Linux steht seit Version 1.2 nur als Virtualbox OVA Datei bereit. Wer es weiterhin unter VMWare laufen lassen möchte, findet `hier <../../../FAQ.html#WiebekommeichFreetzLinuxunterVMWarezumLaufen>`__ @@ -60,7 +60,7 @@ Was brauche ich um ein Freetz-Image erstellen zu können? lokalen Download-Ordner "freetz/dl" etc. (`​Limitierungen bei Dateisystemen <http://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits>`__ beachten). Minimum: 5GiB (VM), Bevorzugt: 10GiB (nativ). -| |/!\\| Die folgende Beschreibung ist auf Freetz-Linux zugeschnitten. +| |Warning| Die folgende Beschreibung ist auf Freetz-Linux zugeschnitten. .. _Wassollteichbedenken: @@ -413,5 +413,5 @@ Anhänge (1) Alle Anhänge herunterladen als: `.zip </zip-attachment/wiki/help/howtos/common/newbie/>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/common/user.rst b/wiki/help/howtos/common/user.rst index 4d7e1b4..1f08992 100644 --- a/wiki/help/howtos/common/user.rst +++ b/wiki/help/howtos/common/user.rst @@ -19,7 +19,7 @@ auf der Box via telnet/ssh anzumelden, muss ihm eine Login-Shell zugewiesen werden. Dies geschieht durch den Parameter ``-s /bin/sh``. Der Parameter -g (GECOS field) ist eine Beschreibung des Benutzers. -|/!\\| Dieses Feld darf nicht auf *box user* oder *ftp user* gesetzt +|Warning| Dieses Feld darf nicht auf *box user* oder *ftp user* gesetzt werden, da der Benutzer sonst beim Neustart verloren geht. .. code:: wiki @@ -149,5 +149,5 @@ Anhänge (4) Alle Anhänge herunterladen als: `.zip </zip-attachment/wiki/help/howtos/common/user/>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst index c11b170..e8494e2 100644 --- a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst +++ b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst @@ -13,7 +13,7 @@ Das Erstellen eines Cross-Compilers ist mit Freetz denkbar einfach: in der Regel nichts zu ändern. Soll der Compiler hingegen für eine originale Firmware kompilieren können, so solltest du bei "uClibc config" die entsprechende Konfiguration auswählen. - |/!\\| **ACHTUNG:** Im zweiten Fall sollte diese entpackte Instanz + |Warning| **ACHTUNG:** Im zweiten Fall sollte diese entpackte Instanz von Freetz nicht mehr zum Erstellen von Images verwendet werden, sondern nur noch der Cross-Compiler selbst. #. Benötigt wird @@ -153,5 +153,5 @@ Using the dev-tools package to install compiler and tools - Tags - `howtos </tags/howtos>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst index 08b8f70..404860e 100644 --- a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst +++ b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst @@ -351,7 +351,7 @@ string):* Commenting ---------- -|/!\\| As usual, comments are mainly intended for maintainers of the +|Warning| As usual, comments are mainly intended for maintainers of the files, that means probably not you but someone else. Comments should describe why something is done the way it is done, or explain complicated statements that are not obvious. A summary for a whole block @@ -418,5 +418,5 @@ The proper interpreter magic (aka shebang) for shell script is: #!/bin/sh -.. |/!\\| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/development/integrate_patches.rst b/wiki/help/howtos/development/integrate_patches.rst index 2eb7c10..584d93f 100644 --- a/wiki/help/howtos/development/integrate_patches.rst +++ b/wiki/help/howtos/development/integrate_patches.rst @@ -5,7 +5,7 @@ help/howtos/development/integrate_patches Patches in Freetz einspielen ============================ -|/!\\| Hinweis: Wenn ihr Freetz aus dem svn (trunk oder stable branch) +|Warning| Hinweis: Wenn ihr Freetz aus dem svn (trunk oder stable branch) ausgecheckt habt, dann erhaltet ihr die neuesten Patches durch ``svn up``. @@ -28,5 +28,5 @@ dem Erstellen des Image fortfahren. - Tags - `howtos </tags/howtos>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/development/manipulation_detection.rst b/wiki/help/howtos/development/manipulation_detection.rst index 7402d19..f6891b5 100644 --- a/wiki/help/howtos/development/manipulation_detection.rst +++ b/wiki/help/howtos/development/manipulation_detection.rst @@ -294,7 +294,7 @@ einen Proxy-Ansatz an: Wir benennen ``/sbin/ar7login`` um in z.B. Wir reichen also einfach alle Parameter durch an ``ar7login`` und löschen danach umgehend wieder dessen Spuren im Klassenbuch. |;-)| Anschließend gilt analog zu Variante 1: Firmware bauen, flashen, -glücklich sein. |/!\\| **Achtung: Das Flag wird erst gelöscht, nachdem +glücklich sein. |Warning| **Achtung: Das Flag wird erst gelöscht, nachdem die Telnet-Sitzung wieder beendet wird.** .. _NachgelagertesAufräumenperProxy-SkripttransienteVariante: @@ -458,5 +458,5 @@ Harald Becker (ralda) .. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png .. |;-)| image:: ../../../../chrome/wikiextras-icons-16/smiley-wink.png -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/development/release_management.rst b/wiki/help/howtos/development/release_management.rst index f1a6e53..d8bbbc2 100644 --- a/wiki/help/howtos/development/release_management.rst +++ b/wiki/help/howtos/development/release_management.rst @@ -5,7 +5,7 @@ help/howtos/development/release_management Release Management ================== -**/!\\ Work In Progress /!\\** +**Warning Work In Progress Warning** .. _SubversionRepository: diff --git a/wiki/help/howtos/development/save_mtd_2.rst b/wiki/help/howtos/development/save_mtd_2.rst index 28a350b..c567b38 100644 --- a/wiki/help/howtos/development/save_mtd_2.rst +++ b/wiki/help/howtos/development/save_mtd_2.rst @@ -252,13 +252,13 @@ sein oder man sollte sich die Update-Prozedur aus den Original-Firmwares (z.B. 06.04.33, darin steckt ein Bootloader samt Update-Programm) anschauen und sich o.g. Artikel von Enrik durchlesen. -|/!\\| **Ich kann nur dringendst davon abraten, den Urlader zu -überschreiben, das sollte auch nie notwendig sein!!!** |/!\\| +|Warning| **Ich kann nur dringendst davon abraten, den Urlader zu +überschreiben, das sollte auch nie notwendig sein!!!** |Warning| `​Alexander Kriegisch (kriegaex) <http://www.ip-phone-forum.de/member.php?u=117253>`__ .. |:-)| image:: ../../../../chrome/wikiextras-icons-16/smiley.png .. |;-)| image:: ../../../../chrome/wikiextras-icons-16/smiley-wink.png -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/howtos/troubleshoot/recover_firmware.rst b/wiki/help/howtos/troubleshoot/recover_firmware.rst index e69412c..5c753ca 100644 --- a/wiki/help/howtos/troubleshoot/recover_firmware.rst +++ b/wiki/help/howtos/troubleshoot/recover_firmware.rst @@ -8,11 +8,11 @@ Original Firmware wiederherstellen Wenn die Box nicht mehr ansprechbar ist, die Power LED leuchtet und die übrigen LEDs in regelmäßigen Abständen aufblinken, dann kann folgende Vorgehensweise die Box wieder zum Leben erwecken. In diesen Fällen ist -mtd1 (Kernel + Filesystem) betroffen, nicht mtd3 / mtd4 (|/!\\| mtd2 auf +mtd1 (Kernel + Filesystem) betroffen, nicht mtd3 / mtd4 (|Warning| mtd2 auf **KEINEN** Fall anrühren). #. Der Computer muss sich im gleichen Subnetz (und auch - Broadcast-Domäne) wie die Box befinden: 192.168.178.0/24 (|/!\\| + Broadcast-Domäne) wie die Box befinden: 192.168.178.0/24 (|Warning| Achtung: Die Boot-IP der Box muss nicht gleich der IP im normalen Betrieb sein!) #. ``make recover`` @@ -29,5 +29,5 @@ unmodifizierte original Firmware auf die Box. - `firmware </tags/firmware>`__ - `howtos </tags/howtos>`__ -.. |/!\\| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/irc.rst b/wiki/help/irc.rst index ff4fb4e..63a460e 100644 --- a/wiki/help/irc.rst +++ b/wiki/help/irc.rst @@ -21,7 +21,7 @@ Intro Port="6667" Channel="##fritzbox" -|/!\\| Grundsätzlich: Bitte einfach Eure Fragen stellen, Antworten +|Warning| Grundsätzlich: Bitte einfach Eure Fragen stellen, Antworten können manchmal dauern (siehe "IRC Netiquette"). .. _IRCNetiquette: @@ -79,5 +79,5 @@ Konfiguration Chatzilla-Plugin in Firefox Ab sofort verbindet man sich automatisch mit jedem Start von Chatzilla zu ##fritzbox. -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/trouble_shooting.rst b/wiki/help/trouble_shooting.rst index 974f834..b53df72 100644 --- a/wiki/help/trouble_shooting.rst +++ b/wiki/help/trouble_shooting.rst @@ -26,7 +26,7 @@ Troubleshooting .config Troubleshooting Build-Abbruch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -|/!\\| Sollte während des Build-Prozesses ein Abbruch auftreten, so kann +|Warning| Sollte während des Build-Prozesses ein Abbruch auftreten, so kann man versuchen diese Strategien anzuwenden: Einzelnes Paketes erneut erstellen: @@ -49,5 +49,5 @@ Bei Nichterfolg können `Wiki, Forum und IRC <../index.html#WikiForumundIRC>`__ genutzt werden, um das Problem weiter zu behandeln. -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/help/wikiedit/goodies.rst b/wiki/help/wikiedit/goodies.rst index b42cc77..a6d9111 100644 --- a/wiki/help/wikiedit/goodies.rst +++ b/wiki/help/wikiedit/goodies.rst @@ -15,7 +15,7 @@ Smileys ------- +---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ -| |(!)|  | (!) /!\\ | | |(OK)|  | (OK) (Y) | | |:))|  | :)) :-)) | | |:-o|  | :-o :o | | |{*}|  | {*} | +| |(!)|  | (!) Warning | | |(OK)|  | (OK) (Y) | | |:))|  | :)) :-)) | | |:-o|  | :-o :o | | |{*}|  | {*} | +---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ | |(*)|  | (*) | | |(X)|  | (X) | | |:-?|  | :-? :? | | |:-\||  | :-\| :\| | | |{o}|  | {o} | +---------+-----------+--+---------+-----------+--+--------+----------+--+---------+----------+--+--------+-----+ diff --git a/wiki/index.rst b/wiki/index.rst index cc43fee..978d034 100644 --- a/wiki/index.rst +++ b/wiki/index.rst @@ -16,7 +16,7 @@ Willkommen bei Freetz Software <http://www.germany.fsfeurope.org/documents/freesoftware.de.html>`__ und wird von Oliver Metz, Alexander Kriegisch und Team entwickelt. -|/!\\| **WARNUNG:** Die Installation einer modifizierten Firmware führt +|Warning| **WARNUNG:** Die Installation einer modifizierten Firmware führt zum Verlust der Gewährleistung des Herstellers! .. _Download: @@ -128,5 +128,5 @@ Quellcode Anleitung zum `Auschecken und Aktualisieren des Quellcodes <common/source_code.html>`__ aus dem Freetz-Repository -.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/libs_tagged.rst b/wiki/libs_tagged.rst index 161f55a..aa6b84f 100644 --- a/wiki/libs_tagged.rst +++ b/wiki/libs_tagged.rst @@ -1,5 +1,3 @@ -libs_tagged -=========== .. _BibliothekennachAnwendungsgebieten: Bibliotheken nach Anwendungsgebieten diff --git a/wiki/packages/bftpd.rst b/wiki/packages/bftpd.rst index 6cfd90a..5f4f896 100644 --- a/wiki/packages/bftpd.rst +++ b/wiki/packages/bftpd.rst @@ -28,7 +28,7 @@ vergebenen Passwort möglich. Zusätzliche Benutzer einrichten ------------------------------- -|/!\\| Achtung: Der AVM-Dämon ``ctlmgr`` überschreibt die +|Warning| Achtung: Der AVM-Dämon ``ctlmgr`` überschreibt die ``/etc/passwd`` bei Änderungen im Webinterface und löscht die angelegten User. Außerdem ist das Usermanagement von Freetz überarbeitet worden, so dass jetzt mit ``adduser username -h /var/media/ftp/uStor01`` neue @@ -111,5 +111,5 @@ im Forum. - `server </tags/server>`__ - `überarbeiten </tags/%C3%BCberarbeiten>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/checkmaild.rst b/wiki/packages/checkmaild.rst index 9155620..f1072cf 100644 --- a/wiki/packages/checkmaild.rst +++ b/wiki/packages/checkmaild.rst @@ -11,7 +11,7 @@ neuen Mail wird ein Skript (maillog.cfg) aufgerufen. In diesem kann das Mail-Event z.B. durch eine LED an der FritzBox signalisiert werden. Oder über einen kurzen Telefonanruf auf ein Telefon bzw. Handy. -|/!\\| Es können keine Konten über SSL-Verbindungen abgerufen werden! +|Warning| Es können keine Konten über SSL-Verbindungen abgerufen werden! **Unterschied von IMAP- und POP3-Konten:** Wenn die Mails über ein IMAP-Konto abgerufen werden, dann werden die ungelesenen Mails (unread @@ -133,5 +133,5 @@ Weiterführende Links - `network </tags/network>`__ - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/digitemp.rst b/wiki/packages/digitemp.rst index d5b1cff..603d82b 100644 --- a/wiki/packages/digitemp.rst +++ b/wiki/packages/digitemp.rst @@ -19,7 +19,7 @@ z.B. DS1820. Wichtiger Hinweis ~~~~~~~~~~~~~~~~~ -| |/!\\| Egal was in irgendeiner Anleitung im Internet steht, es MÜSSEN +| |Warning| Egal was in irgendeiner Anleitung im Internet steht, es MÜSSEN alle 3 Beinchen der Sensoren verbunden werden! | Ob es nun eine eigene Stromversorgung oder Masse ist, bleibt euch überlassen. Ansonsten befinden sich die Sensoren in einem nicht @@ -140,5 +140,5 @@ Weiterführende Links - `packages <../packages.html>`__ - `usb </tags/usb>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/dnsmasq.rst b/wiki/packages/dnsmasq.rst index da96b58..07f6716 100644 --- a/wiki/packages/dnsmasq.rst +++ b/wiki/packages/dnsmasq.rst @@ -49,7 +49,7 @@ Zur Konfiguration gibt es im Web-Interface von Freetz die Seiten: - *Einstellungen / Dnsmasq: extra*: Textfeld zur Eingabe zusätzlicher Optionen (dnsmasq long options ohne führende ``--``) -|/!\\| Wenn der DHCP-Server von dnsmasq genutzt werden soll, dann ist +|Warning| Wenn der DHCP-Server von dnsmasq genutzt werden soll, dann ist der FRITZBox-interne DHCP-Server aus der Original-Firmware unter *System* → *Netzwerkeinstellungen* → *IP-Adressen* zu deaktivieren @@ -113,7 +113,7 @@ mit iptables den DNS-Port umleiten | Dazu den Port von dnsmasq auf 50053 ändern und die Optionen 'vor multid starten' und 'multid restarten' deaktivieren. | Im menuconfig müssen diese Optionen von iptables ausgewählt sein - (|/!\\| je nach Kernelversion variieren die Namen etwas): + (|Warning| je nach Kernelversion variieren die Namen etwas): bei Kernel 2.6.28 (zb Fritzbox 7320): @@ -485,5 +485,5 @@ Weiterführende Links - `network </tags/network>`__ - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/fritzload.rst b/wiki/packages/fritzload.rst index fee2671..747843a 100644 --- a/wiki/packages/fritzload.rst +++ b/wiki/packages/fritzload.rst @@ -10,7 +10,7 @@ Software die automatisiert Dateien von bzw. zu Sharehostern herunter- und hochladen kann und diese auf einem gemounteten Medium (z.B. USB-Stick) ablegt. -| |/!\\| Es ist kein Bestandteil von Freetz und wird nicht von Freetz +| |Warning| Es ist kein Bestandteil von Freetz und wird nicht von Freetz supportet! | Bei Fragen oder Problemen bitte auf der `​FritzLoad Homepage <http://sourceforge.net/apps/trac/avmload/>`__ oder im @@ -31,7 +31,7 @@ Es hat sich gezeigt, dass FritzLoad - es sich nicht ordnungsgemäß beendet und damit das Aushängen von Datenträgern verhindert (`#910 </ticket/910>`__) -|/!\\| Deshalb: Vor einer Ticketerstellung bitte ohne FritzLoad testen. +|Warning| Deshalb: Vor einer Ticketerstellung bitte ohne FritzLoad testen. .. _GründeundmöglicheLösungen: @@ -50,5 +50,5 @@ FritzLoad wäre zur Fehlersuche jederzeit im Handumdrehen "abziehbar". Diese Lösung sollte dann auch vom FritzLoad Autor gepflegt werden. -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/inadyn-mt.en.rst b/wiki/packages/inadyn-mt.en.rst index 03a7a21..022be7c 100644 --- a/wiki/packages/inadyn-mt.en.rst +++ b/wiki/packages/inadyn-mt.en.rst @@ -26,14 +26,14 @@ there is a reference that a new account can be created via `​https://account.dyn.com/entrance/ <https://account.dyn.com/entrance/>`__ Just give it a try. -|/!\\| From 7-May-2014 +|Warning| From 7-May-2014 | From 7-May the free Dyn account will stop. See `​Dyn blog <http://dyn.com/blog/why-we-decided-to-stop-offering-free-accounts/>`__. | -|/!\\| Since 14-May-2013 +|Warning| Since 14-May-2013 Starting now, if you would like to maintain your free Dyn account, you must log into your account once a month. Failure to do so will @@ -98,5 +98,5 @@ INADYN to show only Inadyn related messages. You will see that the every the IP address changed, your account at your DNS provider is updates with this new IP address. -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/iptables-cgi.rst b/wiki/packages/iptables-cgi.rst index 82ce9cf..10bd4ad 100644 --- a/wiki/packages/iptables-cgi.rst +++ b/wiki/packages/iptables-cgi.rst @@ -129,7 +129,7 @@ korrekt: IPTables selbst läuft stabil. Die Probleme werden durch das allgemeine Funktion von IPTables jedoch nicht unbedingt benötigt wird, muss man es auch nicht installieren. -|/!\\| Bei der Auswahl von iptables-cgi in ``make menuconfig`` wird +|Warning| Bei der Auswahl von iptables-cgi in ``make menuconfig`` wird *conntrack* u.U. rekursiv mit ausgewählt. Man kann es jedoch manuell abwählen, sodass dessen Installation unterbleibt. @@ -141,5 +141,5 @@ abwählen, sodass dessen Installation unterbleibt. - `routing </tags/routing>`__ - `security </tags/security>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/iptables.rst b/wiki/packages/iptables.rst index 04205d9..41fe39b 100644 --- a/wiki/packages/iptables.rst +++ b/wiki/packages/iptables.rst @@ -382,7 +382,7 @@ iptables <../help/howtos/security/split_wlan_lan.html>`__ Known Bug (FritzBox vor 7270) ----------------------------- -|/!\\| Nach Laden des Conntack-Moduls weist der Kernel immer wieder +|Warning| Nach Laden des Conntack-Moduls weist der Kernel immer wieder Pakete mit ``...ip_conntrack_tcp: INVALID: invalid TCP flag combinat`` o.ä. ab. Das ist ja gut so. Aber warum kommen die nicht an den iptables-Chains vorbei? Das scheint vorher zu passieren. @@ -403,11 +403,11 @@ danisahne schreibt dazu: 0.2.7 läd diese Module im Skript modload, falls sie mitinstalliert wurden. — danisahne -|/!\\| ds26: Die Module werden nicht automatisch geladen. Mit geladenem +|Warning| ds26: Die Module werden nicht automatisch geladen. Mit geladenem ip_conntrack stürzt meine Box nach ca. 3h ab. Ich hab den dsld im Verdacht. Aber hier müsste mal jemand weiterforschen… — olistudent -|/!\\| Ich habe festgestellt, dass es sich erheblich bessert, wenn man +|Warning| Ich habe festgestellt, dass es sich erheblich bessert, wenn man folgendes macht: .. code:: wiki @@ -437,5 +437,5 @@ mindestens 5x Reboot am Tag (W900V) (`Ticket 260 </ticket/260>`__) - `security </tags/security>`__ - `überarbeiten </tags/%C3%BCberarbeiten>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/jamvm.rst b/wiki/packages/jamvm.rst index 78bd05f..e642220 100644 --- a/wiki/packages/jamvm.rst +++ b/wiki/packages/jamvm.rst @@ -24,7 +24,7 @@ Library. Eine Reihe von Klassen sind Referenz-Klassen, die für eine spezielle VM angepasst werden müssen. Diese werden zusammen mit *JamVM* gebündelt. -|/!\\| **Anmerkung:** *JamVM* wird nicht mit der Class Library von Suns +|Warning| **Anmerkung:** *JamVM* wird nicht mit der Class Library von Suns oder IBMs JVMs funktionieren. Da die normale Klassenbiliothek (glibj.zip) über 9 MB groß ist wird @@ -52,5 +52,5 @@ Weiterführende Links - Tags - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/matrixtunnel.rst b/wiki/packages/matrixtunnel.rst index b77c3a6..e3ad948 100644 --- a/wiki/packages/matrixtunnel.rst +++ b/wiki/packages/matrixtunnel.rst @@ -19,7 +19,7 @@ für OpenSSL als auch für MatrixSSL passend sind. Übrigens: *matrixtunnel* kann man nicht nur für das Verschlüsseln von http, sondern auch für beliebige TCP Connections einsetzten. -|/!\\| Achtung: matrixtunnel wird nicht mehr gefplegt, der Autor hat +|Warning| Achtung: matrixtunnel wird nicht mehr gefplegt, der Autor hat aber einen Nachfolger `xrelayd <xrelayd.html>`__ vorgestellt, der jedoch etwas mehr Platz als die Kombination matrixtunnel/matrixssl benötigt. @@ -28,5 +28,5 @@ etwas mehr Platz als die Kombination matrixtunnel/matrixssl benötigt. - `packages <../packages.html>`__ - `tunnel </tags/tunnel>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/mod.rst b/wiki/packages/mod.rst index 844cecf..4759d58 100644 --- a/wiki/packages/mod.rst +++ b/wiki/packages/mod.rst @@ -11,7 +11,7 @@ packages/mod `FREETZ-MOUNT <../patches/freetzmount.html>`__, `external <../help/howtos/common/external.html>`__ und das Freetz-Webinterface konfiguriert werden. -| |/!\\| Abhängig von der Konfiguration sind nur bestimmte zu sehen. +| |Warning| Abhängig von der Konfiguration sind nur bestimmte zu sehen. swap ~~~~ @@ -83,7 +83,7 @@ Beispiel: */10 * * * * logger "Es sind wieder 10 Minuten vergangen" * 6,18 * * * logger "Es ist 6 Uhr" -|/!\\| Im Gegensatz zu "normalen" Linux Systemen fehlt die +|Warning| Im Gegensatz zu "normalen" Linux Systemen fehlt die "Besitzer"-Spalte und alle Befehle werden als root ausgeführt. dtrace @@ -102,7 +102,7 @@ dtrace /etc/init.d/rc.lighttpd start fi -|/!\\| Nur sichtbar wenn der replace-dtrace Patch ausgewählt wurde! +|Warning| Nur sichtbar wenn der replace-dtrace Patch ausgewählt wurde! hosts ~~~~~ @@ -135,14 +135,14 @@ modules pl2303 ftdi_sio -|/!\\| Die Namen der Module sind ohne Pfad und die Endung ``.ko`` +|Warning| Die Namen der Module sind ohne Pfad und die Endung ``.ko`` anzugeben. rc.custom ~~~~~~~~~ | Die Befehle in dieser Datei werden nach dem Bootvorgang ausgeführt. -| |/!\\| Es dürfen keine Befehle eingetragen sein, die im Vordergrund +| |Warning| Es dürfen keine Befehle eingetragen sein, die im Vordergrund bleiben oder sehr lange brauchen. Dies könnte Probleme beim Starten der FritzBox verursachen. Bei Befehlen in Verbindung mit einen USB-Stick, bitte die Erweiterung rc.external verwenden. @@ -168,7 +168,7 @@ rc.external esac | -| |/!\\| Bitte ``Advanced Options`` → ``External`` → +| |Warning| Bitte ``Advanced Options`` → ``External`` → ``Enable external processing`` für diese Erweiterung aktivieren. shutdown @@ -188,5 +188,5 @@ rules <../patches/custom_udev_rules.html>`__. - Tags - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/nagios.rst b/wiki/packages/nagios.rst index 27c8592..e01f8ca 100644 --- a/wiki/packages/nagios.rst +++ b/wiki/packages/nagios.rst @@ -21,7 +21,7 @@ unbedingt kompliziert. In *Freetz* baut *Nagios* auf das Paket `microperl <microperl.html>`__ auf. -|/!\\| Das Paket hat momentan keine Weboberfläche. Die +|Warning| Das Paket hat momentan keine Weboberfläche. Die Konfigurationsdateien sind nicht auf die Box angepasst und sowohl die html- als auch die cgi-Dateien werden nicht ins Image kopiert. Hier ist also einiges an Handarbeit nötig. @@ -48,5 +48,5 @@ Weiterführende Informationen - `packages <../packages.html>`__ - `tools </tags/tools>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/nano-shell.rst b/wiki/packages/nano-shell.rst index 6d53f96..1519788 100644 --- a/wiki/packages/nano-shell.rst +++ b/wiki/packages/nano-shell.rst @@ -22,17 +22,17 @@ ihre Befehls- bzw. Fehlerausgaben anzuzeigen, falls vorhanden. Sicherheitshinweis ------------------ -|/!\\| **ACHTUNG!** Die Nano-Shell sollte nur für Debugging-Zwecke +|Warning| **ACHTUNG!** Die Nano-Shell sollte nur für Debugging-Zwecke (Entwicklung, Fehlersuche) verwendet werden, z.B. wenn *telnetd, sshd (Dropbear)* oder *Rudi-Shell* aus irgendeinem Grund nicht verfügbar bzw. nicht zugreifbar sind. Sie ist eine Art Reservefallschirm oder letzter Ausweg, um Kommandos auf der Router-Box auszuführen, wenn alles andere scheitert, aber zumindest eine der beiden Weboberflächen (AVM oder -Freetz) noch zugreifbar sind. |/!\\| +Freetz) noch zugreifbar sind. |Warning| Da die Nano-Shell in der AVM-Oberfläche die Paßwortabfrage umgeht, -handelt es sich hierbei um ein |/!\\| **potentielles Sicherheitsrisiko** -|/!\\|, sofern Ihre Router-Box aus dem LAN/WAN für Fremde zugreifbar +handelt es sich hierbei um ein |Warning| **potentielles Sicherheitsrisiko** +|Warning|, sofern Ihre Router-Box aus dem LAN/WAN für Fremde zugreifbar ist. Das Freetz-Paßwort wird allerdings abgefragt, da es bereits auf Webserver-Ebene greift und nicht wie bei AVM in der Web-Applikationslogik implementiert ist. @@ -117,5 +117,5 @@ Viel Spaß beim Ausprobieren! - `packages <../packages.html>`__ - `tools </tags/tools>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/ppp.rst b/wiki/packages/ppp.rst index fc54629..b241f86 100644 --- a/wiki/packages/ppp.rst +++ b/wiki/packages/ppp.rst @@ -126,7 +126,7 @@ Um Masquerading zu aktivieren sind folgende Befehle nötig: Hierzu werden die iptables-Module *state* und *MASQUERADE* benötigt. -|/!\\| Diese lassen (ließen?) Boxen mit altem Kernel 2.6.13.1 wie zB die +|Warning| Diese lassen (ließen?) Boxen mit altem Kernel 2.6.13.1 wie zB die 7170 nach einer gewissen Zeit rebooten, siehe Ticket `#260 </ticket/260>`__. @@ -142,7 +142,7 @@ Module wieder zu entladen. Fallback ======== -|/!\\| Dieses Feature ist noch exprimentell. Fehlfunktionen und hohe +|Warning| Dieses Feature ist noch exprimentell. Fehlfunktionen und hohe Kosten können nicht ausgeschlossen werden! Bei Aktivierung von Fallback wird die DSL/ATA-Internetverbindung alle X @@ -171,7 +171,7 @@ aber nötig sein es mit eigenen Parameter zu laden, zB durch Was ist noch zu beachten? (2do-Liste) ===================================== -|/!\\| Es können momentan nur SIMs mit deaktivierter PIN-Abfrage genutzt +|Warning| Es können momentan nur SIMs mit deaktivierter PIN-Abfrage genutzt werden. (dies ist allerdings mit dem Package *gcom* möglich) | @@ -193,5 +193,5 @@ wieder einzuschalten. - `network </tags/network>`__ - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/pptp.rst b/wiki/packages/pptp.rst index 367e7c5..503f8f0 100644 --- a/wiki/packages/pptp.rst +++ b/wiki/packages/pptp.rst @@ -11,7 +11,7 @@ Viele Firmen setzen den PPTP-Server von Microsoft ein. Mit dem Client kann man ein Verbindung zu diesem VPN über das **Point-to-Point Tunneling Protocol** (**PPTP**) aufbauen -|/!\\| Das PPTP-Package benötigt "replace kernel". +|Warning| Das PPTP-Package benötigt "replace kernel". .. _PPTPKonfiguration: @@ -54,5 +54,5 @@ Screenshot? - `server </tags/server>`__ - `tunnel </tags/tunnel>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/pptpd/install.rst b/wiki/packages/pptpd/install.rst index 198a866..ee7bfdd 100644 --- a/wiki/packages/pptpd/install.rst +++ b/wiki/packages/pptpd/install.rst @@ -15,7 +15,7 @@ integriert, sodass es hier nur noch bei ``make menuconfig`` entsprechend ausgewählt werden muss. Nach speichern der Konfiguration sowie erfolgreichem ``make`` ist pptp dann im erstellten Image enthalten. -|/!\\| Wichtig ist hier: Aufgrund der Crypt-Module wird ein "replaced +|Warning| Wichtig ist hier: Aufgrund der Crypt-Module wird ein "replaced kernel" benötigt (kann entsprechend in ``make menuconfig`` ausgewählt werden). Nur dann ist pptpd sichtbar und selektierbar! @@ -176,5 +176,5 @@ Zuguterletzt erstellen wird das endgültige Image mit: make -.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/prosody.rst b/wiki/packages/prosody.rst index 927d023..cbe9ce3 100644 --- a/wiki/packages/prosody.rst +++ b/wiki/packages/prosody.rst @@ -223,7 +223,7 @@ Wenn man die Daten extern speichert, sollte man in das Verzeichnis Änderungen speichern ~~~~~~~~~~~~~~~~~~~~ -|/!\\| Damit diese Änderung beim Neustart erhalten bleibt müssen diese +|Warning| Damit diese Änderung beim Neustart erhalten bleibt müssen diese gespeichert werden: .. code:: wiki @@ -255,5 +255,5 @@ Links (Jabber) - `​OpenWrt thread <http://open-wrt.ru/forum/viewtopic.php?id=21643>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/quagga.rst b/wiki/packages/quagga.rst index d2d8a04..64ecb9f 100644 --- a/wiki/packages/quagga.rst +++ b/wiki/packages/quagga.rst @@ -18,8 +18,8 @@ Dieses Paket enthält derzeit noch keine Konfigurationshilfe; die Konfigurationsdateien lassen sich jedoch über das Web-Interface bearbeiten. -|/!\\| **Wer nicht weiß, wie die Routing-Daemons zu konfigurieren sind, -sollte dieses Paket NICHT installieren''' /!\\** +|Warning| **Wer nicht weiß, wie die Routing-Daemons zu konfigurieren sind, +sollte dieses Paket NICHT installieren''' Warning** Ein sicheres Konfigurations-Interface ist allerdings in Arbeit… @@ -45,5 +45,5 @@ Weiterführende Links - `packages <../packages.html>`__ - `routing </tags/routing>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/rrdstats.rst b/wiki/packages/rrdstats.rst index 74bd645..1c0825f 100644 --- a/wiki/packages/rrdstats.rst +++ b/wiki/packages/rrdstats.rst @@ -100,7 +100,7 @@ lazy") verringert die CPU-Last. Vefügbare Netzwerkintrafaces auf der Box kann man so ermitteln: ``ifconfig |grep -v "^ "`` -|/!\\| Das Unterdrücken der 85°C Fehlerwerte wirkt sich nur auf die .rrd +|Warning| Das Unterdrücken der 85°C Fehlerwerte wirkt sich nur auf die .rrd Dateien aus, nicht auf die .cvs. *Die anderen Einstellungen dürften selbsterklärend sein. Falls nicht, @@ -286,6 +286,6 @@ Entstanden aus diesem Thread im IPPF: - `monitoring </tags/monitoring>`__ - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png .. |:)| image:: ../../chrome/wikiextras-icons-16/smiley.png diff --git a/wiki/packages/ruby.rst b/wiki/packages/ruby.rst index 032a2e7..f606a43 100644 --- a/wiki/packages/ruby.rst +++ b/wiki/packages/ruby.rst @@ -34,7 +34,7 @@ Wer also eine Box mit "mehr Speicher" (ab 8MB aufwärts) benutzt, kann *Ruby* also durchaus auch in der Firmware selbst unterbringen. Naja, u.U. muss dafür so einiges anderes weggelassen werden |:-)| -|/!\\| **Achtung:** Auf dem "Build-Host" muss die gleiche *Ruby* Version +|Warning| **Achtung:** Auf dem "Build-Host" muss die gleiche *Ruby* Version installiert sein, die man für die Box bauen möchte! .. _WeiterführendeLinks: @@ -55,5 +55,5 @@ Weiterführende Links - `programming </tags/programming>`__ .. |:-)| image:: ../../chrome/wikiextras-icons-16/smiley.png -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/rudi-shell/functions.rst b/wiki/packages/rudi-shell/functions.rst index cec57aa..892c521 100644 --- a/wiki/packages/rudi-shell/functions.rst +++ b/wiki/packages/rudi-shell/functions.rst @@ -43,7 +43,7 @@ besteht aus folgenden Elementen: an den Namensvorschlag angehängt. Das dient nur zur Bequemlichkeit, man kann es auch selbst beim Speichern machen. Für Benutzer mit `Download <../../Download.html>`__-Manager und ausgeschaltetem - Speichern-Dialog ist es so ein bißchen einfacher. |/!\\| Achtung: Die + Speichern-Dialog ist es so ein bißchen einfacher. |Warning| Achtung: Die Schalter ändern *nicht* das Dateiformat, nur die Dateiendung. - **Datei-Uploads** werden über die beiden Textfelder "Quelldatei" und "Zieldatei" abgewickelt. Die Quelldatei kann mit "Durchsuchen" direkt @@ -51,17 +51,17 @@ besteht aus folgenden Elementen: änderbaren Vorschlagsnamen ``/var/tmp/rudi_upload``. Es sollte natürlich ein existierendes, beschreibbares Verzeichnis gewählt werden. Ein nicht existierendes kann ja vorher über die - Befehlseingabe erzeugt werden. |/!\\| **Achtung:** Bitte nicht + Befehlseingabe erzeugt werden. |Warning| **Achtung:** Bitte nicht versuchen, Dateien nach ``/var/flash`` hochzuladen. Immer erst temporär woanders speichern und mittels ``cat`` ins *tffs* schreiben! - |/!\\| + |Warning| -|/!\\| **Achtung, besonders wichtig: Die Rudi-Shell, insbesondere die +|Warning| **Achtung, besonders wichtig: Die Rudi-Shell, insbesondere die Historie, funktioniert ohne Navigation auf der Hauptseite. D.h., Sie brauchen weder die Schaltflächen "Vor/Zurück" noch "Neu laden" des Browsers. Im Gegenteil, wenn Sie sie benutzen, werden erstens die Historie gelöscht und zweitens alle Schalter und Textfelder auf ihre -Standardwerte zurückgesetzt.** |/!\\| *Für die Techniker unter uns: +Standardwerte zurückgesetzt.** |Warning| *Für die Techniker unter uns: Alles, was an Rudi-Shell dynamisch ist, passiert in einem unsichtbaren IFrame bzw. auf der Hauptseite durch javascript-basierte Änderungen am DOM der Seite.* @@ -69,5 +69,5 @@ DOM der Seite.* - Tags - `rudi-shell </tags/rudi-shell>`__ -.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/rudi-shell/tips.rst b/wiki/packages/rudi-shell/tips.rst index 8b21027..10b5fe6 100644 --- a/wiki/packages/rudi-shell/tips.rst +++ b/wiki/packages/rudi-shell/tips.rst @@ -10,7 +10,7 @@ Tips & Tricks Sicherer Zugriff via HTTPS -------------------------- -|/!\\| Achtung: Diese Anleitung wurde geschrieben bevor AVM eine eigene +|Warning| Achtung: Diese Anleitung wurde geschrieben bevor AVM eine eigene Fernzugrifffunktion integriert hat, weshalb die hier auch nicht erwähnt wird. @@ -206,7 +206,7 @@ Wenn wir jetzt noch Services für Port 80 (AVM-Oberfläche) und/oder Port 82 (WoL?-Oberfläche) haben wollen, fügen wir einfach entsprechende Abschnitte in die Konfiguration ein nach obigem Muster. -|/!\\| **Achtung:** Um den oder die HTTPS-Ports nach außen verfügbar zu +|Warning| **Achtung:** Um den oder die HTTPS-Ports nach außen verfügbar zu machen, müssen entweder die üblichen Einstellungen in ``/var/flash/ar7.cfg`` vorgenommen werden, also z.B. folgender Abschnitt unter *forwardrules* @@ -224,7 +224,7 @@ schlage vor, der Freetz-Oberfläche diesen Port zu geben, denn dadurch gelangen wir an die Rudi-Shell und können somit alles mit der Box anstellen, was wir wollen. -|/!\\| **Wichtig:** Es muß wohl nicht weiter erklärt werden, weshalb bei +|Warning| **Wichtig:** Es muß wohl nicht weiter erklärt werden, weshalb bei diesem Szenario einem sicheren Passwort für die Web-Oberfläche besondere Bedeutung zukommt… @@ -327,5 +327,5 @@ grundsätzlich auch innerhalb einer Telnet- oder SSH-Sitzung. - `https </tags/https>`__ - `remote </tags/remote>`__ -.. |/!\\| image:: ../../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/samba.rst b/wiki/packages/samba.rst index 93d9da0..041f3cd 100644 --- a/wiki/packages/samba.rst +++ b/wiki/packages/samba.rst @@ -97,7 +97,7 @@ Unter ``Patches`` befindet sich - *Patch USB storage names* … mit zusätzlichen Unterpunkten. Diese beeinflussen ebenfalls Details der Dateifreigabe. -- *Remove smbd* |/!\\| Diese Option sollte deselektiert sein und wird +- *Remove smbd* |Warning| Diese Option sollte deselektiert sein und wird bei der Auswahl des Samba-Packages aus menuconfig entfernt. .. _KonfigurierendesPakets: @@ -158,7 +158,7 @@ Pakete → Samba Dateifreigabe bereit stellt. Es kann leer gelassen werden. Dann gilt die Dateifreigabe für alle Netzwerksegment, in der sich die Box befindet. - |/!\\| **Achtung:** Wenn die Box direkt mit dem Internet verbunden + |Warning| **Achtung:** Wenn die Box direkt mit dem Internet verbunden ist, sollte man sicher sein der der interne Firewall in Ordnung ist. Sonst könnte das eine Angriffsmöglichkeit aus dem gesamten Internet eröffnen. @@ -252,5 +252,5 @@ Weitere Tuningmöglichkeiten gibt es hier: - `überarbeiten </tags/%C3%BCberarbeiten>`__ .. |(./)| image:: ../../chrome/wikiextras-icons-16/tick.png -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/smstools3.rst b/wiki/packages/smstools3.rst index 3adaf26..df9a67c 100644 --- a/wiki/packages/smstools3.rst +++ b/wiki/packages/smstools3.rst @@ -12,7 +12,7 @@ SMStools3 Package um SMS mit einem UMTS-Stick zu versenden und zu empfangen. -|/!\\| Falls die FritzBox UMTS-Unterstützung hat, am besten den umtsd +|Warning| Falls die FritzBox UMTS-Unterstützung hat, am besten den umtsd herauspatchen. | SMStools3 kann komplett per Webif bedient werden oder alternativ per @@ -55,5 +55,5 @@ Weiteres - Falls der Stick nicht richtig erkannt wird, sondern nur als Datenträger: `wiki:/packages/ppp#Weiteres <ppp.html#Weiteres>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/sundtek.rst b/wiki/packages/sundtek.rst index 4f6e185..5b597fa 100644 --- a/wiki/packages/sundtek.rst +++ b/wiki/packages/sundtek.rst @@ -13,9 +13,9 @@ Sundtek DVB Treiber Dieses Package stellt den Treiber für USB-Sticks von Sundtek bereit, mit denen DVB (c/s/t) empfangen werden kann. -| |/!\\| Die Fritzbox sollte mindestens USB 2.0 haben, 11 MBit/s reichen +| |Warning| Die Fritzbox sollte mindestens USB 2.0 haben, 11 MBit/s reichen nicht aus. -| |/!\\| Mit Kernel 2.6.19.2 (Fritzbox 7270v1 und 7570) gibt es momentan +| |Warning| Mit Kernel 2.6.19.2 (Fritzbox 7270v1 und 7570) gibt es momentan ein Memoryleak, siehe `#472 </ticket/472>`__. .. _Parameterfürmediaclient: @@ -65,5 +65,5 @@ Kabelinternet mit `RRDstats <rrdstats.html#segment>`__. Es soll damit auch Streaming zu einem Windows PC mit einer aktuellen Betaversion des DVB-Viewer via SAT>IP möglich sein. -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/transmission.rst b/wiki/packages/transmission.rst index b078259..ea771f1 100644 --- a/wiki/packages/transmission.rst +++ b/wiki/packages/transmission.rst @@ -12,7 +12,7 @@ Transmission Transmission weniger Systemressourcen als andere Clients." (Quelle: `​Wikipedia <http://de.wikipedia.org/wiki/Transmission_(BitTorrent)>`__) -|/!\\| Das Transmission Paket ist derzeit nur im Trunk über das Freetz +|Warning| Das Transmission Paket ist derzeit nur im Trunk über das Freetz Webinterface konfigurierbar. In allen anderen Freetz Versionen muss das Paket von Hand gestartet werden. @@ -31,5 +31,5 @@ Weiterführende Links - `network </tags/network>`__ - `packages <../packages.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/packages/virtualip.rst b/wiki/packages/virtualip.rst index 5471c0a..8db77a3 100644 --- a/wiki/packages/virtualip.rst +++ b/wiki/packages/virtualip.rst @@ -17,7 +17,7 @@ Portfreigaben auf die Box im AVM Webinterface anlegen zu können. .. _VORSICHT: -|/!\\| VORSICHT |/!\\| +|Warning| VORSICHT |Warning| ---------------------- Dieses Package wird nicht mehr supported und es sollte stattdessen @@ -115,5 +115,5 @@ virtuellen IP - vergebens. Deaktiviert man virtual-ip und ruft - `routing </tags/routing>`__ - `überarbeiten </tags/%C3%BCberarbeiten>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/patches/exec_autorun.rst b/wiki/patches/exec_autorun.rst index 659b194..e72675e 100644 --- a/wiki/patches/exec_autorun.rst +++ b/wiki/patches/exec_autorun.rst @@ -13,7 +13,7 @@ eine im Wurzelverzeichnis des Sticks (also /var/media/ftp/uStorXY/) befindliche ``autorun.sh`` anschließend auch ohne Rückfrage ausgeführt (sowie ``autoend.sh`` beim Auswerfen des Sticks über das AVM WebIF). - |/!\\| Falls ein Dateisystem mit Berechtigungen genutzt wird, müssen + |Warning| Falls ein Dateisystem mit Berechtigungen genutzt wird, müssen die Dateien ausführbar gemacht werden. Diese Vor- und Nachteile sollten vor der Entscheidung abgewogen werden: @@ -33,7 +33,7 @@ Vorteile Nachteile --------- -- |/!\\| ein "böser Bube" könnte auf diese Weise in die Box eindringen, +- |Warning| ein "böser Bube" könnte auf diese Weise in die Box eindringen, ohne das Passwort zu kennen - sofern er "physischen Zugang" hat (also ein USB-Gerät an die Box anschließen, bzw. ein für diesen Zweck ständig verwendetes Medium modifizieren kann) @@ -49,5 +49,5 @@ Hier können die Einstellungen dazu im Webinterface vorgenommen werden. - Tags - `patches <../patches.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/patches/remove_ftpd.rst b/wiki/patches/remove_ftpd.rst index 65c417e..74e0e82 100644 --- a/wiki/patches/remove_ftpd.rst +++ b/wiki/patches/remove_ftpd.rst @@ -13,11 +13,11 @@ Laufwerke per FTP mehr möglich! Dieser kann jedoch auch per `vsftpd <../packages/vsftpd.html>`__ konfiguriert werden - vorausgesetzt natürlich, diese Pakete wurden auch installiert. -|/!\\| Der Patch ist nur auswählbar, wenn vorher die Option *Show +|Warning| Der Patch ist nur auswählbar, wenn vorher die Option *Show Advanced Options* ausgewählt wurde. - Tags - `patches <../patches.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/patches/remove_samba.rst b/wiki/patches/remove_samba.rst index 0618604..2a253f7 100644 --- a/wiki/patches/remove_samba.rst +++ b/wiki/patches/remove_samba.rst @@ -8,12 +8,12 @@ Remove Samba daemon (smbd) Dieser Patch entfernt lediglich den Samba Daemon - die regulären Optionen in AVMs WebIF bleiben unangetastet. -|/!\\| **ACHTUNG:** Das Freetz Samba Paket ist kein vollständiger Ersatz +|Warning| **ACHTUNG:** Das Freetz Samba Paket ist kein vollständiger Ersatz für dieses, sondern baut darauf auf - wer das Freetz Samba Paket nutzen möchte, sollte den Samba Daemon hier **nicht** entfernen! - Tags - `patches <../patches.html>`__ -.. |/!\\| image:: ../../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../../chrome/wikiextras-icons-16/exclamation.png diff --git a/wiki/ticket.rst b/wiki/ticket.rst index fccc8f7..a8540be 100644 --- a/wiki/ticket.rst +++ b/wiki/ticket.rst @@ -5,7 +5,7 @@ ticket Was sollte ich bei der Erstellung eines neuen Tickets beachten? --------------------------------------------------------------- -|/!\\| **Grundsätzlich**: Das Bug-Tracking-System (BTS) ist primär für +|Warning| **Grundsätzlich**: Das Bug-Tracking-System (BTS) ist primär für **Bug-Reports** und **Erweiterungen** vorgesehen. **Support** gibt es im `​IP-Phone-Forum (IPPF) <http://www.ip-phone-forum.de/forumdisplay.php?f=525>`__ oder @@ -100,6 +100,6 @@ Was sollte ich bei der Erstellung eines neuen Tickets beachten? `Neues Ticket erstellen </newticket>`__ -.. |/!\\| image:: ../chrome/wikiextras-icons-16/exclamation.png +.. |Warning| image:: ../chrome/wikiextras-icons-16/exclamation.png .. |:-)| image:: ../chrome/wikiextras-icons-16/smiley.png From 2de7f3f384062f114947bc45c70d828709feffef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 16:16:11 +0100 Subject: [PATCH 06/13] Fix headings --- extract-content.py | 10 +--------- index.rst | 2 -- wiki/Download.rst | 2 -- wiki/FAQ.en.rst | 2 -- wiki/FAQ.rst | 2 -- wiki/FreetzConf2011.rst | 2 -- wiki/Impressum.rst | 2 -- wiki/Press.en.rst | 2 -- wiki/Press.rst | 2 -- wiki/common/source_code.en.rst | 2 -- wiki/common/source_code.rst | 2 -- wiki/costumscript_dublesyslog.rst | 2 -- wiki/freetz.en.rst | 2 -- wiki/freetz.rst | 2 -- wiki/help.rst | 2 -- wiki/help/fritz_faq.rst | 2 -- wiki/help/howtos.rst | 2 -- wiki/help/howtos/common.rst | 2 -- wiki/help/howtos/common/busybox_httpd.rst | 2 -- wiki/help/howtos/common/create_swap.rst | 2 -- wiki/help/howtos/common/external.rst | 2 -- wiki/help/howtos/common/first_trunk.rst | 2 -- wiki/help/howtos/common/freetz_linux.rst | 2 -- wiki/help/howtos/common/install.en.rst | 2 -- wiki/help/howtos/common/install.rst | 2 -- wiki/help/howtos/common/install/menuconfig.rst | 2 -- wiki/help/howtos/common/newbie.en.rst | 2 -- wiki/help/howtos/common/newbie.rst | 2 -- wiki/help/howtos/common/newbie/errors.rst | 2 -- wiki/help/howtos/common/newbie/other.rst | 2 -- wiki/help/howtos/common/shutdown.rst | 2 -- wiki/help/howtos/common/user.rst | 2 -- wiki/help/howtos/common/wol.rst | 2 -- wiki/help/howtos/development.rst | 2 -- wiki/help/howtos/development/adam2.rst | 2 -- wiki/help/howtos/development/analyse_image_names.rst | 2 -- wiki/help/howtos/development/bandwidth_svg.rst | 2 -- wiki/help/howtos/development/compile_own_progs.rst | 2 -- .../development/create_cross-compiler_toolchain.rst | 2 -- wiki/help/howtos/development/create_gui.rst | 2 -- wiki/help/howtos/development/developer_information.rst | 2 -- .../developer_information/package_development.rst | 2 -- .../package_development_advanced.rst | 2 -- .../package_development_dynamic.rst | 2 -- .../package_development_start.rst | 2 -- .../package_development_start/.language.rst | 2 -- .../package_development_start/example_1.rst | 2 -- .../package_development_start/example_2.rst | 2 -- .../package_development_start/example_3.rst | 2 -- .../example_config_handling.rst | 2 -- .../webinterface_example_1.en.rst | 2 -- .../webinterface_example_1.rst | 2 -- .../developer_information/post_commit_hook.rst | 2 -- .../developer_information/shell_coding_conventions.rst | 2 -- .../developer_information/webif/libmodcgi.rst | 2 -- .../howtos/development/firmware_update_details.rst | 2 -- wiki/help/howtos/development/flash.rst | 2 -- wiki/help/howtos/development/freetz_make.rst | 2 -- wiki/help/howtos/development/install_addon.rst | 2 -- wiki/help/howtos/development/integrate_own_files.rst | 2 -- wiki/help/howtos/development/integrate_patches.rst | 2 -- wiki/help/howtos/development/make_busybox.rst | 2 -- wiki/help/howtos/development/make_kernel.rst | 2 -- wiki/help/howtos/development/make_room.rst | 2 -- .../help/howtos/development/manipulation_detection.rst | 2 -- wiki/help/howtos/development/menuconfig.rst | 2 -- wiki/help/howtos/development/package_creation.rst | 2 -- wiki/help/howtos/development/release_management.rst | 2 -- wiki/help/howtos/development/repack_fw.rst | 2 -- wiki/help/howtos/development/save_mtd_1.rst | 2 -- wiki/help/howtos/development/save_mtd_2.rst | 2 -- wiki/help/howtos/development/sign_image.rst | 2 -- wiki/help/howtos/development/urlader_flags.rst | 2 -- wiki/help/howtos/security.rst | 2 -- wiki/help/howtos/security/router_and_firewall.rst | 2 -- wiki/help/howtos/security/split_wlan_lan.rst | 2 -- wiki/help/howtos/security/switch_config.rst | 2 -- wiki/help/howtos/security/user_management.rst | 2 -- wiki/help/howtos/troubleshoot.rst | 2 -- wiki/help/howtos/troubleshoot/reboots.rst | 2 -- wiki/help/howtos/troubleshoot/recover_firmware.rst | 2 -- wiki/help/howtos/troubleshoot/repair_phonebook.rst | 2 -- wiki/help/irc.en.rst | 2 -- wiki/help/irc.rst | 2 -- wiki/help/trouble_shooting.rst | 2 -- wiki/help/wikiedit.rst | 2 -- wiki/help/wikiedit/formatting_guide.rst | 2 -- wiki/help/wikiedit/goodies.rst | 2 -- wiki/help/wikiedit/screenshots.rst | 2 -- wiki/help/wikiedit/tables.rst | 2 -- wiki/help/wikiedit/tagging.rst | 2 -- wiki/help/wikiedit/toc.rst | 2 -- wiki/index.en.rst | 2 -- wiki/index.rst | 2 -- wiki/kernel.rst | 2 -- wiki/libs.rst | 2 -- wiki/libs/ftdi.en.rst | 2 -- wiki/libs/ftdi.rst | 2 -- wiki/packages.rst | 2 -- wiki/packages/DemoPackageA.rst | 2 -- wiki/packages/aiccu.en.rst | 2 -- wiki/packages/aiccu.rst | 2 -- wiki/packages/apache.rst | 2 -- wiki/packages/asterisk.rst | 2 -- wiki/packages/authorized-keys.en.rst | 2 -- wiki/packages/authorized-keys.rst | 2 -- wiki/packages/autofs.rst | 2 -- wiki/packages/avm-firewall.rst | 2 -- wiki/packages/bash.rst | 2 -- wiki/packages/bftpd.rst | 2 -- wiki/packages/bind.rst | 2 -- wiki/packages/bip.rst | 2 -- wiki/packages/bird.rst | 2 -- wiki/packages/bluez-utils.rst | 2 -- wiki/packages/bluez.rst | 2 -- wiki/packages/br2684ctl.en.rst | 2 -- wiki/packages/br2684ctl.rst | 2 -- wiki/packages/bridge-utils.rst | 2 -- wiki/packages/callmonitor.rst | 2 -- wiki/packages/callmonitor/actions.rst | 2 -- wiki/packages/callmonitor/actions/call.rst | 2 -- wiki/packages/callmonitor/actions/config.rst | 2 -- wiki/packages/callmonitor/actions/dbox.rst | 2 -- wiki/packages/callmonitor/actions/dial.rst | 2 -- wiki/packages/callmonitor/actions/dreambox.rst | 2 -- wiki/packages/callmonitor/actions/getmsg.rst | 2 -- wiki/packages/callmonitor/actions/mail.rst | 2 -- wiki/packages/callmonitor/actions/musicpal.rst | 2 -- wiki/packages/callmonitor/actions/password.rst | 2 -- wiki/packages/callmonitor/actions/rawmsg.rst | 2 -- wiki/packages/callmonitor/actions/relook.rst | 2 -- wiki/packages/callmonitor/actions/samsung.rst | 2 -- wiki/packages/callmonitor/actions/self-defined.rst | 2 -- wiki/packages/callmonitor/actions/snarl.rst | 2 -- wiki/packages/callmonitor/actions/soundbridge.rst | 2 -- wiki/packages/callmonitor/actions/vdr.rst | 2 -- wiki/packages/callmonitor/actions/wol.rst | 2 -- wiki/packages/callmonitor/actions/xbox.rst | 2 -- wiki/packages/callmonitor/actions/yac.rst | 2 -- wiki/packages/callmonitor/adapt_messages.rst | 2 -- wiki/packages/callmonitor/config.rst | 2 -- wiki/packages/callmonitor/events.rst | 2 -- wiki/packages/callmonitor/faq.rst | 2 -- wiki/packages/callmonitor/listeners.rst | 2 -- wiki/packages/callmonitor/maintenance.rst | 2 -- wiki/packages/callmonitor/phonebook.rst | 2 -- wiki/packages/callmonitor/reverse_search.rst | 2 -- wiki/packages/callmonitor/testcall.rst | 2 -- wiki/packages/checkmaild.rst | 2 -- wiki/packages/cifsmount.rst | 2 -- wiki/packages/cpmaccfg.rst | 2 -- wiki/packages/ctorrent.rst | 2 -- wiki/packages/curl.rst | 2 -- wiki/packages/davfs2.rst | 2 -- wiki/packages/debootstrap.rst | 2 -- wiki/packages/deco.rst | 2 -- wiki/packages/digitemp.rst | 2 -- wiki/packages/dns2tcp.rst | 2 -- wiki/packages/dnsd.en.rst | 2 -- wiki/packages/dnsd.rst | 2 -- wiki/packages/dnsmasq.rst | 2 -- wiki/packages/downloader.rst | 2 -- wiki/packages/dropbear.en.rst | 2 -- wiki/packages/dropbear.rst | 2 -- wiki/packages/dtach.rst | 2 -- wiki/packages/dtmfbox.rst | 2 -- wiki/packages/e2fsprogs.rst | 2 -- wiki/packages/emailrelay.rst | 2 -- wiki/packages/empty.rst | 2 -- wiki/packages/espeak.rst | 2 -- wiki/packages/fhem.rst | 2 -- wiki/packages/fhzctrl.rst | 2 -- wiki/packages/fortune.rst | 2 -- wiki/packages/fritzload.rst | 2 -- wiki/packages/fstyp.rst | 2 -- wiki/packages/fuse.rst | 2 -- wiki/packages/gw6.rst | 2 -- wiki/packages/haserl.rst | 2 -- wiki/packages/hd-idle.rst | 2 -- wiki/packages/hiawatha.rst | 2 -- wiki/packages/hol.rst | 2 -- wiki/packages/hp-utils.rst | 2 -- wiki/packages/hplip.rst | 2 -- wiki/packages/htpdate.rst | 2 -- wiki/packages/httptunnel.rst | 2 -- wiki/packages/igmpproxy.rst | 2 -- wiki/packages/imapproxy.en.rst | 2 -- wiki/packages/inadyn-mt.en.rst | 2 -- wiki/packages/inadyn-mt.rst | 2 -- wiki/packages/inetd.rst | 2 -- wiki/packages/inotify-tools.rst | 2 -- wiki/packages/iodine.rst | 2 -- wiki/packages/iptables-cgi.rst | 2 -- wiki/packages/iptables.en.rst | 2 -- wiki/packages/iptables.rst | 2 -- wiki/packages/irssi.rst | 2 -- wiki/packages/jamvm.rst | 2 -- wiki/packages/knock.rst | 2 -- wiki/packages/ldd.rst | 2 -- wiki/packages/lighttpd.rst | 2 -- wiki/packages/lsof.rst | 2 -- wiki/packages/ltrace.rst | 2 -- wiki/packages/lua.rst | 2 -- wiki/packages/lynx.rst | 2 -- wiki/packages/m-i-t.rst | 2 -- wiki/packages/madplay.rst | 2 -- wiki/packages/matrixtunnel.rst | 2 -- wiki/packages/mc.rst | 2 -- wiki/packages/mcabber.rst | 2 -- wiki/packages/mediaserver.rst | 2 -- wiki/packages/mediatomb.rst | 2 -- wiki/packages/microperl.rst | 2 -- wiki/packages/mini_fo.rst | 2 -- wiki/packages/minidlna.rst | 2 -- wiki/packages/mod.rst | 2 -- wiki/packages/mtr.rst | 2 -- wiki/packages/nagios.rst | 2 -- wiki/packages/nano-shell.rst | 2 -- wiki/packages/nano.rst | 2 -- wiki/packages/ncftp.rst | 2 -- wiki/packages/ndas.en.rst | 2 -- wiki/packages/ndas.rst | 2 -- wiki/packages/netatalk.rst | 2 -- wiki/packages/netcat.rst | 2 -- wiki/packages/netsnmp.en.rst | 2 -- wiki/packages/netsnmp.rst | 2 -- wiki/packages/netsnmp/mrtg.en.rst | 2 -- wiki/packages/nfs-utils.rst | 2 -- wiki/packages/nfs.rst | 2 -- wiki/packages/nfsd.en.rst | 2 -- wiki/packages/nfsd.rst | 2 -- wiki/packages/nhipt.en.rst | 2 -- wiki/packages/nhipt.rst | 2 -- wiki/packages/nmap.rst | 2 -- wiki/packages/ntfs-3g.rst | 2 -- wiki/packages/obexftp.rst | 2 -- wiki/packages/onlinechanged.rst | 2 -- wiki/packages/onlinechanged_cgi.rst | 2 -- wiki/packages/opendd.rst | 2 -- wiki/packages/openntpd.rst | 2 -- wiki/packages/openvpn.rst | 2 -- wiki/packages/owfs.rst | 2 -- wiki/packages/pciutils.rst | 2 -- wiki/packages/php.rst | 2 -- wiki/packages/phpxmail.en.rst | 2 -- wiki/packages/phpxmail.rst | 2 -- wiki/packages/pingtunnel.rst | 2 -- wiki/packages/polipo.en.rst | 2 -- wiki/packages/portmap.rst | 2 -- wiki/packages/ppp.rst | 2 -- wiki/packages/pptp.rst | 2 -- wiki/packages/pptpd.rst | 2 -- wiki/packages/pptpd/config.rst | 2 -- wiki/packages/pptpd/install.rst | 2 -- wiki/packages/pptpd/webif.rst | 2 -- wiki/packages/privoxy.rst | 2 -- wiki/packages/prosody.en.rst | 2 -- wiki/packages/prosody.rst | 2 -- wiki/packages/quagga.rst | 2 -- wiki/packages/radvd.en.rst | 2 -- wiki/packages/radvd.rst | 2 -- wiki/packages/rrdstats.rst | 2 -- wiki/packages/rrdtool.rst | 2 -- wiki/packages/ruby.rst | 2 -- wiki/packages/rudi-shell.rst | 2 -- wiki/packages/rudi-shell/functions.rst | 2 -- wiki/packages/rudi-shell/install.rst | 2 -- wiki/packages/rudi-shell/limits.rst | 2 -- wiki/packages/rudi-shell/tips.rst | 2 -- wiki/packages/rudi-shell/usage.rst | 2 -- wiki/packages/s3fslite.rst | 2 -- wiki/packages/samba.rst | 2 -- wiki/packages/sane-backends.rst | 2 -- wiki/packages/screen.rst | 2 -- wiki/packages/ser2net.rst | 2 -- wiki/packages/siproxd.rst | 2 -- wiki/packages/sispmctl.rst | 2 -- wiki/packages/smartmontools.rst | 2 -- wiki/packages/smstools3.rst | 2 -- wiki/packages/socat.rst | 2 -- wiki/packages/spindown.rst | 2 -- wiki/packages/strace.rst | 2 -- wiki/packages/streamripper.rst | 2 -- wiki/packages/stunnel.rst | 2 -- wiki/packages/subversion.rst | 2 -- wiki/packages/sundtek.rst | 2 -- wiki/packages/syslogd.en.rst | 2 -- wiki/packages/syslogd.rst | 2 -- wiki/packages/tcp_wrappers.rst | 2 -- wiki/packages/tcpdump.rst | 2 -- wiki/packages/tinc.rst | 2 -- wiki/packages/tinyproxy.rst | 2 -- wiki/packages/tor.rst | 2 -- wiki/packages/transmission.en.rst | 2 -- wiki/packages/transmission.rst | 2 -- wiki/packages/trickle.rst | 2 -- wiki/packages/unbound.rst | 2 -- wiki/packages/usbip.rst | 2 -- wiki/packages/usbroot.rst | 2 -- wiki/packages/usbutils.rst | 2 -- wiki/packages/vim.rst | 2 -- wiki/packages/virtualip.rst | 2 -- wiki/packages/vpnc.rst | 2 -- wiki/packages/vsftpd.rst | 2 -- wiki/packages/vtund.rst | 2 -- wiki/packages/wget.rst | 2 -- wiki/packages/wol.rst | 2 -- wiki/packages/wput.rst | 2 -- wiki/packages/xmail.rst | 2 -- wiki/packages/xrelayd.rst | 2 -- wiki/packages/xyssl.rst | 2 -- wiki/packages/ziproxy.rst | 2 -- wiki/packages_tagged.rst | 2 -- wiki/patch.rst | 2 -- wiki/patches.rst | 2 -- wiki/patches/alarmclock.rst | 2 -- wiki/patches/custom_udev_rules.rst | 2 -- wiki/patches/enum.en.rst | 2 -- wiki/patches/enum.rst | 2 -- wiki/patches/exec_autorun.rst | 2 -- wiki/patches/freetzmount.en.rst | 2 -- wiki/patches/freetzmount.rst | 2 -- wiki/patches/maxdevcount.rst | 2 -- wiki/patches/multpile_printers.rst | 2 -- wiki/patches/onlinechanged.rst | 2 -- wiki/patches/remove_assistant.rst | 2 -- wiki/patches/remove_aura_usb.rst | 2 -- wiki/patches/remove_capi.rst | 2 -- wiki/patches/remove_dsld.rst | 2 -- wiki/patches/remove_ftpd.rst | 2 -- wiki/patches/remove_help.rst | 2 -- wiki/patches/remove_mediasrv.rst | 2 -- wiki/patches/remove_minid.rst | 2 -- wiki/patches/remove_myfritz.rst | 2 -- wiki/patches/remove_samba.rst | 2 -- wiki/patches/remove_support.rst | 2 -- wiki/patches/remove_tr069.rst | 2 -- wiki/patches/remove_upnp.rst | 2 -- wiki/patches/remove_usermand.rst | 2 -- wiki/patches/remove_vpn.rst | 2 -- wiki/patches/replace_onlinechanged.rst | 2 -- wiki/patches/signed.rst | 2 -- wiki/patches/usb_names.rst | 2 -- wiki/style.rst | 2 -- wiki/style/favicons.rst | 2 -- wiki/style/mounted.rst | 2 -- wiki/style/skins.rst | 2 -- wiki/style/tagging.rst | 2 -- wiki/ticket.rst | 2 -- 349 files changed, 1 insertion(+), 705 deletions(-) mode change 100644 => 100755 extract-content.py diff --git a/extract-content.py b/extract-content.py old mode 100644 new mode 100755 index 1b2d990..39a06c0 --- a/extract-content.py +++ b/extract-content.py @@ -15,6 +15,7 @@ def line_prepender(filename, line): f.seek(0, 0) f.write(line.rstrip('\r\n') + '\n' + content) + # Create a list of all pages to convert for path, subdirs, files in os.walk("wiki"): for name in files: @@ -38,10 +39,6 @@ def line_prepender(filename, line): pageFile.close() content = pageSoup.find(id="content") - try: - title = pageSoup.title.string.strip().replace(" – Freetz", "") - except: - title = page.replace("html", "").strip() titleList.append(title) @@ -54,11 +51,6 @@ def line_prepender(filename, line): subprocess.call(["pandoc", "-f", "html-header_attributes-link_attributes-native_spans-native_divs", "-t", "rst", page + ".content", "-o", page.replace(".html", ".rst")]) subprocess.call(["sed", "-i", "/^:::/ d", page.replace(".html", ".rst")]) - if title != "": - line_prepender(page.replace(".html", ".rst"), len(title) * "=" + "\n") - line_prepender(page.replace(".html", ".rst"), title) - - os.remove(page + ".content") bar.next() diff --git a/index.rst b/index.rst index c10f4db..7753fac 100644 --- a/index.rst +++ b/index.rst @@ -1,5 +1,3 @@ -Freetz -====== .. _WillkommenbeiFreetz: Willkommen bei Freetz diff --git a/wiki/Download.rst b/wiki/Download.rst index 5850960..1142a80 100644 --- a/wiki/Download.rst +++ b/wiki/Download.rst @@ -1,5 +1,3 @@ -Download -======== .. _StabileVersionen: Stabile Versionen diff --git a/wiki/FAQ.en.rst b/wiki/FAQ.en.rst index 042ea76..2c86260 100644 --- a/wiki/FAQ.en.rst +++ b/wiki/FAQ.en.rst @@ -1,5 +1,3 @@ -FAQ.en -====== .. _Freetz-FAQ: Freetz-FAQ diff --git a/wiki/FAQ.rst b/wiki/FAQ.rst index 6dcf5a0..9f072a7 100644 --- a/wiki/FAQ.rst +++ b/wiki/FAQ.rst @@ -1,5 +1,3 @@ -FAQ -=== .. _Freetz-FAQ: Freetz-FAQ diff --git a/wiki/FreetzConf2011.rst b/wiki/FreetzConf2011.rst index f5c6556..0c10581 100644 --- a/wiki/FreetzConf2011.rst +++ b/wiki/FreetzConf2011.rst @@ -1,5 +1,3 @@ -FreetzConf2011 -============== .. _FreetzConf2011: FreetzConf 2011 diff --git a/wiki/Impressum.rst b/wiki/Impressum.rst index 49f6f2e..3772910 100644 --- a/wiki/Impressum.rst +++ b/wiki/Impressum.rst @@ -1,5 +1,3 @@ -Impressum -========= .. _Impressum: `Impressum <Impressum.html>`__ diff --git a/wiki/Press.en.rst b/wiki/Press.en.rst index 8ca1d26..a44c41a 100644 --- a/wiki/Press.en.rst +++ b/wiki/Press.en.rst @@ -1,5 +1,3 @@ -Press.en -======== .. _Freetzinpublicpressweb: Freetz in public press & web diff --git a/wiki/Press.rst b/wiki/Press.rst index 972ca8c..c4c2682 100644 --- a/wiki/Press.rst +++ b/wiki/Press.rst @@ -1,5 +1,3 @@ -Press -===== .. _FreetzinPresseundWeb: Freetz in Presse und Web diff --git a/wiki/common/source_code.en.rst b/wiki/common/source_code.en.rst index 45a1a13..5abd3a4 100644 --- a/wiki/common/source_code.en.rst +++ b/wiki/common/source_code.en.rst @@ -1,5 +1,3 @@ -common/source_code.en -===================== .. _Sourcecode: Source code diff --git a/wiki/common/source_code.rst b/wiki/common/source_code.rst index 1544ef3..eb95633 100644 --- a/wiki/common/source_code.rst +++ b/wiki/common/source_code.rst @@ -1,5 +1,3 @@ -common/source_code -================== .. _Quellcode: Quellcode diff --git a/wiki/costumscript_dublesyslog.rst b/wiki/costumscript_dublesyslog.rst index 4e9de52..a5f452e 100644 --- a/wiki/costumscript_dublesyslog.rst +++ b/wiki/costumscript_dublesyslog.rst @@ -1,5 +1,3 @@ -costumscript_dublesyslog -======================== Ausgeführt auf einer Fritzbox 7330 mit Firmware: 107.06.03 rev27364 Branding: avm Freetz: devel-12445 - FRITZ!OS 06.03-freetz-devel-12445 Zum Zeitpunkt der Installation gabs noch kein stable für diese Box mit diff --git a/wiki/freetz.en.rst b/wiki/freetz.en.rst index af4dd16..a6cb81c 100644 --- a/wiki/freetz.en.rst +++ b/wiki/freetz.en.rst @@ -1,5 +1,3 @@ -freetz.en -========= .. _FreetzgetsmorefromtheBox: Freetz gets more from the Box! diff --git a/wiki/freetz.rst b/wiki/freetz.rst index d2d09d1..d906456 100644 --- a/wiki/freetz.rst +++ b/wiki/freetz.rst @@ -1,5 +1,3 @@ -freetz -====== .. _FreetzmachtmehrausderBox: Freetz macht mehr aus der Box! diff --git a/wiki/help.rst b/wiki/help.rst index 5779226..86ce794 100644 --- a/wiki/help.rst +++ b/wiki/help.rst @@ -1,5 +1,3 @@ -help -==== .. _Hilfe: Hilfe diff --git a/wiki/help/fritz_faq.rst b/wiki/help/fritz_faq.rst index 9913283..44eac1f 100644 --- a/wiki/help/fritz_faq.rst +++ b/wiki/help/fritz_faq.rst @@ -1,5 +1,3 @@ -help/fritz_faq -============== .. _FAQ: FAQ diff --git a/wiki/help/howtos.rst b/wiki/help/howtos.rst index 712d54e..72f1257 100644 --- a/wiki/help/howtos.rst +++ b/wiki/help/howtos.rst @@ -1,5 +1,3 @@ -help/howtos -=========== .. _HowTos: HowTos diff --git a/wiki/help/howtos/common.rst b/wiki/help/howtos/common.rst index d7c7ab9..36cb0cd 100644 --- a/wiki/help/howtos/common.rst +++ b/wiki/help/howtos/common.rst @@ -1,5 +1,3 @@ -help/howtos/common -================== .. _Allgemeines: Allgemeines diff --git a/wiki/help/howtos/common/busybox_httpd.rst b/wiki/help/howtos/common/busybox_httpd.rst index daab757..04c4985 100644 --- a/wiki/help/howtos/common/busybox_httpd.rst +++ b/wiki/help/howtos/common/busybox_httpd.rst @@ -1,5 +1,3 @@ -help/howtos/common/busybox_httpd -================================ .. _KleinerWebservermitBusyBox: Kleiner Webserver mit BusyBox diff --git a/wiki/help/howtos/common/create_swap.rst b/wiki/help/howtos/common/create_swap.rst index 5b8f2d2..72ff8dd 100644 --- a/wiki/help/howtos/common/create_swap.rst +++ b/wiki/help/howtos/common/create_swap.rst @@ -1,5 +1,3 @@ -help/howtos/common/create_swap -============================== .. _Swap-Fileanlegen: Swap-File anlegen diff --git a/wiki/help/howtos/common/external.rst b/wiki/help/howtos/common/external.rst index be70676..449c6f2 100644 --- a/wiki/help/howtos/common/external.rst +++ b/wiki/help/howtos/common/external.rst @@ -1,5 +1,3 @@ -help/howtos/common/external -=========================== .. _External: External diff --git a/wiki/help/howtos/common/first_trunk.rst b/wiki/help/howtos/common/first_trunk.rst index e01bdb1..13bb2b5 100644 --- a/wiki/help/howtos/common/first_trunk.rst +++ b/wiki/help/howtos/common/first_trunk.rst @@ -1,5 +1,3 @@ -help/howtos/common/first_trunk -============================== .. _Wiebaueichmeinenerstentrunk: Wie baue ich meinen ersten trunk ? diff --git a/wiki/help/howtos/common/freetz_linux.rst b/wiki/help/howtos/common/freetz_linux.rst index 7286432..a067416 100644 --- a/wiki/help/howtos/common/freetz_linux.rst +++ b/wiki/help/howtos/common/freetz_linux.rst @@ -1,5 +1,3 @@ -help/howtos/common/freetz_linux -=============================== .. _FreetzLinux: Freetz Linux diff --git a/wiki/help/howtos/common/install.en.rst b/wiki/help/howtos/common/install.en.rst index ad5e6cc..8c27195 100644 --- a/wiki/help/howtos/common/install.en.rst +++ b/wiki/help/howtos/common/install.en.rst @@ -1,5 +1,3 @@ -help/howtos/common/install.en -============================= .. _Installation: Installation diff --git a/wiki/help/howtos/common/install.rst b/wiki/help/howtos/common/install.rst index 9b070b4..0db86cb 100644 --- a/wiki/help/howtos/common/install.rst +++ b/wiki/help/howtos/common/install.rst @@ -1,5 +1,3 @@ -help/howtos/common/install -========================== .. _Installation: Installation diff --git a/wiki/help/howtos/common/install/menuconfig.rst b/wiki/help/howtos/common/install/menuconfig.rst index 3520b3a..35684ef 100644 --- a/wiki/help/howtos/common/install/menuconfig.rst +++ b/wiki/help/howtos/common/install/menuconfig.rst @@ -1,5 +1,3 @@ -help/howtos/common/install/menuconfig -===================================== .. _Konfiguration: Konfiguration diff --git a/wiki/help/howtos/common/newbie.en.rst b/wiki/help/howtos/common/newbie.en.rst index 1846e5f..c14f7c4 100644 --- a/wiki/help/howtos/common/newbie.en.rst +++ b/wiki/help/howtos/common/newbie.en.rst @@ -1,5 +1,3 @@ -help/howtos/common/newbie.en -============================ .. _Freetzforbeginners: Freetz for beginners diff --git a/wiki/help/howtos/common/newbie.rst b/wiki/help/howtos/common/newbie.rst index b9f3ee4..2f3eb35 100644 --- a/wiki/help/howtos/common/newbie.rst +++ b/wiki/help/howtos/common/newbie.rst @@ -1,5 +1,3 @@ -help/howtos/common/newbie -========================= .. _ErsteSchrittemitFreetz: Erste Schritte mit Freetz diff --git a/wiki/help/howtos/common/newbie/errors.rst b/wiki/help/howtos/common/newbie/errors.rst index 6a072d5..4aa04f2 100644 --- a/wiki/help/howtos/common/newbie/errors.rst +++ b/wiki/help/howtos/common/newbie/errors.rst @@ -1,5 +1,3 @@ -help/howtos/common/newbie/errors -================================ .. _WasmacheichwennsichmeineBoxnichtFreetzenlässt: Was mache ich, wenn sich meine Box nicht Freetzen lässt diff --git a/wiki/help/howtos/common/newbie/other.rst b/wiki/help/howtos/common/newbie/other.rst index 8e80e4c..61feb2c 100644 --- a/wiki/help/howtos/common/newbie/other.rst +++ b/wiki/help/howtos/common/newbie/other.rst @@ -1,5 +1,3 @@ -help/howtos/common/newbie/other -=============================== .. _SonstigeInfosfürNewbies: Sonstige Infos für Newbie's diff --git a/wiki/help/howtos/common/shutdown.rst b/wiki/help/howtos/common/shutdown.rst index 95c5c22..d0233da 100644 --- a/wiki/help/howtos/common/shutdown.rst +++ b/wiki/help/howtos/common/shutdown.rst @@ -1,5 +1,3 @@ -help/howtos/common/shutdown -=========================== .. _RechnerimNetzherunterfahren: Rechner im Netz herunterfahren diff --git a/wiki/help/howtos/common/user.rst b/wiki/help/howtos/common/user.rst index 1f08992..808e383 100644 --- a/wiki/help/howtos/common/user.rst +++ b/wiki/help/howtos/common/user.rst @@ -1,5 +1,3 @@ -help/howtos/common/user -======================= .. _Benutzerdauerhaftinderpasswdspeichern: Benutzer dauerhaft in der passwd speichern diff --git a/wiki/help/howtos/common/wol.rst b/wiki/help/howtos/common/wol.rst index 52fc41e..fafc43d 100644 --- a/wiki/help/howtos/common/wol.rst +++ b/wiki/help/howtos/common/wol.rst @@ -1,5 +1,3 @@ -help/howtos/common/wol -====================== |<!>| **In Überarbeitung** .. _WakeonLanWoLmitderFritzbox: diff --git a/wiki/help/howtos/development.rst b/wiki/help/howtos/development.rst index 42c4b04..4b90d7b 100644 --- a/wiki/help/howtos/development.rst +++ b/wiki/help/howtos/development.rst @@ -1,5 +1,3 @@ -help/howtos/development -======================= .. _DevelopmentHowtos: Development Howtos diff --git a/wiki/help/howtos/development/adam2.rst b/wiki/help/howtos/development/adam2.rst index 88d00c4..2160e1f 100644 --- a/wiki/help/howtos/development/adam2.rst +++ b/wiki/help/howtos/development/adam2.rst @@ -1,5 +1,3 @@ -help/howtos/development/adam2 -============================= .. _ADAM2-Bootloader: ADAM2-Bootloader diff --git a/wiki/help/howtos/development/analyse_image_names.rst b/wiki/help/howtos/development/analyse_image_names.rst index b45688f..88b5406 100644 --- a/wiki/help/howtos/development/analyse_image_names.rst +++ b/wiki/help/howtos/development/analyse_image_names.rst @@ -1,5 +1,3 @@ -help/howtos/development/analyse_image_names -=========================================== .. _Firmware-Image-Namenanalysierenundinterpretieren: Firmware-Image-Namen analysieren und interpretieren diff --git a/wiki/help/howtos/development/bandwidth_svg.rst b/wiki/help/howtos/development/bandwidth_svg.rst index 9ee8b88..c99de13 100644 --- a/wiki/help/howtos/development/bandwidth_svg.rst +++ b/wiki/help/howtos/development/bandwidth_svg.rst @@ -1,5 +1,3 @@ -help/howtos/development/bandwidth_svg -===================================== .. _DynamischeBandbreitenanzeigeperSVG: Dynamische Bandbreitenanzeige per SVG diff --git a/wiki/help/howtos/development/compile_own_progs.rst b/wiki/help/howtos/development/compile_own_progs.rst index cc64860..edc6b4a 100644 --- a/wiki/help/howtos/development/compile_own_progs.rst +++ b/wiki/help/howtos/development/compile_own_progs.rst @@ -1,5 +1,3 @@ -help/howtos/development/compile_own_progs -========================================= .. _EigeneProgrammekompilieren: Eigene Programme kompilieren diff --git a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst index e8494e2..4c5a82b 100644 --- a/wiki/help/howtos/development/create_cross-compiler_toolchain.rst +++ b/wiki/help/howtos/development/create_cross-compiler_toolchain.rst @@ -1,5 +1,3 @@ -help/howtos/development/create_cross-compiler_toolchain -======================================================= .. _Cross-CompilerToolchainerstellen: Cross-Compiler / Toolchain erstellen diff --git a/wiki/help/howtos/development/create_gui.rst b/wiki/help/howtos/development/create_gui.rst index 73118b5..e869f7e 100644 --- a/wiki/help/howtos/development/create_gui.rst +++ b/wiki/help/howtos/development/create_gui.rst @@ -1,5 +1,3 @@ -help/howtos/development/create_gui -================================== .. _ErstelleneinerGUIfürPaketeinFreetz: Erstellen einer GUI für Pakete in Freetz diff --git a/wiki/help/howtos/development/developer_information.rst b/wiki/help/howtos/development/developer_information.rst index 4f16a24..f345970 100644 --- a/wiki/help/howtos/development/developer_information.rst +++ b/wiki/help/howtos/development/developer_information.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information -============================================= .. _DeveloperInformation: Developer Information diff --git a/wiki/help/howtos/development/developer_information/package_development.rst b/wiki/help/howtos/development/developer_information/package_development.rst index e564a30..ef9d98f 100644 --- a/wiki/help/howtos/development/developer_information/package_development.rst +++ b/wiki/help/howtos/development/developer_information/package_development.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development -================================================================= .. _PackageDevelopment: Package Development diff --git a/wiki/help/howtos/development/developer_information/package_development_advanced.rst b/wiki/help/howtos/development/developer_information/package_development_advanced.rst index 1c1a1ea..6d17529 100644 --- a/wiki/help/howtos/development/developer_information/package_development_advanced.rst +++ b/wiki/help/howtos/development/developer_information/package_development_advanced.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_advanced -========================================================================== .. _PackageDeveloping-AdvancedTopics: Package Developing - Advanced Topics diff --git a/wiki/help/howtos/development/developer_information/package_development_dynamic.rst b/wiki/help/howtos/development/developer_information/package_development_dynamic.rst index f787d73..70bb502 100644 --- a/wiki/help/howtos/development/developer_information/package_development_dynamic.rst +++ b/wiki/help/howtos/development/developer_information/package_development_dynamic.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_dynamic -========================================================================= .. _PaketverwaltungfürFreetz: Paketverwaltung für Freetz diff --git a/wiki/help/howtos/development/developer_information/package_development_start.rst b/wiki/help/howtos/development/developer_information/package_development_start.rst index 9d1b66c..17f9f52 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start -======================================================================= .. _Firststeps-Howtostartyourfirstfreetzpackage: First steps - How to start your first freetz package diff --git a/wiki/help/howtos/development/developer_information/package_development_start/.language.rst b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst index b0870e6..523958b 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/.language.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/.language -================================================================================= .. _a.language: .language diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst index f9aa8e5..af69e80 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/example_1 -================================================================================= .. _Example1:Httptunnel: Example 1: Httptunnel diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst index f6f7b9d..78285c5 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/example_2 -================================================================================= .. _Example2:par2cmdline: Example 2: par2cmdline diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst index 34af6fc..69481c4 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/example_3 -================================================================================= .. _Example3:NZBGet: Example 3: NZBGet diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst index bbc1bdc..59fa27e 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_config_handling.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/example_config_handling -=============================================================================================== | Here some examples using the tools for configuration handling to explain the behavior of the available commands. diff --git a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst index 199d40f..f774b68 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en.rst @@ -1,3 +1 @@ -help/howtos/development/developer_information/package_development_start/webinterface_example_1.en -================================================================================================= See: `webinterface_example_1 <webinterface_example_1.html>`__. diff --git a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst index 4d1d30c..55ca554 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/package_development_start/webinterface_example_1 -============================================================================================== .. _Web-interfaceHTTPTunnel: Web-interface HTTPTunnel diff --git a/wiki/help/howtos/development/developer_information/post_commit_hook.rst b/wiki/help/howtos/development/developer_information/post_commit_hook.rst index 9adb299..5816dca 100644 --- a/wiki/help/howtos/development/developer_information/post_commit_hook.rst +++ b/wiki/help/howtos/development/developer_information/post_commit_hook.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/post_commit_hook -============================================================== .. _TracHooks: Trac Hooks diff --git a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst index 404860e..189fa2b 100644 --- a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst +++ b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/shell_coding_conventions -====================================================================== .. _ShellCodingConventions: Shell Coding Conventions diff --git a/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst index 28a3e4b..a2ec811 100644 --- a/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst +++ b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst @@ -1,5 +1,3 @@ -help/howtos/development/developer_information/webif/libmodcgi -============================================================= libmodcgi.sh ============ diff --git a/wiki/help/howtos/development/firmware_update_details.rst b/wiki/help/howtos/development/firmware_update_details.rst index c9be351..827f601 100644 --- a/wiki/help/howtos/development/firmware_update_details.rst +++ b/wiki/help/howtos/development/firmware_update_details.rst @@ -1,5 +1,3 @@ -help/howtos/development/firmware_update_details -=============================================== .. _AblaufeinesFirmware-Updates: Ablauf eines Firmware-Updates diff --git a/wiki/help/howtos/development/flash.rst b/wiki/help/howtos/development/flash.rst index a58ac0a..8f08305 100644 --- a/wiki/help/howtos/development/flash.rst +++ b/wiki/help/howtos/development/flash.rst @@ -1,5 +1,3 @@ -help/howtos/development/flash -============================= .. _FlashPartitionierung: Flash Partitionierung diff --git a/wiki/help/howtos/development/freetz_make.rst b/wiki/help/howtos/development/freetz_make.rst index e0fbea3..a7dae5d 100644 --- a/wiki/help/howtos/development/freetz_make.rst +++ b/wiki/help/howtos/development/freetz_make.rst @@ -1,5 +1,3 @@ -help/howtos/development/freetz_make -=================================== .. _FreetzBuild-Prozeß: Freetz Build-Prozeß diff --git a/wiki/help/howtos/development/install_addon.rst b/wiki/help/howtos/development/install_addon.rst index cb0309f..bb6649d 100644 --- a/wiki/help/howtos/development/install_addon.rst +++ b/wiki/help/howtos/development/install_addon.rst @@ -1,5 +1,3 @@ -help/howtos/development/install_addon -===================================== .. _AddonPaketinstallieren: Addon Paket installieren diff --git a/wiki/help/howtos/development/integrate_own_files.rst b/wiki/help/howtos/development/integrate_own_files.rst index 70486dc..8d1b8a4 100644 --- a/wiki/help/howtos/development/integrate_own_files.rst +++ b/wiki/help/howtos/development/integrate_own_files.rst @@ -1,5 +1,3 @@ -help/howtos/development/integrate_own_files -=========================================== .. _EigeneDateienindieFirmwareintegrieren: Eigene Dateien in die Firmware integrieren diff --git a/wiki/help/howtos/development/integrate_patches.rst b/wiki/help/howtos/development/integrate_patches.rst index 584d93f..e1a2767 100644 --- a/wiki/help/howtos/development/integrate_patches.rst +++ b/wiki/help/howtos/development/integrate_patches.rst @@ -1,5 +1,3 @@ -help/howtos/development/integrate_patches -========================================= .. _PatchesinFreetzeinspielen: Patches in Freetz einspielen diff --git a/wiki/help/howtos/development/make_busybox.rst b/wiki/help/howtos/development/make_busybox.rst index e7e9149..cf7682c 100644 --- a/wiki/help/howtos/development/make_busybox.rst +++ b/wiki/help/howtos/development/make_busybox.rst @@ -1,5 +1,3 @@ -help/howtos/development/make_busybox -==================================== .. _Busyboxkonfigurierenundkompilieren: Busybox konfigurieren und kompilieren diff --git a/wiki/help/howtos/development/make_kernel.rst b/wiki/help/howtos/development/make_kernel.rst index a936e23..e477488 100644 --- a/wiki/help/howtos/development/make_kernel.rst +++ b/wiki/help/howtos/development/make_kernel.rst @@ -1,5 +1,3 @@ -help/howtos/development/make_kernel -=================================== .. _Kernelkonfigurierenundkompilieren: Kernel konfigurieren und kompilieren diff --git a/wiki/help/howtos/development/make_room.rst b/wiki/help/howtos/development/make_room.rst index 1d25839..1d13a50 100644 --- a/wiki/help/howtos/development/make_room.rst +++ b/wiki/help/howtos/development/make_room.rst @@ -1,5 +1,3 @@ -help/howtos/development/make_room -================================= .. _PlatzsparenimDateisystemderFritzBox: Platz sparen im Dateisystem der FritzBox diff --git a/wiki/help/howtos/development/manipulation_detection.rst b/wiki/help/howtos/development/manipulation_detection.rst index f6891b5..4877eae 100644 --- a/wiki/help/howtos/development/manipulation_detection.rst +++ b/wiki/help/howtos/development/manipulation_detection.rst @@ -1,5 +1,3 @@ -help/howtos/development/manipulation_detection -============================================== .. _WiedieFritzBoxManipulationenerkennt: Wie die FritzBox Manipulationen erkennt diff --git a/wiki/help/howtos/development/menuconfig.rst b/wiki/help/howtos/development/menuconfig.rst index f196d11..220efb8 100644 --- a/wiki/help/howtos/development/menuconfig.rst +++ b/wiki/help/howtos/development/menuconfig.rst @@ -1,5 +1,3 @@ -help/howtos/development/menuconfig -================================== .. _Menükonfigurationpflegen: Menükonfiguration pflegen diff --git a/wiki/help/howtos/development/package_creation.rst b/wiki/help/howtos/development/package_creation.rst index 042b93f..e6a9283 100644 --- a/wiki/help/howtos/development/package_creation.rst +++ b/wiki/help/howtos/development/package_creation.rst @@ -1,5 +1,3 @@ -help/howtos/development/package_creation -======================================== **Diese Beschreibung ist höchstwahrscheinlich nicht das Gesuchte, Verwendung auf eigene Gefahr! **\ `Hier gibt es eine Beschreibung zur Erstellung eines Pakets für ein diff --git a/wiki/help/howtos/development/release_management.rst b/wiki/help/howtos/development/release_management.rst index d8bbbc2..2a778c8 100644 --- a/wiki/help/howtos/development/release_management.rst +++ b/wiki/help/howtos/development/release_management.rst @@ -1,5 +1,3 @@ -help/howtos/development/release_management -========================================== .. _ReleaseManagement: Release Management diff --git a/wiki/help/howtos/development/repack_fw.rst b/wiki/help/howtos/development/repack_fw.rst index 15f3f8e..647f760 100644 --- a/wiki/help/howtos/development/repack_fw.rst +++ b/wiki/help/howtos/development/repack_fw.rst @@ -1,5 +1,3 @@ -help/howtos/development/repack_fw -================================= .. _EntpackenundPackenvonFirmware-Images: Entpacken und Packen von Firmware-Images diff --git a/wiki/help/howtos/development/save_mtd_1.rst b/wiki/help/howtos/development/save_mtd_1.rst index 19916d3..3f44833 100644 --- a/wiki/help/howtos/development/save_mtd_1.rst +++ b/wiki/help/howtos/development/save_mtd_1.rst @@ -1,5 +1,3 @@ -help/howtos/development/save_mtd_1 -================================== .. _Flash-PartitionenimlaufendenBetriebsichern: Flash-Partitionen im laufenden Betrieb sichern diff --git a/wiki/help/howtos/development/save_mtd_2.rst b/wiki/help/howtos/development/save_mtd_2.rst index c567b38..5164571 100644 --- a/wiki/help/howtos/development/save_mtd_2.rst +++ b/wiki/help/howtos/development/save_mtd_2.rst @@ -1,5 +1,3 @@ -help/howtos/development/save_mtd_2 -================================== .. _Flash-PartitionenvonaußenmitFTPsichern: Flash-Partitionen von außen mit FTP sichern diff --git a/wiki/help/howtos/development/sign_image.rst b/wiki/help/howtos/development/sign_image.rst index a31865f..5270cdd 100644 --- a/wiki/help/howtos/development/sign_image.rst +++ b/wiki/help/howtos/development/sign_image.rst @@ -1,5 +1,3 @@ -help/howtos/development/sign_image -================================== .. _SignierenvonFirmware: Signieren von Firmware diff --git a/wiki/help/howtos/development/urlader_flags.rst b/wiki/help/howtos/development/urlader_flags.rst index 3ea5d7e..916a6af 100644 --- a/wiki/help/howtos/development/urlader_flags.rst +++ b/wiki/help/howtos/development/urlader_flags.rst @@ -1,5 +1,3 @@ -help/howtos/development/urlader_flags -===================================== .. _EinstellungenspeichernimUrlader-Environment: Einstellungen speichern im Urlader-Environment diff --git a/wiki/help/howtos/security.rst b/wiki/help/howtos/security.rst index 2e395c2..16aaa80 100644 --- a/wiki/help/howtos/security.rst +++ b/wiki/help/howtos/security.rst @@ -1,5 +1,3 @@ -help/howtos/security -==================== .. _Security: Security diff --git a/wiki/help/howtos/security/router_and_firewall.rst b/wiki/help/howtos/security/router_and_firewall.rst index ea58be1..98cff08 100644 --- a/wiki/help/howtos/security/router_and_firewall.rst +++ b/wiki/help/howtos/security/router_and_firewall.rst @@ -1,5 +1,3 @@ -help/howtos/security/router_and_firewall -======================================== .. _FreetzalsinternerRoutermitFirewall: Freetz als interner Router mit Firewall diff --git a/wiki/help/howtos/security/split_wlan_lan.rst b/wiki/help/howtos/security/split_wlan_lan.rst index ad20cb0..ac86070 100644 --- a/wiki/help/howtos/security/split_wlan_lan.rst +++ b/wiki/help/howtos/security/split_wlan_lan.rst @@ -1,5 +1,3 @@ -help/howtos/security/split_wlan_lan -=================================== .. _WLANvonLANtrennenmitiptables: WLAN von LAN trennen mit iptables diff --git a/wiki/help/howtos/security/switch_config.rst b/wiki/help/howtos/security/switch_config.rst index a8928ee..a43afe7 100644 --- a/wiki/help/howtos/security/switch_config.rst +++ b/wiki/help/howtos/security/switch_config.rst @@ -1,5 +1,3 @@ -help/howtos/security/switch_config -================================== .. _KonfigurationdeseingebautenSwitches: Konfiguration des eingebauten Switches diff --git a/wiki/help/howtos/security/user_management.rst b/wiki/help/howtos/security/user_management.rst index 5065aca..80f859e 100644 --- a/wiki/help/howtos/security/user_management.rst +++ b/wiki/help/howtos/security/user_management.rst @@ -1,5 +1,3 @@ -help/howtos/security/user_management -==================================== .. _Benutzerverwaltung: Benutzerverwaltung diff --git a/wiki/help/howtos/troubleshoot.rst b/wiki/help/howtos/troubleshoot.rst index 0f4d253..bf3828b 100644 --- a/wiki/help/howtos/troubleshoot.rst +++ b/wiki/help/howtos/troubleshoot.rst @@ -1,5 +1,3 @@ -help/howtos/troubleshoot -======================== .. _Troubleshooting: Troubleshooting diff --git a/wiki/help/howtos/troubleshoot/reboots.rst b/wiki/help/howtos/troubleshoot/reboots.rst index f329426..8ae750a 100644 --- a/wiki/help/howtos/troubleshoot/reboots.rst +++ b/wiki/help/howtos/troubleshoot/reboots.rst @@ -1,5 +1,3 @@ -help/howtos/troubleshoot/reboots -================================ .. _HäufigeselbständigeReboots: Häufige selbständige Reboots diff --git a/wiki/help/howtos/troubleshoot/recover_firmware.rst b/wiki/help/howtos/troubleshoot/recover_firmware.rst index 5c753ca..e8c7aec 100644 --- a/wiki/help/howtos/troubleshoot/recover_firmware.rst +++ b/wiki/help/howtos/troubleshoot/recover_firmware.rst @@ -1,5 +1,3 @@ -help/howtos/troubleshoot/recover_firmware -========================================= .. _OriginalFirmwarewiederherstellen: Original Firmware wiederherstellen diff --git a/wiki/help/howtos/troubleshoot/repair_phonebook.rst b/wiki/help/howtos/troubleshoot/repair_phonebook.rst index 71ac8c2..a188821 100644 --- a/wiki/help/howtos/troubleshoot/repair_phonebook.rst +++ b/wiki/help/howtos/troubleshoot/repair_phonebook.rst @@ -1,5 +1,3 @@ -help/howtos/troubleshoot/repair_phonebook -========================================= .. _KaputtesTelefonbuchreparieren: Kaputtes Telefonbuch reparieren diff --git a/wiki/help/irc.en.rst b/wiki/help/irc.en.rst index 5e63e8f..2f830e7 100644 --- a/wiki/help/irc.en.rst +++ b/wiki/help/irc.en.rst @@ -1,5 +1,3 @@ -help/irc.en -=========== If you need instant help you can try the fritzbox IRC channel. Some of the developers are known to sometimes hang out on there: ##fritzbox on Freenode. diff --git a/wiki/help/irc.rst b/wiki/help/irc.rst index 63a460e..da45943 100644 --- a/wiki/help/irc.rst +++ b/wiki/help/irc.rst @@ -1,5 +1,3 @@ -help/irc -======== .. _Intro: Intro diff --git a/wiki/help/trouble_shooting.rst b/wiki/help/trouble_shooting.rst index b53df72..f4626f3 100644 --- a/wiki/help/trouble_shooting.rst +++ b/wiki/help/trouble_shooting.rst @@ -1,5 +1,3 @@ -help/trouble_shooting -===================== .. _Troubleshooting: Troubleshooting diff --git a/wiki/help/wikiedit.rst b/wiki/help/wikiedit.rst index 5e86a81..3d8c30d 100644 --- a/wiki/help/wikiedit.rst +++ b/wiki/help/wikiedit.rst @@ -1,5 +1,3 @@ -help/wikiedit -============= .. _WikiBearbeitung-TippsundTricks: Wiki Bearbeitung - Tipps und Tricks diff --git a/wiki/help/wikiedit/formatting_guide.rst b/wiki/help/wikiedit/formatting_guide.rst index 69b5f5c..d1fab97 100644 --- a/wiki/help/wikiedit/formatting_guide.rst +++ b/wiki/help/wikiedit/formatting_guide.rst @@ -1,5 +1,3 @@ -help/wikiedit/formatting_guide -============================== .. _Formatierungs-Guidelines: Formatierungs-Guidelines diff --git a/wiki/help/wikiedit/goodies.rst b/wiki/help/wikiedit/goodies.rst index a6d9111..1e6b0aa 100644 --- a/wiki/help/wikiedit/goodies.rst +++ b/wiki/help/wikiedit/goodies.rst @@ -1,5 +1,3 @@ -help/wikiedit/goodies -===================== .. _WikiGoodies: Wiki Goodies diff --git a/wiki/help/wikiedit/screenshots.rst b/wiki/help/wikiedit/screenshots.rst index 1f03749..f8a3ba7 100644 --- a/wiki/help/wikiedit/screenshots.rst +++ b/wiki/help/wikiedit/screenshots.rst @@ -1,5 +1,3 @@ -help/wikiedit/screenshots -========================= .. _Screenshots: Screenshots diff --git a/wiki/help/wikiedit/tables.rst b/wiki/help/wikiedit/tables.rst index 4ae96b6..eb4a6b0 100644 --- a/wiki/help/wikiedit/tables.rst +++ b/wiki/help/wikiedit/tables.rst @@ -1,5 +1,3 @@ -help/wikiedit/tables -==================== .. _Tabellen: Tabellen diff --git a/wiki/help/wikiedit/tagging.rst b/wiki/help/wikiedit/tagging.rst index 5e7a660..953450a 100644 --- a/wiki/help/wikiedit/tagging.rst +++ b/wiki/help/wikiedit/tagging.rst @@ -1,5 +1,3 @@ -help/wikiedit/tagging -===================== .. _Tagging: Tagging diff --git a/wiki/help/wikiedit/toc.rst b/wiki/help/wikiedit/toc.rst index a835c95..ce74572 100644 --- a/wiki/help/wikiedit/toc.rst +++ b/wiki/help/wikiedit/toc.rst @@ -1,5 +1,3 @@ -help/wikiedit/toc -================= .. _Inhaltsverzeichniserstellenlassen: Inhaltsverzeichnis erstellen (lassen) diff --git a/wiki/index.en.rst b/wiki/index.en.rst index 3cc1b75..ce5612a 100644 --- a/wiki/index.en.rst +++ b/wiki/index.en.rst @@ -1,5 +1,3 @@ -WikiStart.en -============ .. _WelcometoFreetz: Welcome to Freetz diff --git a/wiki/index.rst b/wiki/index.rst index 978d034..6d5408d 100644 --- a/wiki/index.rst +++ b/wiki/index.rst @@ -1,5 +1,3 @@ -Freetz -====== .. _WillkommenbeiFreetz: Willkommen bei Freetz diff --git a/wiki/kernel.rst b/wiki/kernel.rst index 98fc19c..2404e25 100644 --- a/wiki/kernel.rst +++ b/wiki/kernel.rst @@ -1,5 +1,3 @@ -kernel -====== Kernel Layout Box diff --git a/wiki/libs.rst b/wiki/libs.rst index 9a02510..793380c 100644 --- a/wiki/libs.rst +++ b/wiki/libs.rst @@ -1,5 +1,3 @@ -libs -==== .. _Bibliothekenlibraries: Bibliotheken (libraries) diff --git a/wiki/libs/ftdi.en.rst b/wiki/libs/ftdi.en.rst index 17c45df..4a59b57 100644 --- a/wiki/libs/ftdi.en.rst +++ b/wiki/libs/ftdi.en.rst @@ -1,5 +1,3 @@ -libs/ftdi.en -============ libftdi ======= diff --git a/wiki/libs/ftdi.rst b/wiki/libs/ftdi.rst index d067190..6f7e7fe 100644 --- a/wiki/libs/ftdi.rst +++ b/wiki/libs/ftdi.rst @@ -1,5 +1,3 @@ -libs/ftdi -========= ftdi ==== diff --git a/wiki/packages.rst b/wiki/packages.rst index 225a5fa..c544fd5 100644 --- a/wiki/packages.rst +++ b/wiki/packages.rst @@ -1,5 +1,3 @@ -packages -======== .. _PaketeAddonsundCGI-Erweiterungen: Pakete, Addons und CGI-Erweiterungen diff --git a/wiki/packages/DemoPackageA.rst b/wiki/packages/DemoPackageA.rst index 5c5841f..da20e5e 100644 --- a/wiki/packages/DemoPackageA.rst +++ b/wiki/packages/DemoPackageA.rst @@ -1,5 +1,3 @@ -packages/DemoPackageA -===================== .. _DemoPackageAHelloWorld: DemoPackageA "Hello World" diff --git a/wiki/packages/aiccu.en.rst b/wiki/packages/aiccu.en.rst index 04b7540..63ec3ce 100644 --- a/wiki/packages/aiccu.en.rst +++ b/wiki/packages/aiccu.en.rst @@ -1,5 +1,3 @@ -packages/aiccu.en -================= .. _AICCU: AICCU diff --git a/wiki/packages/aiccu.rst b/wiki/packages/aiccu.rst index d9cd484..f03e5a3 100644 --- a/wiki/packages/aiccu.rst +++ b/wiki/packages/aiccu.rst @@ -1,5 +1,3 @@ -packages/aiccu -============== .. _Aiccu: Aiccu diff --git a/wiki/packages/apache.rst b/wiki/packages/apache.rst index 7a8d3c0..6380adb 100644 --- a/wiki/packages/apache.rst +++ b/wiki/packages/apache.rst @@ -1,5 +1,3 @@ -packages/apache -=============== .. _ApacheWebservermitPHPCGI: Apache Webserver mit PHP CGI diff --git a/wiki/packages/asterisk.rst b/wiki/packages/asterisk.rst index 8f132e5..471f52e 100644 --- a/wiki/packages/asterisk.rst +++ b/wiki/packages/asterisk.rst @@ -1,5 +1,3 @@ -packages/asterisk -================= .. _Asterisk: Asterisk diff --git a/wiki/packages/authorized-keys.en.rst b/wiki/packages/authorized-keys.en.rst index 961a7b1..b5bf5ce 100644 --- a/wiki/packages/authorized-keys.en.rst +++ b/wiki/packages/authorized-keys.en.rst @@ -1,5 +1,3 @@ -packages/authorized-keys.en -=========================== authorized-keys --------------- diff --git a/wiki/packages/authorized-keys.rst b/wiki/packages/authorized-keys.rst index 8bb46c0..a6ac7ab 100644 --- a/wiki/packages/authorized-keys.rst +++ b/wiki/packages/authorized-keys.rst @@ -1,5 +1,3 @@ -packages/authorized-keys -======================== authorized_keys =============== diff --git a/wiki/packages/autofs.rst b/wiki/packages/autofs.rst index bb8c35a..ac1d239 100644 --- a/wiki/packages/autofs.rst +++ b/wiki/packages/autofs.rst @@ -1,5 +1,3 @@ -packages/autofs -=============== autofs ====== diff --git a/wiki/packages/avm-firewall.rst b/wiki/packages/avm-firewall.rst index 2c7fb63..934c523 100644 --- a/wiki/packages/avm-firewall.rst +++ b/wiki/packages/avm-firewall.rst @@ -1,5 +1,3 @@ -packages/avm-firewall -===================== .. _AVM-firewall-cgi: AVM-firewall-cgi diff --git a/wiki/packages/bash.rst b/wiki/packages/bash.rst index 03e52be..3209b37 100644 --- a/wiki/packages/bash.rst +++ b/wiki/packages/bash.rst @@ -1,5 +1,3 @@ -packages/bash -============= .. _Bash: Bash diff --git a/wiki/packages/bftpd.rst b/wiki/packages/bftpd.rst index 5f4f896..8e11e1b 100644 --- a/wiki/packages/bftpd.rst +++ b/wiki/packages/bftpd.rst @@ -1,5 +1,3 @@ -packages/bftpd -============== .. _Bftpd: Bftpd diff --git a/wiki/packages/bind.rst b/wiki/packages/bind.rst index be62405..176bcbb 100644 --- a/wiki/packages/bind.rst +++ b/wiki/packages/bind.rst @@ -1,5 +1,3 @@ -packages/bind -============= bind ==== diff --git a/wiki/packages/bip.rst b/wiki/packages/bip.rst index 2c274b8..ace8970 100644 --- a/wiki/packages/bip.rst +++ b/wiki/packages/bip.rst @@ -1,5 +1,3 @@ -packages/bip -============ .. _BIP: BIP diff --git a/wiki/packages/bird.rst b/wiki/packages/bird.rst index 18a6c0e..3b15188 100644 --- a/wiki/packages/bird.rst +++ b/wiki/packages/bird.rst @@ -1,5 +1,3 @@ -packages/bird -============= .. _Bird: Bird diff --git a/wiki/packages/bluez-utils.rst b/wiki/packages/bluez-utils.rst index db94727..7852a11 100644 --- a/wiki/packages/bluez-utils.rst +++ b/wiki/packages/bluez-utils.rst @@ -1,5 +1,3 @@ -packages/bluez-utils -==================== .. _Bluez-Utils: Bluez-Utils diff --git a/wiki/packages/bluez.rst b/wiki/packages/bluez.rst index d32cd93..e786987 100644 --- a/wiki/packages/bluez.rst +++ b/wiki/packages/bluez.rst @@ -1,5 +1,3 @@ -packages/bluez -============== .. _BlueZ4.x: BlueZ 4.x diff --git a/wiki/packages/br2684ctl.en.rst b/wiki/packages/br2684ctl.en.rst index 4e90b08..3098a20 100644 --- a/wiki/packages/br2684ctl.en.rst +++ b/wiki/packages/br2684ctl.en.rst @@ -1,5 +1,3 @@ -packages/br2684ctl.en -===================== br2684ctl --------- diff --git a/wiki/packages/br2684ctl.rst b/wiki/packages/br2684ctl.rst index 4006b1c..67992d1 100644 --- a/wiki/packages/br2684ctl.rst +++ b/wiki/packages/br2684ctl.rst @@ -1,5 +1,3 @@ -packages/br2684ctl -================== br2684ctl ========= diff --git a/wiki/packages/bridge-utils.rst b/wiki/packages/bridge-utils.rst index f1836d5..c57c32a 100644 --- a/wiki/packages/bridge-utils.rst +++ b/wiki/packages/bridge-utils.rst @@ -1,5 +1,3 @@ -packages/bridge-utils -===================== bridge-utils ============ diff --git a/wiki/packages/callmonitor.rst b/wiki/packages/callmonitor.rst index 243d51e..37ad239 100644 --- a/wiki/packages/callmonitor.rst +++ b/wiki/packages/callmonitor.rst @@ -1,5 +1,3 @@ -packages/callmonitor -==================== .. _Callmonitor: Callmonitor diff --git a/wiki/packages/callmonitor/actions.rst b/wiki/packages/callmonitor/actions.rst index f6c28e3..42816a3 100644 --- a/wiki/packages/callmonitor/actions.rst +++ b/wiki/packages/callmonitor/actions.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions -============================ .. _Aktionen: Aktionen diff --git a/wiki/packages/callmonitor/actions/call.rst b/wiki/packages/callmonitor/actions/call.rst index 1a5c6f0..bdfe7e8 100644 --- a/wiki/packages/callmonitor/actions/call.rst +++ b/wiki/packages/callmonitor/actions/call.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/call -================================= .. _AllgemeineHinweisezuFunktionsaufrufen: Allgemeine Hinweise zu Funktionsaufrufen diff --git a/wiki/packages/callmonitor/actions/config.rst b/wiki/packages/callmonitor/actions/config.rst index 0e209b8..574ba7a 100644 --- a/wiki/packages/callmonitor/actions/config.rst +++ b/wiki/packages/callmonitor/actions/config.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/config -=================================== .. _FritzBox-Konfiguration: FritzBox-Konfiguration diff --git a/wiki/packages/callmonitor/actions/dbox.rst b/wiki/packages/callmonitor/actions/dbox.rst index 8cd9e02..4ae1b74 100644 --- a/wiki/packages/callmonitor/actions/dbox.rst +++ b/wiki/packages/callmonitor/actions/dbox.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/dbox -================================= .. _DBox2: DBox2 diff --git a/wiki/packages/callmonitor/actions/dial.rst b/wiki/packages/callmonitor/actions/dial.rst index 28ea6c2..98e5ad7 100644 --- a/wiki/packages/callmonitor/actions/dial.rst +++ b/wiki/packages/callmonitor/actions/dial.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/dial -================================= .. _Wählhilfe: Wählhilfe diff --git a/wiki/packages/callmonitor/actions/dreambox.rst b/wiki/packages/callmonitor/actions/dreambox.rst index 30c6d6d..7a3f957 100644 --- a/wiki/packages/callmonitor/actions/dreambox.rst +++ b/wiki/packages/callmonitor/actions/dreambox.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/dreambox -===================================== .. _DreamBox: DreamBox diff --git a/wiki/packages/callmonitor/actions/getmsg.rst b/wiki/packages/callmonitor/actions/getmsg.rst index d96a853..11d687d 100644 --- a/wiki/packages/callmonitor/actions/getmsg.rst +++ b/wiki/packages/callmonitor/actions/getmsg.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/getmsg -=================================== .. _HTTP-Requestsgetmsg: HTTP-Requests (getmsg) diff --git a/wiki/packages/callmonitor/actions/mail.rst b/wiki/packages/callmonitor/actions/mail.rst index ff68a70..c36d83d 100644 --- a/wiki/packages/callmonitor/actions/mail.rst +++ b/wiki/packages/callmonitor/actions/mail.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/mail -================================= .. _E-Mail-Benachrichtigung: E-Mail-Benachrichtigung diff --git a/wiki/packages/callmonitor/actions/musicpal.rst b/wiki/packages/callmonitor/actions/musicpal.rst index bda860d..c24cab6 100644 --- a/wiki/packages/callmonitor/actions/musicpal.rst +++ b/wiki/packages/callmonitor/actions/musicpal.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/musicpal -===================================== .. _FreecomMusicPal: Freecom MusicPal diff --git a/wiki/packages/callmonitor/actions/password.rst b/wiki/packages/callmonitor/actions/password.rst index a4f0ef2..72e64df 100644 --- a/wiki/packages/callmonitor/actions/password.rst +++ b/wiki/packages/callmonitor/actions/password.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/password -===================================== .. _BenutzernamenundPasswörter: Benutzernamen und Passwörter diff --git a/wiki/packages/callmonitor/actions/rawmsg.rst b/wiki/packages/callmonitor/actions/rawmsg.rst index 2f0f599..c1d3921 100644 --- a/wiki/packages/callmonitor/actions/rawmsg.rst +++ b/wiki/packages/callmonitor/actions/rawmsg.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/rawmsg -=================================== .. _EinfacheTCP-Verbindungenrawmsg: Einfache TCP-Verbindungen (rawmsg) diff --git a/wiki/packages/callmonitor/actions/relook.rst b/wiki/packages/callmonitor/actions/relook.rst index cfc8a8a..47893f4 100644 --- a/wiki/packages/callmonitor/actions/relook.rst +++ b/wiki/packages/callmonitor/actions/relook.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/relook -=================================== .. _DGStationRelook400S: DGStation Relook 400S diff --git a/wiki/packages/callmonitor/actions/samsung.rst b/wiki/packages/callmonitor/actions/samsung.rst index e86faa6..e763bb6 100644 --- a/wiki/packages/callmonitor/actions/samsung.rst +++ b/wiki/packages/callmonitor/actions/samsung.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/samsung -==================================== .. _BenachrichtigungaufeinemSamsungTV: Benachrichtigung auf einem Samsung TV diff --git a/wiki/packages/callmonitor/actions/self-defined.rst b/wiki/packages/callmonitor/actions/self-defined.rst index 0d4d042..011a28a 100644 --- a/wiki/packages/callmonitor/actions/self-defined.rst +++ b/wiki/packages/callmonitor/actions/self-defined.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/self-defined -========================================= .. _SelbstdefinierteAktionen: Selbstdefinierte Aktionen diff --git a/wiki/packages/callmonitor/actions/snarl.rst b/wiki/packages/callmonitor/actions/snarl.rst index d4de812..db06497 100644 --- a/wiki/packages/callmonitor/actions/snarl.rst +++ b/wiki/packages/callmonitor/actions/snarl.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/snarl -================================== `​Snarl <http://www.fullphat.net/index.php>`__ ist ähnlich wie Growl, welches einigen vielleicht bekannt ist, ist ein Benachrichtigungs-Programm ("notification"), welches im Hintergrund diff --git a/wiki/packages/callmonitor/actions/soundbridge.rst b/wiki/packages/callmonitor/actions/soundbridge.rst index 9d59779..03f568b 100644 --- a/wiki/packages/callmonitor/actions/soundbridge.rst +++ b/wiki/packages/callmonitor/actions/soundbridge.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/soundbridge -======================================== .. _RokuSoundBridge: Roku SoundBridge diff --git a/wiki/packages/callmonitor/actions/vdr.rst b/wiki/packages/callmonitor/actions/vdr.rst index ec4c5f3..dc113b6 100644 --- a/wiki/packages/callmonitor/actions/vdr.rst +++ b/wiki/packages/callmonitor/actions/vdr.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/vdr -================================ .. _VDR: VDR diff --git a/wiki/packages/callmonitor/actions/wol.rst b/wiki/packages/callmonitor/actions/wol.rst index cc897e2..f0c1f0a 100644 --- a/wiki/packages/callmonitor/actions/wol.rst +++ b/wiki/packages/callmonitor/actions/wol.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/wol -================================ .. _WakeonLAN: Wake on LAN diff --git a/wiki/packages/callmonitor/actions/xbox.rst b/wiki/packages/callmonitor/actions/xbox.rst index 1cbf181..9b019f2 100644 --- a/wiki/packages/callmonitor/actions/xbox.rst +++ b/wiki/packages/callmonitor/actions/xbox.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/xbox -================================= .. _XBox: XBox diff --git a/wiki/packages/callmonitor/actions/yac.rst b/wiki/packages/callmonitor/actions/yac.rst index 850d7be..430365f 100644 --- a/wiki/packages/callmonitor/actions/yac.rst +++ b/wiki/packages/callmonitor/actions/yac.rst @@ -1,5 +1,3 @@ -packages/callmonitor/actions/yac -================================ .. _YAC: YAC diff --git a/wiki/packages/callmonitor/adapt_messages.rst b/wiki/packages/callmonitor/adapt_messages.rst index d1cc458..27df57e 100644 --- a/wiki/packages/callmonitor/adapt_messages.rst +++ b/wiki/packages/callmonitor/adapt_messages.rst @@ -1,5 +1,3 @@ -packages/callmonitor/adapt_messages -=================================== .. _AnpassenderBenachrichtigungstexte: Anpassen der Benachrichtigungstexte diff --git a/wiki/packages/callmonitor/config.rst b/wiki/packages/callmonitor/config.rst index 2b3bc7a..fae1093 100644 --- a/wiki/packages/callmonitor/config.rst +++ b/wiki/packages/callmonitor/config.rst @@ -1,5 +1,3 @@ -packages/callmonitor/config -=========================== .. _Konfiguration: Konfiguration diff --git a/wiki/packages/callmonitor/events.rst b/wiki/packages/callmonitor/events.rst index 253add5..8eba8da 100644 --- a/wiki/packages/callmonitor/events.rst +++ b/wiki/packages/callmonitor/events.rst @@ -1,5 +1,3 @@ -packages/callmonitor/events -=========================== .. _Ereignisse: Ereignisse diff --git a/wiki/packages/callmonitor/faq.rst b/wiki/packages/callmonitor/faq.rst index 3c4437b..f48ed86 100644 --- a/wiki/packages/callmonitor/faq.rst +++ b/wiki/packages/callmonitor/faq.rst @@ -1,5 +1,3 @@ -packages/callmonitor/faq -======================== .. _Callmonitor-FAQ: Callmonitor-FAQ diff --git a/wiki/packages/callmonitor/listeners.rst b/wiki/packages/callmonitor/listeners.rst index bf76d1a..2709552 100644 --- a/wiki/packages/callmonitor/listeners.rst +++ b/wiki/packages/callmonitor/listeners.rst @@ -1,5 +1,3 @@ -packages/callmonitor/listeners -============================== .. _RegelnListeners: Regeln (Listeners) diff --git a/wiki/packages/callmonitor/maintenance.rst b/wiki/packages/callmonitor/maintenance.rst index 038a584..108b3e9 100644 --- a/wiki/packages/callmonitor/maintenance.rst +++ b/wiki/packages/callmonitor/maintenance.rst @@ -1,5 +1,3 @@ -packages/callmonitor/maintenance -================================ .. _Wartung: Wartung diff --git a/wiki/packages/callmonitor/phonebook.rst b/wiki/packages/callmonitor/phonebook.rst index fc3ef48..bf3ffd8 100644 --- a/wiki/packages/callmonitor/phonebook.rst +++ b/wiki/packages/callmonitor/phonebook.rst @@ -1,5 +1,3 @@ -packages/callmonitor/phonebook -============================== .. _TelefonbuchCallers: Telefonbuch (Callers) diff --git a/wiki/packages/callmonitor/reverse_search.rst b/wiki/packages/callmonitor/reverse_search.rst index a1ffc37..fa694f6 100644 --- a/wiki/packages/callmonitor/reverse_search.rst +++ b/wiki/packages/callmonitor/reverse_search.rst @@ -1,5 +1,3 @@ -packages/callmonitor/reverse_search -=================================== .. _Rückwärtssuche: Rückwärtssuche diff --git a/wiki/packages/callmonitor/testcall.rst b/wiki/packages/callmonitor/testcall.rst index b1a39be..d2089f8 100644 --- a/wiki/packages/callmonitor/testcall.rst +++ b/wiki/packages/callmonitor/testcall.rst @@ -1,5 +1,3 @@ -packages/callmonitor/testcall -============================= .. _Testanruf: Testanruf diff --git a/wiki/packages/checkmaild.rst b/wiki/packages/checkmaild.rst index f1072cf..2d7c5d9 100644 --- a/wiki/packages/checkmaild.rst +++ b/wiki/packages/checkmaild.rst @@ -1,5 +1,3 @@ -packages/checkmaild -=================== .. _checkmaild0.4.7: checkmaild 0.4.7 diff --git a/wiki/packages/cifsmount.rst b/wiki/packages/cifsmount.rst index 0e12967..c9f67f2 100644 --- a/wiki/packages/cifsmount.rst +++ b/wiki/packages/cifsmount.rst @@ -1,5 +1,3 @@ -packages/cifsmount -================== cifsmount ========= diff --git a/wiki/packages/cpmaccfg.rst b/wiki/packages/cpmaccfg.rst index 41c71bc..413dc64 100644 --- a/wiki/packages/cpmaccfg.rst +++ b/wiki/packages/cpmaccfg.rst @@ -1,5 +1,3 @@ -packages/cpmaccfg -================= cpmaccfg ======== diff --git a/wiki/packages/ctorrent.rst b/wiki/packages/ctorrent.rst index a953ddb..2092585 100644 --- a/wiki/packages/ctorrent.rst +++ b/wiki/packages/ctorrent.rst @@ -1,5 +1,3 @@ -packages/ctorrent -================= .. _CTorrent: CTorrent diff --git a/wiki/packages/curl.rst b/wiki/packages/curl.rst index f515600..8840e68 100644 --- a/wiki/packages/curl.rst +++ b/wiki/packages/curl.rst @@ -1,5 +1,3 @@ -packages/curl -============= .. _cURL: cURL diff --git a/wiki/packages/davfs2.rst b/wiki/packages/davfs2.rst index f372c26..7ae3bc3 100644 --- a/wiki/packages/davfs2.rst +++ b/wiki/packages/davfs2.rst @@ -1,5 +1,3 @@ -packages/davfs2 -=============== .. figure:: /screenshots/62.jpg :alt: WebDAV: Konfiguration diff --git a/wiki/packages/debootstrap.rst b/wiki/packages/debootstrap.rst index b2de8fd..b5f7bb5 100644 --- a/wiki/packages/debootstrap.rst +++ b/wiki/packages/debootstrap.rst @@ -1,5 +1,3 @@ -packages/debootstrap -==================== .. _Debootstrap: Debootstrap diff --git a/wiki/packages/deco.rst b/wiki/packages/deco.rst index 956b70c..86ff023 100644 --- a/wiki/packages/deco.rst +++ b/wiki/packages/deco.rst @@ -1,5 +1,3 @@ -packages/deco -============= .. _DemosCommander: Demos Commander diff --git a/wiki/packages/digitemp.rst b/wiki/packages/digitemp.rst index 603d82b..af5c65a 100644 --- a/wiki/packages/digitemp.rst +++ b/wiki/packages/digitemp.rst @@ -1,5 +1,3 @@ -packages/digitemp -================= .. _Wasistdigitemp: **Was ist digitemp?** diff --git a/wiki/packages/dns2tcp.rst b/wiki/packages/dns2tcp.rst index 5650b07..14fa575 100644 --- a/wiki/packages/dns2tcp.rst +++ b/wiki/packages/dns2tcp.rst @@ -1,5 +1,3 @@ -packages/dns2tcp -================ .. _Dns2Tcp: Dns2Tcp diff --git a/wiki/packages/dnsd.en.rst b/wiki/packages/dnsd.en.rst index 86594ee..6dbcf2b 100644 --- a/wiki/packages/dnsd.en.rst +++ b/wiki/packages/dnsd.en.rst @@ -1,5 +1,3 @@ -packages/dnsd.en -================ dnsd ==== diff --git a/wiki/packages/dnsd.rst b/wiki/packages/dnsd.rst index 2082fdf..8be5358 100644 --- a/wiki/packages/dnsd.rst +++ b/wiki/packages/dnsd.rst @@ -1,5 +1,3 @@ -packages/dnsd -============= dnsd ==== diff --git a/wiki/packages/dnsmasq.rst b/wiki/packages/dnsmasq.rst index 07f6716..730df7e 100644 --- a/wiki/packages/dnsmasq.rst +++ b/wiki/packages/dnsmasq.rst @@ -1,5 +1,3 @@ -packages/dnsmasq -================ dnsmasq ======= diff --git a/wiki/packages/downloader.rst b/wiki/packages/downloader.rst index 998659c..c6eb156 100644 --- a/wiki/packages/downloader.rst +++ b/wiki/packages/downloader.rst @@ -1,5 +1,3 @@ -packages/downloader -=================== .. _Downloader-CGI: Downloader-CGI diff --git a/wiki/packages/dropbear.en.rst b/wiki/packages/dropbear.en.rst index d9ee682..47ba462 100644 --- a/wiki/packages/dropbear.en.rst +++ b/wiki/packages/dropbear.en.rst @@ -1,5 +1,3 @@ -packages/dropbear.en -==================== .. _Dropbear: Dropbear diff --git a/wiki/packages/dropbear.rst b/wiki/packages/dropbear.rst index 645b061..a2650a4 100644 --- a/wiki/packages/dropbear.rst +++ b/wiki/packages/dropbear.rst @@ -1,5 +1,3 @@ -packages/dropbear -================= .. _Dropbear: Dropbear diff --git a/wiki/packages/dtach.rst b/wiki/packages/dtach.rst index 6ac22f9..6f127cb 100644 --- a/wiki/packages/dtach.rst +++ b/wiki/packages/dtach.rst @@ -1,5 +1,3 @@ -packages/dtach -============== dtach ===== diff --git a/wiki/packages/dtmfbox.rst b/wiki/packages/dtmfbox.rst index d047b81..2aa95d2 100644 --- a/wiki/packages/dtmfbox.rst +++ b/wiki/packages/dtmfbox.rst @@ -1,5 +1,3 @@ -packages/dtmfbox -================ .. _DTMFBox: DTMFBox diff --git a/wiki/packages/e2fsprogs.rst b/wiki/packages/e2fsprogs.rst index ed39eb1..afb6250 100644 --- a/wiki/packages/e2fsprogs.rst +++ b/wiki/packages/e2fsprogs.rst @@ -1,5 +1,3 @@ -packages/e2fsprogs -================== e2fsprogs ========= diff --git a/wiki/packages/emailrelay.rst b/wiki/packages/emailrelay.rst index 8ab67e3..8262c03 100644 --- a/wiki/packages/emailrelay.rst +++ b/wiki/packages/emailrelay.rst @@ -1,5 +1,3 @@ -packages/emailrelay -=================== .. _E-MailRelay: E-MailRelay diff --git a/wiki/packages/empty.rst b/wiki/packages/empty.rst index 5bafee0..cef9d63 100644 --- a/wiki/packages/empty.rst +++ b/wiki/packages/empty.rst @@ -1,5 +1,3 @@ -packages/empty -============== .. _Empty: Empty diff --git a/wiki/packages/espeak.rst b/wiki/packages/espeak.rst index 3a37bd4..fb0d261 100644 --- a/wiki/packages/espeak.rst +++ b/wiki/packages/espeak.rst @@ -1,5 +1,3 @@ -packages/espeak -=============== .. _eSpeak: eSpeak diff --git a/wiki/packages/fhem.rst b/wiki/packages/fhem.rst index b529f1f..619b648 100644 --- a/wiki/packages/fhem.rst +++ b/wiki/packages/fhem.rst @@ -1,5 +1,3 @@ -packages/fhem -============= .. _FHEM: FHEM diff --git a/wiki/packages/fhzctrl.rst b/wiki/packages/fhzctrl.rst index 23e7fb3..b362c41 100644 --- a/wiki/packages/fhzctrl.rst +++ b/wiki/packages/fhzctrl.rst @@ -1,5 +1,3 @@ -packages/fhzctrl -================ fhzctrl ======= diff --git a/wiki/packages/fortune.rst b/wiki/packages/fortune.rst index cc700e1..17f2158 100644 --- a/wiki/packages/fortune.rst +++ b/wiki/packages/fortune.rst @@ -1,5 +1,3 @@ -packages/fortune -================ fortune ======= diff --git a/wiki/packages/fritzload.rst b/wiki/packages/fritzload.rst index 747843a..b835a93 100644 --- a/wiki/packages/fritzload.rst +++ b/wiki/packages/fritzload.rst @@ -1,5 +1,3 @@ -packages/fritzload -================== .. _FritzLoad: FritzLoad diff --git a/wiki/packages/fstyp.rst b/wiki/packages/fstyp.rst index e787feb..3c3e2e7 100644 --- a/wiki/packages/fstyp.rst +++ b/wiki/packages/fstyp.rst @@ -1,5 +1,3 @@ -packages/fstyp -============== fstyp ===== diff --git a/wiki/packages/fuse.rst b/wiki/packages/fuse.rst index 3aaca36..de9ad2e 100644 --- a/wiki/packages/fuse.rst +++ b/wiki/packages/fuse.rst @@ -1,5 +1,3 @@ -packages/fuse -============= .. _FUSE: FUSE diff --git a/wiki/packages/gw6.rst b/wiki/packages/gw6.rst index 3e09068..9502fc0 100644 --- a/wiki/packages/gw6.rst +++ b/wiki/packages/gw6.rst @@ -1,5 +1,3 @@ -packages/gw6 -============ gw6 === diff --git a/wiki/packages/haserl.rst b/wiki/packages/haserl.rst index 62717d7..3f2566b 100644 --- a/wiki/packages/haserl.rst +++ b/wiki/packages/haserl.rst @@ -1,5 +1,3 @@ -packages/haserl -=============== .. _Haserl: Haserl diff --git a/wiki/packages/hd-idle.rst b/wiki/packages/hd-idle.rst index 468af9e..062941e 100644 --- a/wiki/packages/hd-idle.rst +++ b/wiki/packages/hd-idle.rst @@ -1,5 +1,3 @@ -packages/hd-idle -================ hd-idle ======= diff --git a/wiki/packages/hiawatha.rst b/wiki/packages/hiawatha.rst index d234844..2a8e1fc 100644 --- a/wiki/packages/hiawatha.rst +++ b/wiki/packages/hiawatha.rst @@ -1,5 +1,3 @@ -packages/hiawatha -================= hiawatha ======== diff --git a/wiki/packages/hol.rst b/wiki/packages/hol.rst index 0ad5f6a..f1619b7 100644 --- a/wiki/packages/hol.rst +++ b/wiki/packages/hol.rst @@ -1,5 +1,3 @@ -packages/hol -============ | Halt-on-Lan ist ein Paket zum Steuern vom Rechner im lokalen Netz von der FritzBox heraus. Es basiert auf `​poweroff.exe <http://users.telenet.be/jbosman/poweroff/poweroff.htm>`__ diff --git a/wiki/packages/hp-utils.rst b/wiki/packages/hp-utils.rst index 67330cb..7c84f30 100644 --- a/wiki/packages/hp-utils.rst +++ b/wiki/packages/hp-utils.rst @@ -1,5 +1,3 @@ -packages/hp-utils -================= hp-utils ======== diff --git a/wiki/packages/hplip.rst b/wiki/packages/hplip.rst index babb70c..4f6ff3e 100644 --- a/wiki/packages/hplip.rst +++ b/wiki/packages/hplip.rst @@ -1,5 +1,3 @@ -packages/hplip -============== .. _HPLIP: HPLIP diff --git a/wiki/packages/htpdate.rst b/wiki/packages/htpdate.rst index e46c38d..e1cf979 100644 --- a/wiki/packages/htpdate.rst +++ b/wiki/packages/htpdate.rst @@ -1,5 +1,3 @@ -packages/htpdate -================ htpdate ======= diff --git a/wiki/packages/httptunnel.rst b/wiki/packages/httptunnel.rst index b4a7bc3..b413438 100644 --- a/wiki/packages/httptunnel.rst +++ b/wiki/packages/httptunnel.rst @@ -1,5 +1,3 @@ -packages/httptunnel -=================== httptunnel ========== diff --git a/wiki/packages/igmpproxy.rst b/wiki/packages/igmpproxy.rst index 1acdbc5..abe3c16 100644 --- a/wiki/packages/igmpproxy.rst +++ b/wiki/packages/igmpproxy.rst @@ -1,5 +1,3 @@ -packages/igmpproxy -================== igmpproxy ========= diff --git a/wiki/packages/imapproxy.en.rst b/wiki/packages/imapproxy.en.rst index acddf8f..3b558b8 100644 --- a/wiki/packages/imapproxy.en.rst +++ b/wiki/packages/imapproxy.en.rst @@ -1,5 +1,3 @@ -packages/imapproxy.en -===================== .. _ImapProxy: ImapProxy diff --git a/wiki/packages/inadyn-mt.en.rst b/wiki/packages/inadyn-mt.en.rst index 022be7c..dfc8fc5 100644 --- a/wiki/packages/inadyn-mt.en.rst +++ b/wiki/packages/inadyn-mt.en.rst @@ -1,5 +1,3 @@ -packages/inadyn-mt.en -===================== .. _Inadyn: Inadyn diff --git a/wiki/packages/inadyn-mt.rst b/wiki/packages/inadyn-mt.rst index e7455ee..5af2d61 100644 --- a/wiki/packages/inadyn-mt.rst +++ b/wiki/packages/inadyn-mt.rst @@ -1,5 +1,3 @@ -packages/inadyn-mt -================== .. _Inadyn-MT: Inadyn-MT diff --git a/wiki/packages/inetd.rst b/wiki/packages/inetd.rst index 127b678..bd5f660 100644 --- a/wiki/packages/inetd.rst +++ b/wiki/packages/inetd.rst @@ -1,5 +1,3 @@ -packages/inetd -============== inetd ===== diff --git a/wiki/packages/inotify-tools.rst b/wiki/packages/inotify-tools.rst index d574fe0..fa6083a 100644 --- a/wiki/packages/inotify-tools.rst +++ b/wiki/packages/inotify-tools.rst @@ -1,5 +1,3 @@ -packages/inotify-tools -====================== .. _Inotify-Tools: Inotify-Tools diff --git a/wiki/packages/iodine.rst b/wiki/packages/iodine.rst index c693420..2773de5 100644 --- a/wiki/packages/iodine.rst +++ b/wiki/packages/iodine.rst @@ -1,5 +1,3 @@ -packages/iodine -=============== iodine ====== diff --git a/wiki/packages/iptables-cgi.rst b/wiki/packages/iptables-cgi.rst index 10bd4ad..0021237 100644 --- a/wiki/packages/iptables-cgi.rst +++ b/wiki/packages/iptables-cgi.rst @@ -1,5 +1,3 @@ -packages/iptables-cgi -===================== iptables-cgi ============ diff --git a/wiki/packages/iptables.en.rst b/wiki/packages/iptables.en.rst index 67b113e..318e6c3 100644 --- a/wiki/packages/iptables.en.rst +++ b/wiki/packages/iptables.en.rst @@ -1,5 +1,3 @@ -packages/iptables.en -==================== iptables ======== diff --git a/wiki/packages/iptables.rst b/wiki/packages/iptables.rst index 41fe39b..e1238d5 100644 --- a/wiki/packages/iptables.rst +++ b/wiki/packages/iptables.rst @@ -1,5 +1,3 @@ -packages/iptables -================= iptables ======== diff --git a/wiki/packages/irssi.rst b/wiki/packages/irssi.rst index 8b0a1f4..d9f6bc6 100644 --- a/wiki/packages/irssi.rst +++ b/wiki/packages/irssi.rst @@ -1,5 +1,3 @@ -packages/irssi -============== irssi ===== diff --git a/wiki/packages/jamvm.rst b/wiki/packages/jamvm.rst index e642220..38285b7 100644 --- a/wiki/packages/jamvm.rst +++ b/wiki/packages/jamvm.rst @@ -1,5 +1,3 @@ -packages/jamvm -============== .. _JamVM: JamVM diff --git a/wiki/packages/knock.rst b/wiki/packages/knock.rst index ecfb04b..cffd6af 100644 --- a/wiki/packages/knock.rst +++ b/wiki/packages/knock.rst @@ -1,5 +1,3 @@ -packages/knock -============== knockd ====== diff --git a/wiki/packages/ldd.rst b/wiki/packages/ldd.rst index e16ef7c..36d001e 100644 --- a/wiki/packages/ldd.rst +++ b/wiki/packages/ldd.rst @@ -1,5 +1,3 @@ -packages/ldd -============ ldd === diff --git a/wiki/packages/lighttpd.rst b/wiki/packages/lighttpd.rst index ea5d781..90acd36 100644 --- a/wiki/packages/lighttpd.rst +++ b/wiki/packages/lighttpd.rst @@ -1,5 +1,3 @@ -packages/lighttpd -================= .. _lighttpdWebserver: lighttpd Webserver diff --git a/wiki/packages/lsof.rst b/wiki/packages/lsof.rst index 8e68a48..7eb9d4d 100644 --- a/wiki/packages/lsof.rst +++ b/wiki/packages/lsof.rst @@ -1,5 +1,3 @@ -packages/lsof -============= lsof ==== diff --git a/wiki/packages/ltrace.rst b/wiki/packages/ltrace.rst index 57b87cb..b8ade4b 100644 --- a/wiki/packages/ltrace.rst +++ b/wiki/packages/ltrace.rst @@ -1,5 +1,3 @@ -packages/ltrace -=============== ltrace ====== diff --git a/wiki/packages/lua.rst b/wiki/packages/lua.rst index 90654cb..b4806eb 100644 --- a/wiki/packages/lua.rst +++ b/wiki/packages/lua.rst @@ -1,5 +1,3 @@ -packages/lua -============ .. _Lua: Lua diff --git a/wiki/packages/lynx.rst b/wiki/packages/lynx.rst index 37d7914..b9ede46 100644 --- a/wiki/packages/lynx.rst +++ b/wiki/packages/lynx.rst @@ -1,5 +1,3 @@ -packages/lynx -============= .. _Lynx: Lynx diff --git a/wiki/packages/m-i-t.rst b/wiki/packages/m-i-t.rst index 81021f9..9041b1c 100644 --- a/wiki/packages/m-i-t.rst +++ b/wiki/packages/m-i-t.rst @@ -1,5 +1,3 @@ -packages/m-i-t -============== module-init-tools ================= diff --git a/wiki/packages/madplay.rst b/wiki/packages/madplay.rst index 4dfee3b..ee123f9 100644 --- a/wiki/packages/madplay.rst +++ b/wiki/packages/madplay.rst @@ -1,5 +1,3 @@ -packages/madplay -================ madplay ======= diff --git a/wiki/packages/matrixtunnel.rst b/wiki/packages/matrixtunnel.rst index e3ad948..b4966f0 100644 --- a/wiki/packages/matrixtunnel.rst +++ b/wiki/packages/matrixtunnel.rst @@ -1,5 +1,3 @@ -packages/matrixtunnel -===================== matrixtunnel ============ diff --git a/wiki/packages/mc.rst b/wiki/packages/mc.rst index 28f8b09..95e7d30 100644 --- a/wiki/packages/mc.rst +++ b/wiki/packages/mc.rst @@ -1,5 +1,3 @@ -packages/mc -=========== *TODO: Verschiedene Menüoptionen beschreiben, insbesondere Subshell-Support mit Bash …* diff --git a/wiki/packages/mcabber.rst b/wiki/packages/mcabber.rst index 0473a43..d1bd61f 100644 --- a/wiki/packages/mcabber.rst +++ b/wiki/packages/mcabber.rst @@ -1,5 +1,3 @@ -packages/mcabber -================ mcabber ======= diff --git a/wiki/packages/mediaserver.rst b/wiki/packages/mediaserver.rst index e0a876e..5b07fa8 100644 --- a/wiki/packages/mediaserver.rst +++ b/wiki/packages/mediaserver.rst @@ -1,5 +1,3 @@ -packages/mediaserver -==================== **This package was removed in**\ `r1823 </changeset/1823>`__\ **!** .. _Mediaserver: diff --git a/wiki/packages/mediatomb.rst b/wiki/packages/mediatomb.rst index 4cf5de5..a947d92 100644 --- a/wiki/packages/mediatomb.rst +++ b/wiki/packages/mediatomb.rst @@ -1,5 +1,3 @@ -packages/mediatomb -================== .. _MediaTomb: MediaTomb diff --git a/wiki/packages/microperl.rst b/wiki/packages/microperl.rst index 0599258..824a9c0 100644 --- a/wiki/packages/microperl.rst +++ b/wiki/packages/microperl.rst @@ -1,5 +1,3 @@ -packages/microperl -================== microperl ========= diff --git a/wiki/packages/mini_fo.rst b/wiki/packages/mini_fo.rst index aaa09e4..793320a 100644 --- a/wiki/packages/mini_fo.rst +++ b/wiki/packages/mini_fo.rst @@ -1,5 +1,3 @@ -packages/mini_fo -================ mini_fo ======= diff --git a/wiki/packages/minidlna.rst b/wiki/packages/minidlna.rst index 2a6a29e..864d0c9 100644 --- a/wiki/packages/minidlna.rst +++ b/wiki/packages/minidlna.rst @@ -1,5 +1,3 @@ -packages/minidlna -================= .. _MiniDLNA: MiniDLNA diff --git a/wiki/packages/mod.rst b/wiki/packages/mod.rst index 4759d58..f5bee1f 100644 --- a/wiki/packages/mod.rst +++ b/wiki/packages/mod.rst @@ -1,5 +1,3 @@ -packages/mod -============ .. _Freetz-MOD: (Freetz-) MOD diff --git a/wiki/packages/mtr.rst b/wiki/packages/mtr.rst index d7ab2f4..84fdb05 100644 --- a/wiki/packages/mtr.rst +++ b/wiki/packages/mtr.rst @@ -1,5 +1,3 @@ -packages/mtr -============ mtr === diff --git a/wiki/packages/nagios.rst b/wiki/packages/nagios.rst index e01f8ca..905b5db 100644 --- a/wiki/packages/nagios.rst +++ b/wiki/packages/nagios.rst @@ -1,5 +1,3 @@ -packages/nagios -=============== .. _Nagios: Nagios diff --git a/wiki/packages/nano-shell.rst b/wiki/packages/nano-shell.rst index 1519788..2fecf48 100644 --- a/wiki/packages/nano-shell.rst +++ b/wiki/packages/nano-shell.rst @@ -1,5 +1,3 @@ -packages/nano-shell -=================== .. _Nano-Shell: Nano-Shell diff --git a/wiki/packages/nano.rst b/wiki/packages/nano.rst index c8d2a7e..daab330 100644 --- a/wiki/packages/nano.rst +++ b/wiki/packages/nano.rst @@ -1,5 +1,3 @@ -packages/nano -============= nano ==== diff --git a/wiki/packages/ncftp.rst b/wiki/packages/ncftp.rst index f631f36..a221257 100644 --- a/wiki/packages/ncftp.rst +++ b/wiki/packages/ncftp.rst @@ -1,5 +1,3 @@ -packages/ncftp -============== ncftp ===== diff --git a/wiki/packages/ndas.en.rst b/wiki/packages/ndas.en.rst index 3980106..1845e1f 100644 --- a/wiki/packages/ndas.en.rst +++ b/wiki/packages/ndas.en.rst @@ -1,5 +1,3 @@ -packages/ndas.en -================ .. _NDAS: NDAS diff --git a/wiki/packages/ndas.rst b/wiki/packages/ndas.rst index 7822cfd..391a109 100644 --- a/wiki/packages/ndas.rst +++ b/wiki/packages/ndas.rst @@ -1,5 +1,3 @@ -packages/ndas -============= Network Direct Attached Storage (NDAS) ist ein proprietäres System zur Anbindung externer Speichermedien wie Festplatten, Flash-Speicher oder Bandlaufwerke an ein Netzwerk. Die Patente für NDAS hält die diff --git a/wiki/packages/netatalk.rst b/wiki/packages/netatalk.rst index b45c21e..694232a 100644 --- a/wiki/packages/netatalk.rst +++ b/wiki/packages/netatalk.rst @@ -1,5 +1,3 @@ -packages/netatalk -================= Noch keine Beschreibung. Bitte Konfigurationshinweise und weiterführende Links auf der `​Seite <https://github.com/svoop/freetz-netatalk>`__ des freetz-Paket-Entwicklers beachten. diff --git a/wiki/packages/netcat.rst b/wiki/packages/netcat.rst index 8f80947..7fa7fbb 100644 --- a/wiki/packages/netcat.rst +++ b/wiki/packages/netcat.rst @@ -1,5 +1,3 @@ -packages/netcat -=============== netcat ====== diff --git a/wiki/packages/netsnmp.en.rst b/wiki/packages/netsnmp.en.rst index 00abc27..ab79c10 100644 --- a/wiki/packages/netsnmp.en.rst +++ b/wiki/packages/netsnmp.en.rst @@ -1,5 +1,3 @@ -packages/netsnmp.en -=================== .. _Net-SNMP: Net-SNMP diff --git a/wiki/packages/netsnmp.rst b/wiki/packages/netsnmp.rst index 528adac..8c1cbbc 100644 --- a/wiki/packages/netsnmp.rst +++ b/wiki/packages/netsnmp.rst @@ -1,5 +1,3 @@ -packages/netsnmp -================ .. _Net-SNMP: Net-SNMP diff --git a/wiki/packages/netsnmp/mrtg.en.rst b/wiki/packages/netsnmp/mrtg.en.rst index 64f9208..07381f4 100644 --- a/wiki/packages/netsnmp/mrtg.en.rst +++ b/wiki/packages/netsnmp/mrtg.en.rst @@ -1,5 +1,3 @@ -packages/netsnmp/mrtg.en -======================== .. _MRTG: MRTG diff --git a/wiki/packages/nfs-utils.rst b/wiki/packages/nfs-utils.rst index 07b5a57..666628c 100644 --- a/wiki/packages/nfs-utils.rst +++ b/wiki/packages/nfs-utils.rst @@ -1,5 +1,3 @@ -packages/nfs-utils -================== .. _NFS-UtilsNFS-Server: NFS-Utils / NFS-Server diff --git a/wiki/packages/nfs.rst b/wiki/packages/nfs.rst index e60a0b9..e19ba81 100644 --- a/wiki/packages/nfs.rst +++ b/wiki/packages/nfs.rst @@ -1,5 +1,3 @@ -packages/nfs -============ .. _NFS: NFS diff --git a/wiki/packages/nfsd.en.rst b/wiki/packages/nfsd.en.rst index 32a6a62..314f573 100644 --- a/wiki/packages/nfsd.en.rst +++ b/wiki/packages/nfsd.en.rst @@ -1,5 +1,3 @@ -packages/nfsd.en -================ .. _NFSD_CGI: NFSD_CGI diff --git a/wiki/packages/nfsd.rst b/wiki/packages/nfsd.rst index c3cb2c6..fed8e3c 100644 --- a/wiki/packages/nfsd.rst +++ b/wiki/packages/nfsd.rst @@ -1,5 +1,3 @@ -packages/nfsd -============= *TODO: Hinweise aus Forums Thread reinkopieren?* .. _NFSD_CGI: diff --git a/wiki/packages/nhipt.en.rst b/wiki/packages/nhipt.en.rst index 546ff87..db8937f 100644 --- a/wiki/packages/nhipt.en.rst +++ b/wiki/packages/nhipt.en.rst @@ -1,5 +1,3 @@ -packages/nhipt.en -================= .. _NHIPT-iptablesfirewallGUI: NHIPT - iptables firewall GUI diff --git a/wiki/packages/nhipt.rst b/wiki/packages/nhipt.rst index e999631..28e17aa 100644 --- a/wiki/packages/nhipt.rst +++ b/wiki/packages/nhipt.rst @@ -1,5 +1,3 @@ -packages/nhipt -============== .. _NHIPT-iptablesfirewallGUI: NHIPT - iptables firewall GUI diff --git a/wiki/packages/nmap.rst b/wiki/packages/nmap.rst index 33a677a..0e2ccf9 100644 --- a/wiki/packages/nmap.rst +++ b/wiki/packages/nmap.rst @@ -1,5 +1,3 @@ -packages/nmap -============= .. _Nmap: Nmap diff --git a/wiki/packages/ntfs-3g.rst b/wiki/packages/ntfs-3g.rst index b110db3..d045599 100644 --- a/wiki/packages/ntfs-3g.rst +++ b/wiki/packages/ntfs-3g.rst @@ -1,5 +1,3 @@ -packages/ntfs-3g -================ .. _NTFS-3G: NTFS-3G diff --git a/wiki/packages/obexftp.rst b/wiki/packages/obexftp.rst index 57640d6..f737f47 100644 --- a/wiki/packages/obexftp.rst +++ b/wiki/packages/obexftp.rst @@ -1,5 +1,3 @@ -packages/obexftp -================ .. _ObexFTP: ObexFTP diff --git a/wiki/packages/onlinechanged.rst b/wiki/packages/onlinechanged.rst index 1a3fbc7..1b64bb0 100644 --- a/wiki/packages/onlinechanged.rst +++ b/wiki/packages/onlinechanged.rst @@ -1,5 +1,3 @@ -packages/onlinechanged -====================== .. _Onlinechanged: Onlinechanged diff --git a/wiki/packages/onlinechanged_cgi.rst b/wiki/packages/onlinechanged_cgi.rst index 599f9df..aa397b2 100644 --- a/wiki/packages/onlinechanged_cgi.rst +++ b/wiki/packages/onlinechanged_cgi.rst @@ -1,5 +1,3 @@ -packages/onlinechanged_cgi -========================== .. _Onlinechanged-CGI: Onlinechanged-CGI diff --git a/wiki/packages/opendd.rst b/wiki/packages/opendd.rst index f7d89d9..9c45bff 100644 --- a/wiki/packages/opendd.rst +++ b/wiki/packages/opendd.rst @@ -1,5 +1,3 @@ -packages/opendd -=============== .. _OpenDD: OpenDD diff --git a/wiki/packages/openntpd.rst b/wiki/packages/openntpd.rst index 92d0c2f..8f5240b 100644 --- a/wiki/packages/openntpd.rst +++ b/wiki/packages/openntpd.rst @@ -1,5 +1,3 @@ -packages/openntpd -================= .. _OpenNTPD: OpenNTPD diff --git a/wiki/packages/openvpn.rst b/wiki/packages/openvpn.rst index b9a3f99..2f80ef9 100644 --- a/wiki/packages/openvpn.rst +++ b/wiki/packages/openvpn.rst @@ -1,5 +1,3 @@ -packages/openvpn -================ .. _OpenVPNfreetzPackage: OpenVPN freetz Package diff --git a/wiki/packages/owfs.rst b/wiki/packages/owfs.rst index 9690e8a..440e358 100644 --- a/wiki/packages/owfs.rst +++ b/wiki/packages/owfs.rst @@ -1,5 +1,3 @@ -packages/owfs -============= owfs ==== diff --git a/wiki/packages/pciutils.rst b/wiki/packages/pciutils.rst index 77f65fc..cd9cb64 100644 --- a/wiki/packages/pciutils.rst +++ b/wiki/packages/pciutils.rst @@ -1,5 +1,3 @@ -packages/pciutils -================= pciutils ======== diff --git a/wiki/packages/php.rst b/wiki/packages/php.rst index 5d8ab0d..468de90 100644 --- a/wiki/packages/php.rst +++ b/wiki/packages/php.rst @@ -1,5 +1,3 @@ -packages/php -============ .. _PHP: PHP diff --git a/wiki/packages/phpxmail.en.rst b/wiki/packages/phpxmail.en.rst index c685e00..46bbee8 100644 --- a/wiki/packages/phpxmail.en.rst +++ b/wiki/packages/phpxmail.en.rst @@ -1,5 +1,3 @@ -packages/phpxmail.en -==================== .. _Introduction: Introduction diff --git a/wiki/packages/phpxmail.rst b/wiki/packages/phpxmail.rst index 26b39fd..bf05208 100644 --- a/wiki/packages/phpxmail.rst +++ b/wiki/packages/phpxmail.rst @@ -1,5 +1,3 @@ -packages/phpxmail -================= - `Basic setup guide <phpxmail.en.html>`__ - `​XMail <http://www.xmailserver.org/>`__ - `​PHPXMail <http://phpxmail.sourceforge.net/>`__ diff --git a/wiki/packages/pingtunnel.rst b/wiki/packages/pingtunnel.rst index 6fa96f7..7b02546 100644 --- a/wiki/packages/pingtunnel.rst +++ b/wiki/packages/pingtunnel.rst @@ -1,5 +1,3 @@ -packages/pingtunnel -=================== pingtunnel ========== diff --git a/wiki/packages/polipo.en.rst b/wiki/packages/polipo.en.rst index 0bfa78f..d958b53 100644 --- a/wiki/packages/polipo.en.rst +++ b/wiki/packages/polipo.en.rst @@ -1,5 +1,3 @@ -packages/polipo.en -================== .. _UsingwithTor: Using with Tor diff --git a/wiki/packages/portmap.rst b/wiki/packages/portmap.rst index 0a0ea7c..915e5e5 100644 --- a/wiki/packages/portmap.rst +++ b/wiki/packages/portmap.rst @@ -1,5 +1,3 @@ -packages/portmap -================ portmap ======= diff --git a/wiki/packages/ppp.rst b/wiki/packages/ppp.rst index b241f86..14e6c3c 100644 --- a/wiki/packages/ppp.rst +++ b/wiki/packages/ppp.rst @@ -1,5 +1,3 @@ -packages/ppp -============ .. figure:: /screenshots/121.jpg :alt: ppp-cgi diff --git a/wiki/packages/pptp.rst b/wiki/packages/pptp.rst index 503f8f0..466d6b6 100644 --- a/wiki/packages/pptp.rst +++ b/wiki/packages/pptp.rst @@ -1,5 +1,3 @@ -packages/pptp -============= .. _PPTPClient: PPTP Client diff --git a/wiki/packages/pptpd.rst b/wiki/packages/pptpd.rst index 74b3128..bbbefdb 100644 --- a/wiki/packages/pptpd.rst +++ b/wiki/packages/pptpd.rst @@ -1,5 +1,3 @@ -packages/pptpd -============== .. _PoPTop-PPTP-VPN-Server: PoPTop - PPTP-VPN-Server diff --git a/wiki/packages/pptpd/config.rst b/wiki/packages/pptpd/config.rst index 17e537e..99c918d 100644 --- a/wiki/packages/pptpd/config.rst +++ b/wiki/packages/pptpd/config.rst @@ -1,5 +1,3 @@ -packages/pptpd/config -===================== .. _Konfiguration: Konfiguration diff --git a/wiki/packages/pptpd/install.rst b/wiki/packages/pptpd/install.rst index ee7bfdd..075e6b7 100644 --- a/wiki/packages/pptpd/install.rst +++ b/wiki/packages/pptpd/install.rst @@ -1,5 +1,3 @@ -packages/pptpd/install -====================== .. _Installation: Installation diff --git a/wiki/packages/pptpd/webif.rst b/wiki/packages/pptpd/webif.rst index 1b6c2c1..4391b90 100644 --- a/wiki/packages/pptpd/webif.rst +++ b/wiki/packages/pptpd/webif.rst @@ -1,5 +1,3 @@ -packages/pptpd/webif -==================== .. _DasWeb-FrontendzumPaket: Das Web-Frontend zum Paket diff --git a/wiki/packages/privoxy.rst b/wiki/packages/privoxy.rst index b52cf72..7bc073c 100644 --- a/wiki/packages/privoxy.rst +++ b/wiki/packages/privoxy.rst @@ -1,5 +1,3 @@ -packages/privoxy -================ .. _Privoxy: Privoxy diff --git a/wiki/packages/prosody.en.rst b/wiki/packages/prosody.en.rst index af485bd..75017ac 100644 --- a/wiki/packages/prosody.en.rst +++ b/wiki/packages/prosody.en.rst @@ -1,5 +1,3 @@ -packages/prosody.en -=================== .. _ProsodyIM: Prosody IM diff --git a/wiki/packages/prosody.rst b/wiki/packages/prosody.rst index cbe9ce3..63d17a5 100644 --- a/wiki/packages/prosody.rst +++ b/wiki/packages/prosody.rst @@ -1,5 +1,3 @@ -packages/prosody -================ .. _ProsodyIM: Prosody IM diff --git a/wiki/packages/quagga.rst b/wiki/packages/quagga.rst index 64ecb9f..4369607 100644 --- a/wiki/packages/quagga.rst +++ b/wiki/packages/quagga.rst @@ -1,5 +1,3 @@ -packages/quagga -=============== .. _Quagga: Quagga diff --git a/wiki/packages/radvd.en.rst b/wiki/packages/radvd.en.rst index c07bf37..60f4451 100644 --- a/wiki/packages/radvd.en.rst +++ b/wiki/packages/radvd.en.rst @@ -1,5 +1,3 @@ -packages/radvd.en -================= .. _RADVD: RADVD diff --git a/wiki/packages/radvd.rst b/wiki/packages/radvd.rst index bc29270..9475b06 100644 --- a/wiki/packages/radvd.rst +++ b/wiki/packages/radvd.rst @@ -1,5 +1,3 @@ -packages/radvd -============== .. _Radvd: Radvd diff --git a/wiki/packages/rrdstats.rst b/wiki/packages/rrdstats.rst index 1c0825f..486f253 100644 --- a/wiki/packages/rrdstats.rst +++ b/wiki/packages/rrdstats.rst @@ -1,5 +1,3 @@ -packages/rrdstats -================= .. _RRDstats: RRDstats diff --git a/wiki/packages/rrdtool.rst b/wiki/packages/rrdtool.rst index fb2ee01..fc19ac0 100644 --- a/wiki/packages/rrdtool.rst +++ b/wiki/packages/rrdtool.rst @@ -1,5 +1,3 @@ -packages/rrdtool -================ .. _RRDTool: RRDTool diff --git a/wiki/packages/ruby.rst b/wiki/packages/ruby.rst index f606a43..2f5e863 100644 --- a/wiki/packages/ruby.rst +++ b/wiki/packages/ruby.rst @@ -1,5 +1,3 @@ -packages/ruby -============= .. _Ruby: Ruby diff --git a/wiki/packages/rudi-shell.rst b/wiki/packages/rudi-shell.rst index 365709b..2abf331 100644 --- a/wiki/packages/rudi-shell.rst +++ b/wiki/packages/rudi-shell.rst @@ -1,5 +1,3 @@ -packages/rudi-shell -=================== .. _Rudi-Shell: Rudi-Shell diff --git a/wiki/packages/rudi-shell/functions.rst b/wiki/packages/rudi-shell/functions.rst index 892c521..4bbbf3e 100644 --- a/wiki/packages/rudi-shell/functions.rst +++ b/wiki/packages/rudi-shell/functions.rst @@ -1,5 +1,3 @@ -packages/rudi-shell/functions -============================= .. _Funktionsweise: Funktionsweise diff --git a/wiki/packages/rudi-shell/install.rst b/wiki/packages/rudi-shell/install.rst index 097ad2f..e56da62 100644 --- a/wiki/packages/rudi-shell/install.rst +++ b/wiki/packages/rudi-shell/install.rst @@ -1,5 +1,3 @@ -packages/rudi-shell/install -=========================== *Die Rudi-Shell ist fester Bestandteil von allen Freetz-Versionen. Diese Anleitung bezieht sich auf den Vorgänger DS-Mod.* diff --git a/wiki/packages/rudi-shell/limits.rst b/wiki/packages/rudi-shell/limits.rst index 1954c20..888aef2 100644 --- a/wiki/packages/rudi-shell/limits.rst +++ b/wiki/packages/rudi-shell/limits.rst @@ -1,5 +1,3 @@ -packages/rudi-shell/limits -========================== .. _GrenzenEinschränkungen: Grenzen & Einschränkungen diff --git a/wiki/packages/rudi-shell/tips.rst b/wiki/packages/rudi-shell/tips.rst index 10b5fe6..8656130 100644 --- a/wiki/packages/rudi-shell/tips.rst +++ b/wiki/packages/rudi-shell/tips.rst @@ -1,5 +1,3 @@ -packages/rudi-shell/tips -======================== .. _TipsTricks: Tips & Tricks diff --git a/wiki/packages/rudi-shell/usage.rst b/wiki/packages/rudi-shell/usage.rst index 0837954..6eddffc 100644 --- a/wiki/packages/rudi-shell/usage.rst +++ b/wiki/packages/rudi-shell/usage.rst @@ -1,5 +1,3 @@ -packages/rudi-shell/usage -========================= .. _IllustrierteAnwendungsfälle: Illustrierte Anwendungsfälle diff --git a/wiki/packages/s3fslite.rst b/wiki/packages/s3fslite.rst index e5db2de..cd051ef 100644 --- a/wiki/packages/s3fslite.rst +++ b/wiki/packages/s3fslite.rst @@ -1,5 +1,3 @@ -packages/s3fslite -================= s3fslite ======== diff --git a/wiki/packages/samba.rst b/wiki/packages/samba.rst index 041f3cd..736689e 100644 --- a/wiki/packages/samba.rst +++ b/wiki/packages/samba.rst @@ -1,5 +1,3 @@ -packages/samba -============== .. _Samba: Samba diff --git a/wiki/packages/sane-backends.rst b/wiki/packages/sane-backends.rst index eed8452..752071f 100644 --- a/wiki/packages/sane-backends.rst +++ b/wiki/packages/sane-backends.rst @@ -1,5 +1,3 @@ -packages/sane-backends -====================== .. _SANE: SANE diff --git a/wiki/packages/screen.rst b/wiki/packages/screen.rst index 0174d07..362f4f5 100644 --- a/wiki/packages/screen.rst +++ b/wiki/packages/screen.rst @@ -1,5 +1,3 @@ -packages/screen -=============== screen ====== diff --git a/wiki/packages/ser2net.rst b/wiki/packages/ser2net.rst index c2b38b7..666e393 100644 --- a/wiki/packages/ser2net.rst +++ b/wiki/packages/ser2net.rst @@ -1,5 +1,3 @@ -packages/ser2net -================ Homepage: `​http://ser2net.sourceforge.net/ <http://ser2net.sourceforge.net/>`__ diff --git a/wiki/packages/siproxd.rst b/wiki/packages/siproxd.rst index 9a14fb4..0fdc526 100644 --- a/wiki/packages/siproxd.rst +++ b/wiki/packages/siproxd.rst @@ -1,5 +1,3 @@ -packages/siproxd -================ `​Siproxd <http://siproxd.sourceforge.net/>`__ is a proxy/masquerading daemon for the SIP protocol. diff --git a/wiki/packages/sispmctl.rst b/wiki/packages/sispmctl.rst index ea6392d..617e7a0 100644 --- a/wiki/packages/sispmctl.rst +++ b/wiki/packages/sispmctl.rst @@ -1,5 +1,3 @@ -packages/sispmctl -================= sispmctl ======== diff --git a/wiki/packages/smartmontools.rst b/wiki/packages/smartmontools.rst index 4741ed9..1068917 100644 --- a/wiki/packages/smartmontools.rst +++ b/wiki/packages/smartmontools.rst @@ -1,5 +1,3 @@ -packages/smartmontools -====================== .. _Smartmontoolssmartctl: Smartmontools (smartctl) diff --git a/wiki/packages/smstools3.rst b/wiki/packages/smstools3.rst index df9a67c..b06dc6f 100644 --- a/wiki/packages/smstools3.rst +++ b/wiki/packages/smstools3.rst @@ -1,5 +1,3 @@ -packages/smstools3 -================== .. _SMStools3: SMStools3 diff --git a/wiki/packages/socat.rst b/wiki/packages/socat.rst index 4836c00..0c62188 100644 --- a/wiki/packages/socat.rst +++ b/wiki/packages/socat.rst @@ -1,5 +1,3 @@ -packages/socat -============== socat ===== diff --git a/wiki/packages/spindown.rst b/wiki/packages/spindown.rst index f93ea38..374e6a1 100644 --- a/wiki/packages/spindown.rst +++ b/wiki/packages/spindown.rst @@ -1,5 +1,3 @@ -packages/spindown -================= .. _Spindown: Spindown diff --git a/wiki/packages/strace.rst b/wiki/packages/strace.rst index 2e50712..ad75dc3 100644 --- a/wiki/packages/strace.rst +++ b/wiki/packages/strace.rst @@ -1,5 +1,3 @@ -packages/strace -=============== strace ====== diff --git a/wiki/packages/streamripper.rst b/wiki/packages/streamripper.rst index 98eb10c..1664e75 100644 --- a/wiki/packages/streamripper.rst +++ b/wiki/packages/streamripper.rst @@ -1,5 +1,3 @@ -packages/streamripper -===================== .. _Streamripper: Streamripper diff --git a/wiki/packages/stunnel.rst b/wiki/packages/stunnel.rst index 418379b..ba8ae8e 100644 --- a/wiki/packages/stunnel.rst +++ b/wiki/packages/stunnel.rst @@ -1,5 +1,3 @@ -packages/stunnel -================ .. _Stunnel: Stunnel diff --git a/wiki/packages/subversion.rst b/wiki/packages/subversion.rst index 201187b..05e719e 100644 --- a/wiki/packages/subversion.rst +++ b/wiki/packages/subversion.rst @@ -1,5 +1,3 @@ -packages/subversion -=================== .. _Subversion: Subversion diff --git a/wiki/packages/sundtek.rst b/wiki/packages/sundtek.rst index 5b597fa..a1d3163 100644 --- a/wiki/packages/sundtek.rst +++ b/wiki/packages/sundtek.rst @@ -1,5 +1,3 @@ -packages/sundtek -================ .. _SundtekDVBTreiber: Sundtek DVB Treiber diff --git a/wiki/packages/syslogd.en.rst b/wiki/packages/syslogd.en.rst index b2c31a8..ce30e48 100644 --- a/wiki/packages/syslogd.en.rst +++ b/wiki/packages/syslogd.en.rst @@ -1,5 +1,3 @@ -packages/syslogd.en -=================== .. _Syslog: Syslog diff --git a/wiki/packages/syslogd.rst b/wiki/packages/syslogd.rst index e4aef23..3ab9d8d 100644 --- a/wiki/packages/syslogd.rst +++ b/wiki/packages/syslogd.rst @@ -1,5 +1,3 @@ -packages/syslogd -================ .. _Syslogd: Syslogd diff --git a/wiki/packages/tcp_wrappers.rst b/wiki/packages/tcp_wrappers.rst index b96c395..61f2248 100644 --- a/wiki/packages/tcp_wrappers.rst +++ b/wiki/packages/tcp_wrappers.rst @@ -1,5 +1,3 @@ -packages/tcp_wrappers -===================== .. _TCPWrapper: TCP Wrapper diff --git a/wiki/packages/tcpdump.rst b/wiki/packages/tcpdump.rst index 7d24e62..731c0ca 100644 --- a/wiki/packages/tcpdump.rst +++ b/wiki/packages/tcpdump.rst @@ -1,5 +1,3 @@ -packages/tcpdump -================ tcpdump ======= diff --git a/wiki/packages/tinc.rst b/wiki/packages/tinc.rst index e13dc17..ee1765c 100644 --- a/wiki/packages/tinc.rst +++ b/wiki/packages/tinc.rst @@ -1,5 +1,3 @@ -packages/tinc -============= .. _Tinc: Tinc diff --git a/wiki/packages/tinyproxy.rst b/wiki/packages/tinyproxy.rst index b41a9a7..6dd08f9 100644 --- a/wiki/packages/tinyproxy.rst +++ b/wiki/packages/tinyproxy.rst @@ -1,5 +1,3 @@ -packages/tinyproxy -================== .. _Tinyproxy: Tinyproxy diff --git a/wiki/packages/tor.rst b/wiki/packages/tor.rst index a0644d4..fd15996 100644 --- a/wiki/packages/tor.rst +++ b/wiki/packages/tor.rst @@ -1,5 +1,3 @@ -packages/tor -============ .. _TorProxy: Tor Proxy diff --git a/wiki/packages/transmission.en.rst b/wiki/packages/transmission.en.rst index ad37d52..f1fe2c8 100644 --- a/wiki/packages/transmission.en.rst +++ b/wiki/packages/transmission.en.rst @@ -1,5 +1,3 @@ -packages/transmission.en -======================== .. _Blocklist: Blocklist diff --git a/wiki/packages/transmission.rst b/wiki/packages/transmission.rst index ea771f1..0d085d7 100644 --- a/wiki/packages/transmission.rst +++ b/wiki/packages/transmission.rst @@ -1,5 +1,3 @@ -packages/transmission -===================== .. _Transmission: Transmission diff --git a/wiki/packages/trickle.rst b/wiki/packages/trickle.rst index a18849a..7dda4b9 100644 --- a/wiki/packages/trickle.rst +++ b/wiki/packages/trickle.rst @@ -1,5 +1,3 @@ -packages/trickle -================ trickle ======= diff --git a/wiki/packages/unbound.rst b/wiki/packages/unbound.rst index ae847bf..4fe2c75 100644 --- a/wiki/packages/unbound.rst +++ b/wiki/packages/unbound.rst @@ -1,5 +1,3 @@ -packages/unbound -================ .. _Unbound: Unbound diff --git a/wiki/packages/usbip.rst b/wiki/packages/usbip.rst index 7815192..d4bfb84 100644 --- a/wiki/packages/usbip.rst +++ b/wiki/packages/usbip.rst @@ -1,5 +1,3 @@ -packages/usbip -============== .. _USBIP: USB/IP diff --git a/wiki/packages/usbroot.rst b/wiki/packages/usbroot.rst index 89eb05f..2cbc6e1 100644 --- a/wiki/packages/usbroot.rst +++ b/wiki/packages/usbroot.rst @@ -1,5 +1,3 @@ -packages/usbroot -================ .. _USB-Root: USB-Root diff --git a/wiki/packages/usbutils.rst b/wiki/packages/usbutils.rst index f5b3157..aaf0bd9 100644 --- a/wiki/packages/usbutils.rst +++ b/wiki/packages/usbutils.rst @@ -1,5 +1,3 @@ -packages/usbutils -================= usbutils ======== diff --git a/wiki/packages/vim.rst b/wiki/packages/vim.rst index dc3ec3c..f9d3168 100644 --- a/wiki/packages/vim.rst +++ b/wiki/packages/vim.rst @@ -1,5 +1,3 @@ -packages/vim -============ vim === diff --git a/wiki/packages/virtualip.rst b/wiki/packages/virtualip.rst index 8db77a3..0bee457 100644 --- a/wiki/packages/virtualip.rst +++ b/wiki/packages/virtualip.rst @@ -1,5 +1,3 @@ -packages/virtualip -================== .. _VirtualIP: Virtual IP diff --git a/wiki/packages/vpnc.rst b/wiki/packages/vpnc.rst index 589efce..0ef67eb 100644 --- a/wiki/packages/vpnc.rst +++ b/wiki/packages/vpnc.rst @@ -1,5 +1,3 @@ -packages/vpnc -============= vpnc ==== diff --git a/wiki/packages/vsftpd.rst b/wiki/packages/vsftpd.rst index 579e994..78672d6 100644 --- a/wiki/packages/vsftpd.rst +++ b/wiki/packages/vsftpd.rst @@ -1,5 +1,3 @@ -packages/vsftpd -=============== *TODO: Paket überarbeiten, so dass die Optionen vom AVM ftpd übernommen werden, falls gewünscht. Dann kann hier auch was dokumentiert werden.* diff --git a/wiki/packages/vtund.rst b/wiki/packages/vtund.rst index ecef59d..3ddd53b 100644 --- a/wiki/packages/vtund.rst +++ b/wiki/packages/vtund.rst @@ -1,5 +1,3 @@ -packages/vtund -============== .. _VTUNfreetzPackage: VTUN freetz Package diff --git a/wiki/packages/wget.rst b/wiki/packages/wget.rst index 2060d4a..cedb11d 100644 --- a/wiki/packages/wget.rst +++ b/wiki/packages/wget.rst @@ -1,5 +1,3 @@ -packages/wget -============= wget ==== diff --git a/wiki/packages/wol.rst b/wiki/packages/wol.rst index 689dd14..f24bf41 100644 --- a/wiki/packages/wol.rst +++ b/wiki/packages/wol.rst @@ -1,5 +1,3 @@ -packages/wol -============ .. _WakeonLANWoL: Wake on LAN (WoL) diff --git a/wiki/packages/wput.rst b/wiki/packages/wput.rst index 1bf2ad6..5bb4270 100644 --- a/wiki/packages/wput.rst +++ b/wiki/packages/wput.rst @@ -1,5 +1,3 @@ -packages/wput -============= **wput** ist ein command-line ftp client, der Dateien oder auch ganze Verzeichnisse auf einen remote Server hochlädt. Dabei unterstützt er auch das wiederaufnehmen von abgebrochenen uploads. diff --git a/wiki/packages/xmail.rst b/wiki/packages/xmail.rst index f459692..3ce640e 100644 --- a/wiki/packages/xmail.rst +++ b/wiki/packages/xmail.rst @@ -1,5 +1,3 @@ -packages/xmail -============== .. _Links: Links diff --git a/wiki/packages/xrelayd.rst b/wiki/packages/xrelayd.rst index 936b8da..c8770b3 100644 --- a/wiki/packages/xrelayd.rst +++ b/wiki/packages/xrelayd.rst @@ -1,5 +1,3 @@ -packages/xrelayd -================ xrelayd ======= diff --git a/wiki/packages/xyssl.rst b/wiki/packages/xyssl.rst index 1d8cdb3..12fc169 100644 --- a/wiki/packages/xyssl.rst +++ b/wiki/packages/xyssl.rst @@ -1,5 +1,3 @@ -packages/xyssl -============== `​XySSL <http://www.ohloh.net/p/xyssl>`__\ *is an open-source cryptographic library for embedded systems. It provides standard crypto block: AES, SHA-1, X.509, etc. as well as higher lever protocols: SSL v3 diff --git a/wiki/packages/ziproxy.rst b/wiki/packages/ziproxy.rst index 73c29ea..896e582 100644 --- a/wiki/packages/ziproxy.rst +++ b/wiki/packages/ziproxy.rst @@ -1,5 +1,3 @@ -packages/ziproxy -================ ziproxy ======= diff --git a/wiki/packages_tagged.rst b/wiki/packages_tagged.rst index 9c4a47d..ded36ae 100644 --- a/wiki/packages_tagged.rst +++ b/wiki/packages_tagged.rst @@ -1,5 +1,3 @@ -packages_tagged -=============== .. _PaketenachAnwendungsgebieten: Pakete nach Anwendungsgebieten diff --git a/wiki/patch.rst b/wiki/patch.rst index 7728b26..415c0f6 100644 --- a/wiki/patch.rst +++ b/wiki/patch.rst @@ -1,5 +1,3 @@ -patch -===== .. _AufbaueinesPatches: Aufbau eines Patches diff --git a/wiki/patches.rst b/wiki/patches.rst index 7670741..b529424 100644 --- a/wiki/patches.rst +++ b/wiki/patches.rst @@ -1,5 +1,3 @@ -patches -======= .. _FreetzPatches: Freetz Patches diff --git a/wiki/patches/alarmclock.rst b/wiki/patches/alarmclock.rst index fdaf3f6..d47679e 100644 --- a/wiki/patches/alarmclock.rst +++ b/wiki/patches/alarmclock.rst @@ -1,5 +1,3 @@ -patches/alarmclock -================== .. _Patchthirdalarm-clock: Patch third alarm-clock diff --git a/wiki/patches/custom_udev_rules.rst b/wiki/patches/custom_udev_rules.rst index f7a205a..659f83f 100644 --- a/wiki/patches/custom_udev_rules.rst +++ b/wiki/patches/custom_udev_rules.rst @@ -1,5 +1,3 @@ -patches/custom_udev_rules -========================= Mit diesem Patch werden 2 zusätzliche frei verwendbare rules erstellt und nach /tmp/flash/mod/ verlinkt. Diese können mit dem Webinterface in einem Unterpunkt von "Freetz" bearbeitet werden. diff --git a/wiki/patches/enum.en.rst b/wiki/patches/enum.en.rst index a4027c1..b88edae 100644 --- a/wiki/patches/enum.en.rst +++ b/wiki/patches/enum.en.rst @@ -1,5 +1,3 @@ -patches/enum.en -=============== `​ENUM <http://www.voip-info.org/wiki/view/ENUM>`__ can be used to translate telephone numbers into IP addresses, much alike `​DNS <http://en.wikipedia.org/wiki/Domain_Name_System>`__ is used to diff --git a/wiki/patches/enum.rst b/wiki/patches/enum.rst index 25e8c85..cd47b52 100644 --- a/wiki/patches/enum.rst +++ b/wiki/patches/enum.rst @@ -1,5 +1,3 @@ -patches/enum -============ `Englische Beschreibung <enum.en.html>`__ Dieser Patch macht in AVM-WebIf eine Konfigurationsmöglichkeit sichtbar, diff --git a/wiki/patches/exec_autorun.rst b/wiki/patches/exec_autorun.rst index e72675e..cbe57b4 100644 --- a/wiki/patches/exec_autorun.rst +++ b/wiki/patches/exec_autorun.rst @@ -1,5 +1,3 @@ -patches/exec_autorun -==================== .. _Executeautorun.shautoend.shscriptonunmount: Execute autorun.sh/autoend.sh script on (un)mount diff --git a/wiki/patches/freetzmount.en.rst b/wiki/patches/freetzmount.en.rst index dc0b7e6..a40ca8e 100644 --- a/wiki/patches/freetzmount.en.rst +++ b/wiki/patches/freetzmount.en.rst @@ -1,5 +1,3 @@ -patches/freetzmount.en -====================== .. _FREETZMOUNT: FREETZMOUNT diff --git a/wiki/patches/freetzmount.rst b/wiki/patches/freetzmount.rst index 1f9eb95..724b0d7 100644 --- a/wiki/patches/freetzmount.rst +++ b/wiki/patches/freetzmount.rst @@ -1,5 +1,3 @@ -patches/freetzmount -=================== .. _FREETZMOUNT: FREETZMOUNT diff --git a/wiki/patches/maxdevcount.rst b/wiki/patches/maxdevcount.rst index 29a4357..778c5be 100644 --- a/wiki/patches/maxdevcount.rst +++ b/wiki/patches/maxdevcount.rst @@ -1,5 +1,3 @@ -patches/maxdevcount -=================== .. _MaxDevCount: MaxDevCount diff --git a/wiki/patches/multpile_printers.rst b/wiki/patches/multpile_printers.rst index e0dd1b7..0b2624f 100644 --- a/wiki/patches/multpile_printers.rst +++ b/wiki/patches/multpile_printers.rst @@ -1,5 +1,3 @@ -patches/multpile_printers -========================= .. _FritzBoxalsPrintserverfürmehrereDrucker: FritzBox als Printserver für mehrere Drucker diff --git a/wiki/patches/onlinechanged.rst b/wiki/patches/onlinechanged.rst index 1ca812f..e62b341 100644 --- a/wiki/patches/onlinechanged.rst +++ b/wiki/patches/onlinechanged.rst @@ -1,5 +1,3 @@ -patches/onlinechanged -===================== .. _Onlinechanged: Onlinechanged diff --git a/wiki/patches/remove_assistant.rst b/wiki/patches/remove_assistant.rst index 4351d66..62fb494 100644 --- a/wiki/patches/remove_assistant.rst +++ b/wiki/patches/remove_assistant.rst @@ -1,5 +1,3 @@ -patches/remove_assistant -======================== .. _Removeassistant: Remove assistant diff --git a/wiki/patches/remove_aura_usb.rst b/wiki/patches/remove_aura_usb.rst index fa48dc8..4756eff 100644 --- a/wiki/patches/remove_aura_usb.rst +++ b/wiki/patches/remove_aura_usb.rst @@ -1,5 +1,3 @@ -patches/remove_aura_usb -======================= .. _RemoveauraUSB: Remove aura USB diff --git a/wiki/patches/remove_capi.rst b/wiki/patches/remove_capi.rst index d86207e..2bd1dd5 100644 --- a/wiki/patches/remove_capi.rst +++ b/wiki/patches/remove_capi.rst @@ -1,5 +1,3 @@ -patches/remove_capi -=================== .. _RemoveCapiOverTCP: Remove CapiOverTCP diff --git a/wiki/patches/remove_dsld.rst b/wiki/patches/remove_dsld.rst index c148c67..5244de4 100644 --- a/wiki/patches/remove_dsld.rst +++ b/wiki/patches/remove_dsld.rst @@ -1,5 +1,3 @@ -patches/remove_dsld -=================== .. _Removedsld: Remove dsld diff --git a/wiki/patches/remove_ftpd.rst b/wiki/patches/remove_ftpd.rst index 74e0e82..fc2b6a4 100644 --- a/wiki/patches/remove_ftpd.rst +++ b/wiki/patches/remove_ftpd.rst @@ -1,5 +1,3 @@ -patches/remove_ftpd -=================== .. _RemoveFTPdeamonftpd: Remove FTP deamon (ftpd) diff --git a/wiki/patches/remove_help.rst b/wiki/patches/remove_help.rst index be4d208..66fee7c 100644 --- a/wiki/patches/remove_help.rst +++ b/wiki/patches/remove_help.rst @@ -1,5 +1,3 @@ -patches/remove_help -=================== .. _Removehelp: Remove help diff --git a/wiki/patches/remove_mediasrv.rst b/wiki/patches/remove_mediasrv.rst index 389b98e..7cf5eff 100644 --- a/wiki/patches/remove_mediasrv.rst +++ b/wiki/patches/remove_mediasrv.rst @@ -1,5 +1,3 @@ -patches/remove_mediasrv -======================= .. _RemoveMediaServerdaemonmediasrv: Remove MediaServer daemon (mediasrv) diff --git a/wiki/patches/remove_minid.rst b/wiki/patches/remove_minid.rst index f47f02c..6ec4bf5 100644 --- a/wiki/patches/remove_minid.rst +++ b/wiki/patches/remove_minid.rst @@ -1,5 +1,3 @@ -patches/remove_minid -==================== .. _Removeminid: Remove minid diff --git a/wiki/patches/remove_myfritz.rst b/wiki/patches/remove_myfritz.rst index 4a2bd56..896f7f5 100644 --- a/wiki/patches/remove_myfritz.rst +++ b/wiki/patches/remove_myfritz.rst @@ -1,5 +1,3 @@ -patches/remove_myfritz -====================== .. _RemoveMyFritz: Remove MyFritz diff --git a/wiki/patches/remove_samba.rst b/wiki/patches/remove_samba.rst index 2a253f7..872c9d4 100644 --- a/wiki/patches/remove_samba.rst +++ b/wiki/patches/remove_samba.rst @@ -1,5 +1,3 @@ -patches/remove_samba -==================== .. _RemoveSambadaemonsmbd: Remove Samba daemon (smbd) diff --git a/wiki/patches/remove_support.rst b/wiki/patches/remove_support.rst index 7fdccfc..5b58ee8 100644 --- a/wiki/patches/remove_support.rst +++ b/wiki/patches/remove_support.rst @@ -1,5 +1,3 @@ -patches/remove_support -====================== .. _Removethesupport-files: Remove the support-files diff --git a/wiki/patches/remove_tr069.rst b/wiki/patches/remove_tr069.rst index 9eaac86..81d37a4 100644 --- a/wiki/patches/remove_tr069.rst +++ b/wiki/patches/remove_tr069.rst @@ -1,5 +1,3 @@ -patches/remove_tr069 -==================== .. _Removetr069stuff: Remove tr069 stuff diff --git a/wiki/patches/remove_upnp.rst b/wiki/patches/remove_upnp.rst index f261488..4cb4048 100644 --- a/wiki/patches/remove_upnp.rst +++ b/wiki/patches/remove_upnp.rst @@ -1,5 +1,3 @@ -patches/remove_upnp -=================== .. _RemoveuPnPdaemon: Remove uPnP daemon diff --git a/wiki/patches/remove_usermand.rst b/wiki/patches/remove_usermand.rst index 41547b9..1fda5c7 100644 --- a/wiki/patches/remove_usermand.rst +++ b/wiki/patches/remove_usermand.rst @@ -1,5 +1,3 @@ -patches/remove_usermand -======================= .. _Removeusermanduserman.ko: Remove usermand & userman.ko diff --git a/wiki/patches/remove_vpn.rst b/wiki/patches/remove_vpn.rst index cea401b..322676d 100644 --- a/wiki/patches/remove_vpn.rst +++ b/wiki/patches/remove_vpn.rst @@ -1,5 +1,3 @@ -patches/remove_vpn -================== .. _RemoveAVMvpn: Remove AVM vpn diff --git a/wiki/patches/replace_onlinechanged.rst b/wiki/patches/replace_onlinechanged.rst index 1d7a647..40fb385 100644 --- a/wiki/patches/replace_onlinechanged.rst +++ b/wiki/patches/replace_onlinechanged.rst @@ -1,5 +1,3 @@ -patches/replace_onlinechanged -============================= .. _Replaceonlinechanged: Replace onlinechanged diff --git a/wiki/patches/signed.rst b/wiki/patches/signed.rst index 397086b..97b2a8a 100644 --- a/wiki/patches/signed.rst +++ b/wiki/patches/signed.rst @@ -1,5 +1,3 @@ -patches/signed -============== .. _PatchWebmenuSignedMessage: Patch Webmenu Signed Message diff --git a/wiki/patches/usb_names.rst b/wiki/patches/usb_names.rst index c8bd193..9e84f04 100644 --- a/wiki/patches/usb_names.rst +++ b/wiki/patches/usb_names.rst @@ -1,5 +1,3 @@ -patches/usb_names -================= .. _PatchUSBstoragenamesmakeFATfilesystemsworld-writableautomountfeature: Patch USB storage names, make FAT filesystems world-writable, automount feature diff --git a/wiki/style.rst b/wiki/style.rst index 0f25221..8d45526 100644 --- a/wiki/style.rst +++ b/wiki/style.rst @@ -1,5 +1,3 @@ -style -===== .. _Aussehen: Aussehen diff --git a/wiki/style/favicons.rst b/wiki/style/favicons.rst index a7b2d69..792502f 100644 --- a/wiki/style/favicons.rst +++ b/wiki/style/favicons.rst @@ -1,5 +1,3 @@ -style/favicons -============== .. _Favicons: Favicons diff --git a/wiki/style/mounted.rst b/wiki/style/mounted.rst index 4da5fb6..17dec52 100644 --- a/wiki/style/mounted.rst +++ b/wiki/style/mounted.rst @@ -1,5 +1,3 @@ -style/mounted -============= .. _Aussehenvonmounted.cgi: Aussehen von mounted.cgi diff --git a/wiki/style/skins.rst b/wiki/style/skins.rst index 60b1b75..2c05527 100644 --- a/wiki/style/skins.rst +++ b/wiki/style/skins.rst @@ -1,5 +1,3 @@ -style/skins -=========== .. _Skins: Skins diff --git a/wiki/style/tagging.rst b/wiki/style/tagging.rst index 62199b0..dae14a1 100644 --- a/wiki/style/tagging.rst +++ b/wiki/style/tagging.rst @@ -1,5 +1,3 @@ -style/tagging -============= .. _Tagging: Tagging diff --git a/wiki/ticket.rst b/wiki/ticket.rst index a8540be..d8814e8 100644 --- a/wiki/ticket.rst +++ b/wiki/ticket.rst @@ -1,5 +1,3 @@ -ticket -====== .. _WassollteichbeiderErstellungeinesneuenTicketsbeachten: Was sollte ich bei der Erstellung eines neuen Tickets beachten? From d320dbc4fc60415114ccc0ccb23840d91b756c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 16:29:44 +0100 Subject: [PATCH 07/13] Add requirements.txt --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..cbf1e36 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +sphinx +sphinx-rtd-theme From 303542fa70ab4e839376c66dae19b00fb8513616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 16:33:09 +0100 Subject: [PATCH 08/13] Remove non-existing pages from toctree --- .travis.yml | 2 +- index.rst | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 387ce11..40bfa2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ install: - pip install -r requirements.txt script: - - sphinx-build -Wa . _build/html + - sphinx-build -a . _build/html deploy: provider: pages diff --git a/index.rst b/index.rst index 7753fac..d44ce74 100644 --- a/index.rst +++ b/index.rst @@ -138,7 +138,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/FAQ wiki/Impressum wiki/libs_tagged - wiki/WikiStart.en wiki/ticket wiki/style wiki/packages @@ -147,7 +146,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/Press.en wiki/patches wiki/help - wiki/Freetz wiki/libs wiki/costumscript_dublesyslog wiki/kernel @@ -480,6 +478,5 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/rudi-shell/install wiki/packages/rudi-shell/usage wiki/packages/rudi-shell/functions - wiki/Freetz .. |Warning| image:: /chrome/wikiextras-icons-16/exclamation.png From 1ee6d3db3c5d37ea888b5b682ed579a897a8d2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 16:45:09 +0100 Subject: [PATCH 09/13] Assume all code uses bash syntax --- wiki/FAQ.en.rst | 26 ++++----- wiki/FAQ.rst | 42 +++++++------- wiki/common/source_code.en.rst | 12 ++-- wiki/common/source_code.rst | 12 ++-- wiki/costumscript_dublesyslog.rst | 12 ++-- wiki/help/fritz_faq.rst | 6 +- wiki/help/howtos/common/busybox_httpd.rst | 8 +-- wiki/help/howtos/common/create_swap.rst | 2 +- wiki/help/howtos/common/first_trunk.rst | 16 +++--- wiki/help/howtos/common/install.en.rst | 12 ++-- wiki/help/howtos/common/install.rst | 20 +++---- wiki/help/howtos/common/newbie.en.rst | 2 +- wiki/help/howtos/common/newbie.rst | 4 +- wiki/help/howtos/common/newbie/other.rst | 32 +++++------ wiki/help/howtos/common/shutdown.rst | 6 +- wiki/help/howtos/common/user.rst | 12 ++-- wiki/help/howtos/common/wol.rst | 2 +- wiki/help/howtos/development/adam2.rst | 6 +- .../development/analyse_image_names.rst | 6 +- .../howtos/development/compile_own_progs.rst | 8 +-- wiki/help/howtos/development/create_gui.rst | 8 +-- .../package_development.rst | 2 +- .../package_development_advanced.rst | 24 ++++---- .../package_development_start.rst | 6 +- .../package_development_start/.language.rst | 2 +- .../package_development_start/example_1.rst | 48 ++++++++-------- .../package_development_start/example_2.rst | 56 +++++++++---------- .../package_development_start/example_3.rst | 24 ++++---- .../webinterface_example_1.rst | 14 ++--- .../post_commit_hook.rst | 14 ++--- .../shell_coding_conventions.rst | 2 +- .../developer_information/webif/libmodcgi.rst | 14 ++--- wiki/help/howtos/development/flash.rst | 6 +- .../help/howtos/development/install_addon.rst | 2 +- wiki/help/howtos/development/make_room.rst | 4 +- .../development/manipulation_detection.rst | 8 +-- wiki/help/howtos/development/menuconfig.rst | 12 ++-- .../howtos/development/package_creation.rst | 2 +- .../howtos/development/release_management.rst | 2 +- wiki/help/howtos/development/repack_fw.rst | 12 ++-- wiki/help/howtos/development/save_mtd_1.rst | 12 ++-- wiki/help/howtos/development/save_mtd_2.rst | 8 +-- .../help/howtos/development/urlader_flags.rst | 2 +- .../howtos/security/router_and_firewall.rst | 6 +- wiki/help/howtos/security/switch_config.rst | 28 +++++----- wiki/help/irc.en.rst | 2 +- wiki/help/irc.rst | 2 +- wiki/help/trouble_shooting.rst | 6 +- wiki/help/wikiedit/formatting_guide.rst | 2 +- wiki/help/wikiedit/screenshots.rst | 2 +- wiki/help/wikiedit/tables.rst | 8 +-- wiki/help/wikiedit/toc.rst | 10 ++-- wiki/index.en.rst | 2 +- wiki/kernel.rst | 2 +- wiki/libs.rst | 2 +- wiki/libs/ftdi.en.rst | 8 +-- wiki/libs/ftdi.rst | 6 +- wiki/packages/aiccu.en.rst | 14 ++--- wiki/packages/aiccu.rst | 20 +++---- wiki/packages/apache.rst | 22 ++++---- wiki/packages/autofs.rst | 12 ++-- wiki/packages/bash.rst | 8 +-- wiki/packages/bftpd.rst | 6 +- wiki/packages/bind.rst | 4 +- wiki/packages/bip.rst | 4 +- wiki/packages/bluez.rst | 18 +++--- wiki/packages/br2684ctl.en.rst | 34 +++++------ wiki/packages/callmonitor.rst | 2 +- wiki/packages/callmonitor/actions/call.rst | 6 +- wiki/packages/callmonitor/actions/config.rst | 10 ++-- wiki/packages/callmonitor/actions/dbox.rst | 6 +- wiki/packages/callmonitor/actions/dial.rst | 4 +- .../packages/callmonitor/actions/dreambox.rst | 8 +-- wiki/packages/callmonitor/actions/getmsg.rst | 4 +- wiki/packages/callmonitor/actions/mail.rst | 6 +- .../packages/callmonitor/actions/password.rst | 12 ++-- wiki/packages/callmonitor/actions/rawmsg.rst | 2 +- wiki/packages/callmonitor/actions/relook.rst | 4 +- wiki/packages/callmonitor/actions/samsung.rst | 10 ++-- wiki/packages/callmonitor/actions/snarl.rst | 4 +- .../callmonitor/actions/soundbridge.rst | 6 +- wiki/packages/callmonitor/actions/vdr.rst | 2 +- wiki/packages/callmonitor/actions/wol.rst | 2 +- wiki/packages/callmonitor/actions/xbox.rst | 4 +- wiki/packages/callmonitor/actions/yac.rst | 2 +- wiki/packages/callmonitor/listeners.rst | 22 ++++---- wiki/packages/checkmaild.rst | 2 +- wiki/packages/cifsmount.rst | 2 +- wiki/packages/davfs2.rst | 4 +- wiki/packages/debootstrap.rst | 24 ++++---- wiki/packages/digitemp.rst | 8 +-- wiki/packages/dns2tcp.rst | 6 +- wiki/packages/dnsmasq.rst | 28 +++++----- wiki/packages/dropbear.en.rst | 4 +- wiki/packages/dropbear.rst | 28 +++++----- wiki/packages/dtach.rst | 6 +- wiki/packages/fortune.rst | 4 +- wiki/packages/haserl.rst | 12 ++-- wiki/packages/hd-idle.rst | 2 +- wiki/packages/hiawatha.rst | 6 +- wiki/packages/hol.rst | 2 +- wiki/packages/httptunnel.rst | 2 +- wiki/packages/igmpproxy.rst | 4 +- wiki/packages/inadyn-mt.en.rst | 8 +-- wiki/packages/inetd.rst | 2 +- wiki/packages/inotify-tools.rst | 4 +- wiki/packages/iodine.rst | 12 ++-- wiki/packages/iptables-cgi.rst | 2 +- wiki/packages/iptables.en.rst | 6 +- wiki/packages/iptables.rst | 8 +-- wiki/packages/jamvm.rst | 2 +- wiki/packages/lighttpd.rst | 6 +- wiki/packages/lsof.rst | 2 +- wiki/packages/mediaserver.rst | 2 +- wiki/packages/mini_fo.rst | 10 ++-- wiki/packages/mod.rst | 16 +++--- wiki/packages/nano-shell.rst | 2 +- wiki/packages/nano.rst | 2 +- wiki/packages/ncftp.rst | 14 ++--- wiki/packages/ndas.en.rst | 34 +++++------ wiki/packages/ndas.rst | 40 ++++++------- wiki/packages/netsnmp.en.rst | 8 +-- wiki/packages/netsnmp/mrtg.en.rst | 8 +-- wiki/packages/nfsd.en.rst | 30 +++++----- wiki/packages/nfsd.rst | 18 +++--- wiki/packages/nhipt.en.rst | 8 +-- wiki/packages/nhipt.rst | 10 ++-- wiki/packages/nmap.rst | 4 +- wiki/packages/onlinechanged.rst | 2 +- wiki/packages/openvpn.rst | 36 ++++++------ wiki/packages/php.rst | 6 +- wiki/packages/phpxmail.en.rst | 6 +- wiki/packages/pingtunnel.rst | 10 ++-- wiki/packages/polipo.en.rst | 8 +-- wiki/packages/ppp.rst | 6 +- wiki/packages/pptpd/config.rst | 18 +++--- wiki/packages/pptpd/install.rst | 22 ++++---- wiki/packages/pptpd/webif.rst | 2 +- wiki/packages/privoxy.rst | 8 +-- wiki/packages/prosody.rst | 30 +++++----- wiki/packages/radvd.en.rst | 16 +++--- wiki/packages/rrdstats.rst | 12 ++-- wiki/packages/rudi-shell/install.rst | 2 +- wiki/packages/rudi-shell/tips.rst | 6 +- wiki/packages/s3fslite.rst | 6 +- wiki/packages/samba.rst | 8 +-- wiki/packages/sane-backends.rst | 6 +- wiki/packages/sispmctl.rst | 2 +- wiki/packages/smstools3.rst | 4 +- wiki/packages/strace.rst | 2 +- wiki/packages/stunnel.rst | 4 +- wiki/packages/subversion.rst | 6 +- wiki/packages/sundtek.rst | 4 +- wiki/packages/syslogd.en.rst | 6 +- wiki/packages/syslogd.rst | 2 +- wiki/packages/tinyproxy.rst | 2 +- wiki/packages/transmission.en.rst | 10 ++-- wiki/packages/trickle.rst | 12 ++-- wiki/packages/usbroot.rst | 6 +- wiki/packages/virtualip.rst | 2 +- wiki/packages/vsftpd.rst | 38 ++++++------- wiki/packages/wol.rst | 2 +- wiki/packages/xrelayd.rst | 6 +- wiki/packages/ziproxy.rst | 8 +-- wiki/patch.rst | 22 ++++---- wiki/patches/custom_udev_rules.rst | 2 +- wiki/patches/multpile_printers.rst | 2 +- wiki/patches/onlinechanged.rst | 2 +- 168 files changed, 815 insertions(+), 815 deletions(-) diff --git a/wiki/FAQ.en.rst b/wiki/FAQ.en.rst index 2c86260..2f14040 100644 --- a/wiki/FAQ.en.rst +++ b/wiki/FAQ.en.rst @@ -228,19 +228,19 @@ Trunk, Branches, Tags? To check out a stable version: - .. code:: wiki + .. code:: bash svn co http://svn.freetz.org/branches/freetz-stable-1.1 freetz-stable-1.1 To check out a tag: - .. code:: wiki + .. code:: bash svn co http://svn.freetz.org/tags/freetz-1.1.4 freetz-1.1.4 To check out the development version (trunk): - .. code:: wiki + .. code:: bash svn co http://svn.freetz.org/trunk freetz-trunk @@ -639,7 +639,7 @@ Settings are not available at current security level There are several security levels. The level can be changed using the following commands: - .. code:: wiki + .. code:: bash echo x > /tmp/flash/security ( after r3318: echo x > /tmp/flash/mod/security) modsave @@ -694,7 +694,7 @@ Configuration not available at the current security level! There are different security levels. Depending on the selected level, not all configuration files are editable. - .. code:: wiki + .. code:: bash echo x > /tmp/flash/security (since r3318: echo x > /tmp/flash/mod/security) modsave @@ -719,7 +719,7 @@ How can i disable the password for the Freetz-Website? Execute the following command on the terminal: - .. code:: wiki + .. code:: bash touch /tmp/flash/webcfg_conf chmod +x /tmp/flash/webcfg_conf @@ -752,24 +752,24 @@ How can i reset the password for the Freetz-Website in case I've lost it but sti At first, stop the Freetz-Webif: - .. code:: wiki + .. code:: bash /etc/init.d/rc.webcfg stop Then use vi to open the file mod.cfg and edit the line that begins with "export MOD_HTTPD_PASSWD" as follows: - .. code:: wiki + .. code:: bash vi /var/mod/etc/conf/mod.cfg - .. code:: wiki + .. code:: bash export MOD_HTTPD_PASSWD='$1$$zO6d3zi9DefdWLMB.OHaO.' Now start the Freetz-Web interface: - .. code:: wiki + .. code:: bash /etc/init.d/rc.webcfg start @@ -790,7 +790,7 @@ How can I change the root-Password? Execute the following commands on the terminal: - .. code:: wiki + .. code:: bash passwd modusers save @@ -815,7 +815,7 @@ Problems During Working unintended full TFFS. This limit can be increased, but you should keep an eye on the current fill level: - .. code:: wiki + .. code:: bash modconf set mod MOD_LIMIT=<bytes> modconf save mod @@ -890,7 +890,7 @@ number, which is not used by any other character device under ``/var/flash/`` (Freetz uses the minor 0x3c), the major number can be read from ``/proc/devices``: -.. code:: wiki +.. code:: bash mknod /var/flash/<name-of-file> c <major> <minor> diff --git a/wiki/FAQ.rst b/wiki/FAQ.rst index 9f072a7..108498e 100644 --- a/wiki/FAQ.rst +++ b/wiki/FAQ.rst @@ -213,26 +213,26 @@ Trunk, Branches, Tags? Tag 2.0 werden. | Auschecken einer stabilen Version: -.. code:: wiki +.. code:: bash svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-stable-2.0 Auschecken eines Tags: -.. code:: wiki +.. code:: bash svn co http://svn.freetz.org/tags/freetz-1.2 freetz-1.2 Nach Erscheinen des neuen Tag 2.0 wird dieser dann wie folgt ausgecheckt: -.. code:: wiki +.. code:: bash svn co http://svn.freetz.org/tags/freetz-2.0 freetz-2.0 Auschecken einer Entwicklerversion (trunk): -.. code:: wiki +.. code:: bash svn co http://svn.freetz.org/trunk freetz-trunk @@ -884,7 +884,7 @@ Nach dem Flashen ist das AVM-Webinterface nicht mehr erreichbar mittels nvi, nmcedit oder nnano editiert werden. So sollte es aussehen: - .. code:: wiki + .. code:: bash # cat tr069.cfg /* @@ -911,7 +911,7 @@ Nach dem Flashen ist das AVM-Webinterface nicht mehr erreichbar Um heraus zu finden, ob die problematischen OpenSSL-Libs ins Image eingebunden werden, kann man folgenden Befehl ausführen: - .. code:: wiki + .. code:: bash oliver@ubuntu:~/fritzbox/freetz/trunk$ grep -E "libssl|libcrypto" .config FREETZ_LIB_libcrypto=y @@ -936,7 +936,7 @@ Nach dem Flashen ist das AVM-Webinterface nicht mehr erreichbar es den Befehl *make config-clean-deps* bzw. *make config-clean-deps-keep-busybox*. - .. code:: wiki + .. code:: bash oliver@ubuntu:~/fritzbox/freetz/trunk$ make config-clean-deps Step 1: temporarily deactivate all kernel modules, shared libraries and optional BusyBox applets ... DONE @@ -1179,13 +1179,13 @@ Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar! Ermitteln der aktuellen Sicherheitsstufe (hier: Freetz-1.1.4): - .. code:: wiki + .. code:: bash cat /tmp/flash/security **Freetz-1.1.x und älter:** - .. code:: wiki + .. code:: bash echo 0 > /tmp/flash/security <--- Bsp. #1: Setzen von Stufe "0" (keine Restriktionen, VORSICHT!) modsave <--- Speichern der neuen Sicherheitsstufe @@ -1195,14 +1195,14 @@ Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar! **Ab Freetz-1.2.x und SVN-trunk ≥\ **\ `r3318 </changeset/3318>`__\ **:** - .. code:: wiki + .. code:: bash echo 1 > /tmp/flash/mod/security <--- Bsp. #2: Setzen von Stufe "1" (Konfigurationsdateien editierbar) modsave <--- Speichern der neuen Sicherheitsstufe Erlaubte Werte mit Erläuterung (Default: 2): - .. code:: wiki + .. code:: bash # 0 : no restrictions # 1 : only configuration files without shell commands might be edited @@ -1215,7 +1215,7 @@ Wie deaktiviere ich das Passwort für die Freetz-Webseite? Folgende Befehle auf der Konsole ausführen: - .. code:: wiki + .. code:: bash touch /tmp/flash/webcfg_conf chmod +x /tmp/flash/webcfg_conf @@ -1246,25 +1246,25 @@ Wie ändere ich das Passwort für die Freetz-Webseite sofern ich es vergessen un Erstmal das Freetz-Webif stoppen: - .. code:: wiki + .. code:: bash /etc/init.d/rc.webcfg stop Dann mit vi in der Datei mod.cfg die Zeile, die mit export MOD_HTTPD_PASSWD beginnt, wie folgt abändern: - .. code:: wiki + .. code:: bash vi /var/mod/etc/conf/mod.cfg - .. code:: wiki + .. code:: bash export MOD_HTTPD_PASSWD='$1$$zO6d3zi9DefdWLMB.OHaO.' | Speichern der Änderung: 1x ESC drücken und ``:wq`` eingeben. | Nun wieder das Freetz-Webif starten: - .. code:: wiki + .. code:: bash /etc/init.d/rc.webcfg start @@ -1285,7 +1285,7 @@ Wie ändere ich das root-Passwort? Folgende Befehle auf der Konsole ausführen: - .. code:: wiki + .. code:: bash passwd modusers save @@ -1334,7 +1334,7 @@ Probleme im Betrieb folgendermaßen erhöht werden, man sollte aber den Füllstand des TFFS im Auge behalten: - .. code:: wiki + .. code:: bash modconf set mod MOD_LIMIT=<bytes> modconf save mod @@ -1393,7 +1393,7 @@ Sonstiges | An freetz-linux anmelden | Die smb.conf öffnen mit: - .. code:: wiki + .. code:: bash sudo nano /etc/samba/smb.conf @@ -1402,7 +1402,7 @@ Sonstiges Und zum Schluss Samba neu starten: - .. code:: wiki + .. code:: bash sudo /etc/init.d/samba restart @@ -1416,7 +1416,7 @@ Wie finde ich die IP meiner Virtuellen Maschine | Nach Eingabe von **ifconfig** sollte folgende Anzeige in der VM zu sehen sein. -.. code:: wiki +.. code:: bash eth0 Link encap:Ethernet Hardware Adresse 08:00:27:45:53:49 inet Adresse:192.168.XXX.203 Bcast:192.168.XXX.255 Maske:255.255.255.0 diff --git a/wiki/common/source_code.en.rst b/wiki/common/source_code.en.rst index 5abd3a4..15b096a 100644 --- a/wiki/common/source_code.en.rst +++ b/wiki/common/source_code.en.rst @@ -18,7 +18,7 @@ temporarily contain bugs or not work at all. Check out from SVN: -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/trunk <--- check out current trunk revision $ svn co http://svn.freetz.org/trunk trunk_7843 -r 7843 <--- check out specific trunk revision (here: 7843) into subdirectory @@ -28,7 +28,7 @@ Check out from Git (|Warning| Git is not the leading system and is officially unsupported presently. We provide it "as is" for test purposes.): -.. code:: wiki +.. code:: bash $ git clone https://github.com/Freetz/freetz.git freetz-devel <--- freetz-devel: local copy of Git repository @@ -40,7 +40,7 @@ Updates How to update an existing local SVN repository (here: developer version): -.. code:: wiki +.. code:: bash $ cd trunk $ svn up <--- update to current revision @@ -49,7 +49,7 @@ version): How to update an existing local Git repository (here: developer version): -.. code:: wiki +.. code:: bash $ cd freetz-devel $ git pull @@ -73,7 +73,7 @@ versions: **freetz-2.0**: current stable version (list of supported boxes and firmware versions) -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/branches/freetz-stable-2.0 @@ -81,7 +81,7 @@ firmware versions) firmware updates anymore (more `​info <http://www.ip-phone-forum.de/showthread.php?t=135253>`__) -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 diff --git a/wiki/common/source_code.rst b/wiki/common/source_code.rst index eb95633..ffd7085 100644 --- a/wiki/common/source_code.rst +++ b/wiki/common/source_code.rst @@ -22,14 +22,14 @@ Aktuelle Liste unterstützter Boxen mit Auschecken aus SVN (zuvor ggf ``umask 022`` nicht vergessen!): -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/trunk freetz-devel <--- freetz-trunk: Lokale Kopie des SVN-Repositorys $ svn co http://svn.freetz.org/trunk freetz-devel_r7843 -r 7843 <--- Bestimmte Revision auschecken (hier: 7843) Auschecken aus Git: -.. code:: wiki +.. code:: bash $ git clone https://github.com/Freetz/freetz.git freetz-devel <--- freetz-git: Lokale Kopie des Git-Repositorys @@ -56,7 +56,7 @@ Updates Aktualisieren (Update) eines vorhandenen lokalen SVN-Repositorys (hier: Entwicklerversion): -.. code:: wiki +.. code:: bash $ cd freetz-devel $ svn up <--- Update auf aktuelle Revision @@ -64,7 +64,7 @@ Entwicklerversion): Update eines lokalen Git-Repositorys (hier: Entwicklerversion): -.. code:: wiki +.. code:: bash $ cd freetz-devel $ git pull @@ -88,7 +88,7 @@ Je nach Gerätetyp wird eine der nachstehenden Versionen benötigt: mit `Firmware-Version </browser/branches/freetz-stable-2.0/FIRMWARES#L3>`__\ `​ </export/HEAD/branches/freetz-stable-2.0/FIRMWARES#L3>`__) -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/branches/freetz-stable-2.0 @@ -96,7 +96,7 @@ mit Firmware-Update mehr von AVM erhalten (mehr Infos `​hier <http://www.ip-phone-forum.de/showthread.php?t=135253>`__) -.. code:: wiki +.. code:: bash $ svn co http://svn.freetz.org/tags/ds-0.2.9-p8 diff --git a/wiki/costumscript_dublesyslog.rst b/wiki/costumscript_dublesyslog.rst index a5f452e..d9e8fbb 100644 --- a/wiki/costumscript_dublesyslog.rst +++ b/wiki/costumscript_dublesyslog.rst @@ -17,7 +17,7 @@ Schritte zur Lösung, kann übersprungen werden… Ich habe erst einmal mit -.. code:: wiki +.. code:: bash # syslogd -h syslogd: invalid option -- h @@ -41,7 +41,7 @@ Ich habe erst einmal mit angeschaut was denn der BusyBox syslogd so bietet und dann mit -.. code:: wiki +.. code:: bash # ps w | grep syslog 4718 root 3256 S {busybox} syslogd -L -C2048 @@ -51,7 +51,7 @@ geschaut wie er denn gerade so läuft. Durch editieren der Option (variable SYSLOGD_EXPERT_OPTIONS) habe ich es dann zu folgenden Status gebracht: -.. code:: wiki +.. code:: bash root@FB:/var/mod/root# ps w | grep syslog 4718 root 3256 S {busybox} syslogd -L -C2048 -O /var/media/ftp/uStor01/log/messages -b 20 -s 20048 @@ -86,7 +86,7 @@ scriebt. Also hier die Anleitung zur Editierung der rc.costum ueber die shell: --------------------------------------------------------------------- -.. code:: wiki +.. code:: bash #fritzbox rc.custom ohne webinterface anlegen touch /tmp/flash/mod/rc.custom @@ -106,7 +106,7 @@ mountpoint man durch ``mount`` erfährt) schon einhängt bevor freetz den rc.custom ausführt, also getreu nach der Anleitung zur editierung der der rc.custum sie in folgenden Zustand versetzt: -.. code:: wiki +.. code:: bash cat /tmp/flash/mod/rc.custom echo testtest >> /var/media/ftp/uStor01/testlog @@ -123,7 +123,7 @@ geht zu meiner… …Lösung: -------- -.. code:: wiki +.. code:: bash //////////////// /tmp/flash/my/logtostick: (die datei muss natürlich auch das recht zum ausführen erhalten und in den flash permanentisiert werden...) diff --git a/wiki/help/fritz_faq.rst b/wiki/help/fritz_faq.rst index 44eac1f..feea26e 100644 --- a/wiki/help/fritz_faq.rst +++ b/wiki/help/fritz_faq.rst @@ -52,7 +52,7 @@ Vorraussetzung ist eine Minor Nummer, die von keinem anderen character device in ``/var/flash/`` verwendet wird (Freetz benutzt die Minor 0x3c), die Major Nummer kann aus ``/proc/devices`` ausgelesen werden: -.. code:: wiki +.. code:: bash mknod /var/flash/<dateiname> c <major> <minor> @@ -275,7 +275,7 @@ So geht es: Punkt ausprobieren) - Im FTP: - .. code:: wiki + .. code:: bash quote SETENV kernel_args ds_off=y quote REBOOT @@ -299,7 +299,7 @@ umbenennt. Wenn dann der Aufruf von ``/etc/init.d/rc.mod`` wieder ein "normal funktionierendes" Freetz startet, braucht man nur noch den ``ds_off=y`` Parameter zu entfernen, und alles sollte wieder gehen: -.. code:: wiki +.. code:: bash . /usr/bin/kernel_args ka_removeVariable ds_off diff --git a/wiki/help/howtos/common/busybox_httpd.rst b/wiki/help/howtos/common/busybox_httpd.rst index 04c4985..978cb51 100644 --- a/wiki/help/howtos/common/busybox_httpd.rst +++ b/wiki/help/howtos/common/busybox_httpd.rst @@ -5,7 +5,7 @@ Kleiner Webserver mit BusyBox BusyBox enthält einen kleinen Webserver, den man z.B. so starten kann: -.. code:: wiki +.. code:: bash httpd -P /var/run/port90.pid -p 90 -c /mod/etc/webcfg.conf -h /var/media/ftp/irgendwo/htdocs/ -r "Port 90" @@ -19,7 +19,7 @@ kann man ein CGI-Skript mit dem Namen index.cgi im Unterverzeichnis cgi-bin anlegen, im Beispiel also /var/media/ftp/irgendwo/htdocs/cgi-bin/index.cgi. -.. code:: wiki +.. code:: bash #!/bin/sh @@ -76,14 +76,14 @@ Der BusyBox-httpd kann auch PHP-Skripte ausführen, wenn man das `PHP-Package <../../../packages/php.html>`__ installiert hat. Dazu muss man in /mod/etc/webcfg.conf eine neue Zeile einfügen: -.. code:: wiki +.. code:: bash *.php:/usr/bin/php-cgi Damit index.php-Dateien verarbeitet werden, kann man beim index.cgi-Skript nach der ersten Zeile folgende Zeilen einfügen: -.. code:: wiki +.. code:: bash if test -s "../${QUERY_STRING}/index.php" ; then echo -e "Status: 302 Found\r" diff --git a/wiki/help/howtos/common/create_swap.rst b/wiki/help/howtos/common/create_swap.rst index 72ff8dd..61ed458 100644 --- a/wiki/help/howtos/common/create_swap.rst +++ b/wiki/help/howtos/common/create_swap.rst @@ -32,7 +32,7 @@ Wer lieber auf "Nummer sicher" geht, und daher die Release Linux-PC weiter, auf dem man die benötigte Swap-Datei erstellt, um sie dann auf die Box zu kopieren. Das sieht z.B. so aus: -.. code:: wiki +.. code:: bash dd if=/dev/zero of=swapfile bs=1k count=64000 mkswap swapfile diff --git a/wiki/help/howtos/common/first_trunk.rst b/wiki/help/howtos/common/first_trunk.rst index 13bb2b5..c09cf06 100644 --- a/wiki/help/howtos/common/first_trunk.rst +++ b/wiki/help/howtos/common/first_trunk.rst @@ -53,7 +53,7 @@ Stelle <newbie.html#FreetzSourcenauschecken>`__ durch. | Der Befehl zum Auschecken sieht nun etwas anders aus. Folgender Befehl ist jetzt einzugeben: -.. code:: wiki +.. code:: bash svn checkout http://svn.freetz.org/trunk freetz-trunk @@ -206,7 +206,7 @@ Standard Samba-Server der FritzBox ersetzt. **Beispiel:** -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/Videos hdd1 1 0 - Videos @@ -336,7 +336,7 @@ Einrichten von Benutzern | Hierzu werden nun folgende Befehle in Putty eingegeben (Bitte auf Groß und Kleinschreibung achten): -.. code:: wiki +.. code:: bash /var/mod/root # adduser -h /var/media/ftp/uStor01/hdd1 paul adduser: /var/media/ftp/uStor01/hdd1: Operation not permitted @@ -350,7 +350,7 @@ Einrichten von Benutzern Dateisystem mit FAT oder NTFS handelt. | Das selbe machen wir nun nochmals für Marry und Gast: -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/uStor01/hdd2 mary adduser -h /var/media/ftp/uStor01/hdd1 gast @@ -371,7 +371,7 @@ Einrichten von Benutzern | Wenn alles Richtig gelaufen ist, sollte folgendes in der passwd stehen: -.. code:: wiki +.. code:: bash root:x:0:0:root:/mod/root:/bin/sh ftp:x:2:1:FTP account:/home/ftp:/bin/sh @@ -382,7 +382,7 @@ Einrichten von Benutzern | Nun melden wir uns noch mit folgendem Befehl von der Putty Konsole ab: -.. code:: wiki +.. code:: bash exit @@ -411,7 +411,7 @@ Inhalt der Datei : Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein und entfernt die Befehle die der User nicht ausführen darf: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER @@ -419,7 +419,7 @@ und entfernt die Befehle die der User nicht ausführen darf: anlegen, jedoch diese nicht wieder löschen. Also muß folgendes in der Datei stehen: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER diff --git a/wiki/help/howtos/common/install.en.rst b/wiki/help/howtos/common/install.en.rst index 8c27195..5f72714 100644 --- a/wiki/help/howtos/common/install.en.rst +++ b/wiki/help/howtos/common/install.en.rst @@ -91,7 +91,7 @@ Execution able to connect to the Internet by itself. If not, you can set up internet access manually like so: - .. code:: wiki + .. code:: bash ifconfig eth0 192.168.178.xx netmask 255.255.255.0 broadcast 192.168.178.255 @@ -129,7 +129,7 @@ Execution - **SSH/TELNET**: (the preferred method) - .. code:: wiki + .. code:: bash svn co http://svn.freetz.org/tags/freetz-1.1.x freetz-1.1.x @@ -141,7 +141,7 @@ development ``/trunk`` if you wish. #. Change into the freetz directory you just checked out (or unpacked into): - .. code:: wiki + .. code:: bash cd freetz-*/ @@ -150,7 +150,7 @@ development ``/trunk`` if you wish. same one being used to configure the Linux kernel. For a detailed description, see `menuconfig <install/menuconfig.html>`__. - .. code:: wiki + .. code:: bash make menuconfig @@ -161,7 +161,7 @@ development ``/trunk`` if you wish. run through will take a little while, so you might want to have some coffee or tea in the meantime. - .. code:: wiki + .. code:: bash unset CFLAGS CXXCFLAGS make @@ -495,7 +495,7 @@ erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad aufzunehmen: -.. code:: wiki +.. code:: bash ~/gnubin $ ls -l total 64 diff --git a/wiki/help/howtos/common/install.rst b/wiki/help/howtos/common/install.rst index 0db86cb..aa0ff2d 100644 --- a/wiki/help/howtos/common/install.rst +++ b/wiki/help/howtos/common/install.rst @@ -76,7 +76,7 @@ Durchführung mit Windows OS Fall sein kann die IP-Adresse mit folgendem Befehl auch per Hand gesetzt werden: - .. code:: wiki + .. code:: bash ifconfig eth0 192.168.178.xx netmask 255.255.255.0 broadcast 192.168.178.255 @@ -122,13 +122,13 @@ Durchführung mit Windows OS folgendes eingeben: (Anstatt freetz-2.0.x kann auch eine andere, z.B. Entwicklerversion genommen werden.) - .. code:: wiki + .. code:: bash svn co http://svn.freetz.org/branches/freetz-stable-2.0.x freetz-2.0.x Aktuell: -.. code:: wiki +.. code:: bash svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz-2.0 @@ -155,7 +155,7 @@ Aktuell: `Howto <../development/integrate_patches.html>`__) #. In das Verzeichnis des ausgecheckten/entpackten Freetz wechseln: - .. code:: wiki + .. code:: bash cd freetz-2.0.x (aktuell: cd freetz-2.0) @@ -165,7 +165,7 @@ Aktuell: ist. Details und Beschreibungen zu den Optionen gibt es in der Beschreibung zum `menuconfig <install/menuconfig.html>`__. - .. code:: wiki + .. code:: bash make menuconfig @@ -181,7 +181,7 @@ Aktuell: Paketen und dem benutzten Rechner. Man kann also ruhig eine Kaffeepause einlegen. - .. code:: wiki + .. code:: bash make @@ -361,7 +361,7 @@ darin, diesen Code per Copy and Paste auf der Konsole auszuführen. Wer vergessen hat welche Ubuntu Version er installierte kann dies mit folgenden Befehlen prüfen: -.. code:: wiki +.. code:: bash # Ubuntu Version: ergibt z.B. "Ubuntu 12.04.1 LTS \n \l" cat /etc/issue @@ -373,7 +373,7 @@ folgenden Befehlen prüfen: Installation der benötigten Pakete (Fedora) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash sudo yum -y install ImageMagick subversion gcc gcc-c++ binutils autoconf automake libtool make bzip2 ncurses-devel zlib-devel flex bison patch texinfo gettext pkgconfig ecj perl perl-String-CRC32 wget glib2-devel git libacl-devel libattr-devel libcap-devel # Auf 64-Bit Systemen sind zusätzlich folgende Pakete zu installieren: @@ -600,7 +600,7 @@ erstellt, in dem Symlinks der Standardnamen auf die GNU Utilities zeigen. Zum Arbeiten mit ds-mod ist dieses Verzeichnis in den Suchpfad aufzunehmen: -.. code:: wiki +.. code:: bash ~/gnubin $ ls -l total 64 @@ -715,7 +715,7 @@ drücken die Enter-Taste. Wenn es geklappt hat wird man nach Benutzername und Passwort gefragt, er lautet für beides **adam2**. Weiter gehen wir wie folgt vor: -.. code:: wiki +.. code:: bash Eingabe am Prompt: bin diff --git a/wiki/help/howtos/common/newbie.en.rst b/wiki/help/howtos/common/newbie.en.rst index c14f7c4..7e46fbb 100644 --- a/wiki/help/howtos/common/newbie.en.rst +++ b/wiki/help/howtos/common/newbie.en.rst @@ -172,7 +172,7 @@ The next step is to find out which ip is assigned to our Freetz-Linux since we need it to get access via putty in the next step. To check, type in: **ifconfig**. This should bring up the following text. -.. code:: wiki +.. code:: bash eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet addr:192.168.178.30 Bcast:192.168.178.255 Mask:255.255.255.0 diff --git a/wiki/help/howtos/common/newbie.rst b/wiki/help/howtos/common/newbie.rst index 2f3eb35..a352681 100644 --- a/wiki/help/howtos/common/newbie.rst +++ b/wiki/help/howtos/common/newbie.rst @@ -246,7 +246,7 @@ Netzwerkkonfiguration und prüft ob eure virtuelle Maschine eine IP-Adresse bekommen hat. Zum Überprüfen bitte folgenden Befehl in der VM eingeben: **ifconfig** -.. code:: wiki +.. code:: bash eth0 Link encap:Ethernet Hardware Adresse xx:xx:xx:xx:xx:xx inet Adresse:192.168.XXX.203 Bcast:192.168.XXX.255 Maske:255.255.255.0 @@ -265,7 +265,7 @@ Freetz Sourcen auschecken | Als nächstes gebt ihr folgenden Befehl ein: -.. code:: wiki +.. code:: bash svn checkout http://svn.freetz.org/branches/freetz-stable-2.0 diff --git a/wiki/help/howtos/common/newbie/other.rst b/wiki/help/howtos/common/newbie/other.rst index 61feb2c..a230717 100644 --- a/wiki/help/howtos/common/newbie/other.rst +++ b/wiki/help/howtos/common/newbie/other.rst @@ -289,7 +289,7 @@ SWAP-File einrichten | 6.) Im nächsten Fenster sollte man jetzt sehen wie die SWAP-Datei angelegt wird. -.. code:: wiki +.. code:: bash Erstelle leere Datei ... 20+0 records in @@ -354,7 +354,7 @@ Erweitert | In das leere Feld kopiert man nun folgenden Text: -.. code:: wiki +.. code:: bash log level = 1 socket options = TCP_NODELAY IPTOS_LOWDELAY @@ -374,7 +374,7 @@ Freigaben | In das leere Feld kopiert man nun folgenden Text: -.. code:: wiki +.. code:: bash /var/media/ftp/USB USB-Stick 1 0 - USB-Stick /var/media/ftp/USB/data/gast Gast 1 0 - Gast @@ -404,7 +404,7 @@ Wir haben nun 6 Windows-Freigaben für unserem USB-Stick erzeugt. auf 0 gesetzt ist bzw. wird.) | **Beispiel:** -.. code:: wiki +.. code:: bash /var/media/ftp/USB USB-Stick 1 0 - USB-Stick @@ -422,7 +422,7 @@ Wir haben nun 6 Windows-Freigaben für unserem USB-Stick erzeugt. Da wir als Netbiosname **NAS** vergeben hatte, lautet der Zugriff von Windows auf die Freigabe nun: -.. code:: wiki +.. code:: bash \\NAS\USB-Stick @@ -505,7 +505,7 @@ Zusätzliche Konfigurationsoptionen (für Experten) | In das leere Feld kopiert man nun folgenden Text: -.. code:: wiki +.. code:: bash user_config_dir=/var/media/ftp/USB/vsftp_user_conf @@ -520,7 +520,7 @@ Logging - Syslog = deaktiviert - Datei = aktiviert mit folgendem Text: - .. code:: wiki + .. code:: bash /var/media/ftp/USB/logs/vsftpd.log @@ -582,7 +582,7 @@ Inhalt der Datei : Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein und entfernt die Befehle die der User nicht ausführen darf: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER @@ -590,7 +590,7 @@ So mit darf Paul Dateien auf den FTP kopieren und Verzeichnisse anlegen, jedoch diese nicht wieder löschen. Also muß folgendes in der Datei stehen: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER @@ -659,34 +659,34 @@ und Kleinschreibung achten): admin -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/USB admin paul -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/USB/data paul mary -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/USB/data mary gast -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/USB/data/gast gast | So sollte z.B. die Meldung für admin im Putty-Fenster aussehen: -.. code:: wiki +.. code:: bash /var/mod/root # adduser -h /var/media/ftp/USB admin adduser: /var/media/ftp/USB: Operation not permitted @@ -709,7 +709,7 @@ gast | Anzeigen kann man die Datei mit dem Befehl **cat /var/tmp/passwd**. | Nun melden wir uns noch mit folgendem Befehl von der Putty Konsole ab: -.. code:: wiki +.. code:: bash exit @@ -852,7 +852,7 @@ keine weiteren Kosten! | Ihr benötigt die IP-Adresse Eures virtuellen Freetz-Linux, diese erfährt man durch -.. code:: wiki +.. code:: bash ifconfig diff --git a/wiki/help/howtos/common/shutdown.rst b/wiki/help/howtos/common/shutdown.rst index d0233da..097df71 100644 --- a/wiki/help/howtos/common/shutdown.rst +++ b/wiki/help/howtos/common/shutdown.rst @@ -61,7 +61,7 @@ Konfiguration der Fritzbox für herunterzufahrenden Linux-Rechner - Füge als abschließende Konfigurationsmaßnahme auf der Fritzbox folgende Zeile zu den Listenern des Callmonitors hinzu: -.. code:: wiki +.. code:: bash in:request ^<abgangsrufnummer> ^<eingangsrufnummer> HOME=/mod/root && /var/tmp/flash/ssh/shutdown_linuxrechner.sh @@ -80,7 +80,7 @@ Konfiguration der Fritzbox für herunterzufahrenden Windows-Rechner - Folgende Zeile zu den Listenern des Callmonitors hinzufügen: - .. code:: wiki + .. code:: bash in:request ^<abgangsrufnummer> ^<eingangsrufnummer> HOME=/mod/root && /var/tmp/flash/ssh/shutdown_windowsrechner.sh @@ -116,7 +116,7 @@ Konfiguration des herunterzufahrenden Windows-Rechners (getestet unter Windows X - Konfigurationsdatei c:\programme\openssh\etc\sshd_config anpassen. Folgende Werte korrigieren: - .. code:: wiki + .. code:: bash StrictModes no RSAAuthentication yes diff --git a/wiki/help/howtos/common/user.rst b/wiki/help/howtos/common/user.rst index 808e383..e3ce52f 100644 --- a/wiki/help/howtos/common/user.rst +++ b/wiki/help/howtos/common/user.rst @@ -20,13 +20,13 @@ Der Parameter -g (GECOS field) ist eine Beschreibung des Benutzers. |Warning| Dieses Feld darf nicht auf *box user* oder *ftp user* gesetzt werden, da der Benutzer sonst beim Neustart verloren geht. -.. code:: wiki +.. code:: bash adduser freetzuser -G users -h "/var/media/ftp" -g "freetzuser" [-s /bin/sh] Anschließend kann ein Password für den Benutzer gesetzt werden: -.. code:: wiki +.. code:: bash root@fritz:/var/mod/root# adduser freetzuser -G users -h "/var/media/ftp" -g "freetzuser" Changing password for freetzuser @@ -38,14 +38,14 @@ Dieses Verfahren ist für jeden weiteren Benutzer zu wiederholen. Nachdem die gewünschten Benutzer angelegt wurden sind die Änderungen noch rebootfest abzuspeichern. Dies geschieht durch die folgenden Befehle: -.. code:: wiki +.. code:: bash modusers save modsave flash Die Benutzer können wie folgt überprüft werden: -.. code:: wiki +.. code:: bash root@fritz:/var/mod/root# cat /etc/passwd root:x:0:0:root:/mod/root:/bin/sh @@ -79,7 +79,7 @@ Vorgehen | 1.) Man speichert den Inhalt des Nachfolgenden Textes als User.sh auf seinen PC -.. code:: wiki +.. code:: bash cat > /var/tmp/passwd << 'EOF' root:x:0:0:root:/mod/root:/bin/sh @@ -107,7 +107,7 @@ Vorgehen 5.) Folgenden Eintrag in der rc.custom erzeugen (Pfad und Dateiname entpsrechend anpassen): -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/user.sh diff --git a/wiki/help/howtos/common/wol.rst b/wiki/help/howtos/common/wol.rst index fafc43d..866b342 100644 --- a/wiki/help/howtos/common/wol.rst +++ b/wiki/help/howtos/common/wol.rst @@ -41,7 +41,7 @@ Um nicht über die Fritzbox-Weboberfläche arbeiten zu müssen, sondern schnell per Kommandozeile einen PC aufzuwecken, kann folgendes Skript verwendet werden (einfach in die ``rc.custom`` eintragen): -.. code:: wiki +.. code:: bash # Skript für 'wakeup HOSTNAME' erstellen # WAKEUPPATH should be root's homedirectory, if you want to login via diff --git a/wiki/help/howtos/development/adam2.rst b/wiki/help/howtos/development/adam2.rst index 2160e1f..b6ab5b0 100644 --- a/wiki/help/howtos/development/adam2.rst +++ b/wiki/help/howtos/development/adam2.rst @@ -37,7 +37,7 @@ gespeichert, die fest im Bootloader selbst eingestellt ist. Aus Linux heraus hat diese Partition oft eine von ``2`` abweichende Nummer die man mit folgendem Befehl ausfindig macht: -.. code:: wiki +.. code:: bash cat /proc/mtd @@ -45,7 +45,7 @@ Eine der dort genannten Partitionen nennt sich ``bootloader`` oder ``urlader``. Mit deren Nummer (hier z.B. ``3``) liesst man dann die zugehörige ``mtdblock`` Device aus: -.. code:: wiki +.. code:: bash cat /dev/mtdblock3 > bootloader.bin @@ -97,7 +97,7 @@ Ohne RAM funktioniert auch ein intakter Bootloader nicht ⇒ Brick. Um die oben erstellte Sicherung \*auf genau die selbe Box\* zurückzuspielen \*wäre\* dies der Weg: -.. code:: wiki +.. code:: bash cat bootloader.bin > /dev/mtdblock3 diff --git a/wiki/help/howtos/development/analyse_image_names.rst b/wiki/help/howtos/development/analyse_image_names.rst index 88b5406..94dad96 100644 --- a/wiki/help/howtos/development/analyse_image_names.rst +++ b/wiki/help/howtos/development/analyse_image_names.rst @@ -166,7 +166,7 @@ So sehen aktuell die Firmware-Namen aus, welche sich in der `Config.in </browser/trunk/Config.in?rev=8531#L991>`__\ `​ </export/8531/trunk/Config.in#L991>`__ befinden: -.. code:: wiki +.. code:: bash FRITZ.Box_2170.51.04.57.image FRITZ.Box_6840_LTE.105.05.09.image @@ -237,7 +237,7 @@ Ausgabe grundlegender Informationen Das Ergebnis sieht für Fall 1 (grundlegende Informationen, tabellarisches Layout) so aus: -.. code:: wiki +.. code:: bash FRITZ!Box 2170 51.04.57 FRITZ!Box 6840 LTE 105.05.09 @@ -305,7 +305,7 @@ Ausgabe erweiterter Informationen Im zweiten Fall ist die Ausgabe wesentlich länger, ich gebe hier also nur exemplarische Ausschnitte wieder: -.. code:: wiki +.. code:: bash Firmware image: FRITZ.Box_6840_LTE.105.05.09.image Producer/OEM: AVM diff --git a/wiki/help/howtos/development/compile_own_progs.rst b/wiki/help/howtos/development/compile_own_progs.rst index edc6b4a..dca32c3 100644 --- a/wiki/help/howtos/development/compile_own_progs.rst +++ b/wiki/help/howtos/development/compile_own_progs.rst @@ -9,13 +9,13 @@ Paket zur Verfügung stehen, zu übersetzen. Den MIPS-Compiler zum Pfad hinzufügen: -.. code:: wiki +.. code:: bash export PATH=/pfad/zu/freetz/toolchain/target/bin:$PATH Optionen für ``./configure``: -.. code:: wiki +.. code:: bash ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux @@ -27,7 +27,7 @@ Statisches Linken der Binaries, damit sie keine separaten Libraries benutzen, sondern sie gleich enthalten (funktioniert aber nicht bei jeder Software): -.. code:: wiki +.. code:: bash LDFLAGS=-static ./configure ... @@ -42,7 +42,7 @@ geht, zu verwenden. In manchen Fällen ist es ratsam die CC-Variable explizit zu setzen. Auch die Angabe der *CFLAGS* kann nicht schaden: -.. code:: wiki +.. code:: bash ./configure ... CC="mipsel-linux-gcc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap" diff --git a/wiki/help/howtos/development/create_gui.rst b/wiki/help/howtos/development/create_gui.rst index e869f7e..af328fa 100644 --- a/wiki/help/howtos/development/create_gui.rst +++ b/wiki/help/howtos/development/create_gui.rst @@ -89,7 +89,7 @@ Konfiguration Jedes Paket besitzt ein Konfigurationsdatei ``/mod/etc/conf/<paketname>.cfg``, welche wie folgt aufgebaut ist: -.. code:: wiki +.. code:: bash export <PAKETNAME>_OPTION1='bla' export <PAKETNAME>_OPTION2='blub' @@ -99,7 +99,7 @@ Sie enthält alle Optionen, die auch übers Webinterface eingestellt werden können und ist in Shell Syntax. Damit kann die aktuelle Konfiguration mit -.. code:: wiki +.. code:: bash . /mod/etc/conf/<paketname>.cfg @@ -129,7 +129,7 @@ hat den Paketnamen 'mod'. Die Befehle dazu sind: Das dauerhafte Abschalten des Webinterfaces geht damit so (Variable MOD_HTTPD in der Basis-Konfiguration 'mod'): -.. code:: wiki +.. code:: bash vi /mod/etc/conf/mod.cfg # -> MOD_HTTPD='yes' durch MOD_HTTPD='no' ersetzen modconf save mod # nun ist mod.diff up-to-date @@ -142,7 +142,7 @@ MOD_HTTPD in der Basis-Konfiguration 'mod'): Soviel zur Veranschaulichung. Komfortabler ist folgendes: -.. code:: wiki +.. code:: bash modconf set mod MOD_HTTPD=no modconf save mod diff --git a/wiki/help/howtos/development/developer_information/package_development.rst b/wiki/help/howtos/development/developer_information/package_development.rst index ef9d98f..e90e4a0 100644 --- a/wiki/help/howtos/development/developer_information/package_development.rst +++ b/wiki/help/howtos/development/developer_information/package_development.rst @@ -18,7 +18,7 @@ files to use the framework: configuration settings as exported shell variables; each variable has to start with the capitalized package name. Example: - .. code:: wiki + .. code:: bash export PACKAGE_VAR1='var1' export PACKAGE_VAR2='var2' diff --git a/wiki/help/howtos/development/developer_information/package_development_advanced.rst b/wiki/help/howtos/development/developer_information/package_development_advanced.rst index 6d17529..a4565b6 100644 --- a/wiki/help/howtos/development/developer_information/package_development_advanced.rst +++ b/wiki/help/howtos/development/developer_information/package_development_advanced.rst @@ -29,7 +29,7 @@ simple straightforward solution might look like this: ``Config.in`` -.. code:: wiki +.. code:: bash FREETZ_PACKAGE_FOO_BINARY1 bool "include binary1" @@ -53,7 +53,7 @@ simple straightforward solution might look like this: ``foo.mk`` -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 0.0.1) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -127,7 +127,7 @@ dosfstools package. `dosfstools.mk </browser/trunk/make/dosfstools/dosfstools.mk>`__\ `​ </export/HEAD/trunk/make/dosfstools/dosfstools.mk>`__ -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 3.0.5) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -171,7 +171,7 @@ dosfstools package. This line -.. code:: wiki +.. code:: bash $(PKG)_BINARIES_ALL := dosfsck dosfslabel mkdosfs @@ -180,7 +180,7 @@ full paths) of all binaries of the package. This next line -.. code:: wiki +.. code:: bash $(PKG)_BINARIES := $(strip $(foreach binary,$($(PKG)_BINARIES_ALL),$(if $(FREETZ_PACKAGE_$(PKG)_$(shell echo $(binary) | tr [a-z] [A-Z])),$(binary)))) @@ -199,7 +199,7 @@ is added to the ``$(PKG)_BINARIES`` variable. For those of you who is familiar with other programming languages, this line is equivalent to the following pseudo-code: -.. code:: wiki +.. code:: bash $(PKG)_BINARIES := {}; # {} represents an empty set for binary in $($(PKG)_BINARIES_ALL); do @@ -223,7 +223,7 @@ without actually understanding how exactly it does what it does. The next two lines -.. code:: wiki +.. code:: bash $(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/%) $(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/sbin/%) @@ -241,14 +241,14 @@ page for the explanations of what ``'%'``-sign means when used in **pattern** and what it means when used in **replacement**). Both lines could also be written this way: -.. code:: wiki +.. code:: bash $(PKG)_BINARIES_BUILD_DIR := $(addprefix $($(PKG)_DIR)/,$($(PKG)_BINARIES)) $(PKG)_BINARIES_TARGET_DIR := $(addprefix $($(PKG)_DEST_DIR)/,$($(PKG)_BINARIES)) The next line -.. code:: wiki +.. code:: bash $(PKG)_NOT_INCLUDED := $(patsubst %,$($(PKG)_DEST_DIR)/usr/sbin/%,$(filter-out $($(PKG)_BINARIES),$($(PKG)_BINARIES_ALL))) @@ -257,7 +257,7 @@ does absolutely the same as the line defining the contains the list of dosfstools-binaries not selected in menuconfig. This part of it -.. code:: wiki +.. code:: bash $(filter-out $($(PKG)_BINARIES),$($(PKG)_BINARIES_ALL)) @@ -273,7 +273,7 @@ build system will take care of removing unnecessary files. The last fragment we take a look at is the following one: -.. code:: wiki +.. code:: bash $($(PKG)_BINARIES_TARGET_DIR): $($(PKG)_DEST_DIR)/usr/sbin/%: $($(PKG)_DIR)/% $(INSTALL_BINARY_STRIP) @@ -285,7 +285,7 @@ names for each target based on the target name. These two lines are \_absolutely\_ equivalent to the following ones from the 1st example, they are just a shorthand for them: -.. code:: wiki +.. code:: bash $($(PKG)_TARGET_BINARY1): $($(PKG)_BINARY1) $(INSTALL_BINARY_STRIP) diff --git a/wiki/help/howtos/development/developer_information/package_development_start.rst b/wiki/help/howtos/development/developer_information/package_development_start.rst index 17f9f52..beb4a22 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start.rst @@ -74,7 +74,7 @@ In make menuconfig, select your hardware type (e.g. 7170), and after setting the Level of user competence to Expert you can look around in 'Toolchain options', but no changes are normally needed. -.. code:: wiki +.. code:: bash $ make menuconfig Level of user competence (Expert) ---> @@ -85,7 +85,7 @@ setting the Level of user competence to Expert you can look around in Then create your toolchain: -.. code:: wiki +.. code:: bash $ make toolchain @@ -219,7 +219,7 @@ Configuration Handling | This is a static file containing a pre-defined value (can be empty) for each variable (config parameter) in the following format: -.. code:: wiki +.. code:: bash export <PACKAGE>_<VARIABLE1>=’<value1>’ export <PACKAGE>_<VARIABLE2>=’<value2>’ diff --git a/wiki/help/howtos/development/developer_information/package_development_start/.language.rst b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst index 523958b..1ac5796 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/.language.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/.language.rst @@ -7,7 +7,7 @@ The .language file list the files with ``lang`` statements. Below a generic .language file with only one file listed: -.. code:: wiki +.. code:: bash languages { de en } diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst index af69e80..078ed9a 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_1.rst @@ -31,7 +31,7 @@ freetz build system), you should see that your toolchain is also included in the search path. This is achieved with the PATH= export command below. -.. code:: wiki +.. code:: bash mkdir httptunnel cd httptunnel @@ -65,7 +65,7 @@ command below. file to a save location, because make clean often will also delete this file. But this is not applicable for httptunnel.) -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/httptunnel/httptunnel-3.0.5/ make clean @@ -94,7 +94,7 @@ point for a new package. Because httptunnel is already integrated in Freetz the files are already present. Lets tar them in a file and remove them: -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/make/ tar cfz httptunnel_orig.tar.gz httptunnel/ @@ -106,7 +106,7 @@ We also need to delete some auto generated files to make sure the changes are recognized (no need to save these, as they will be generated again): -.. code:: wiki +.. code:: bash rm make/external.in.generated rm make/Config.in.generated @@ -122,7 +122,7 @@ again): directory with the two files as a new package. Let us call it "httptunnel". -.. code:: wiki +.. code:: bash cp -r ~/freetz-trunk/make/empty ~/freetz-trunk/make/httptunnel @@ -130,7 +130,7 @@ Please go into that new "``httptunnel``" directory and remove the sub-directory "``.svn``". You will not need it. Now it should look like this: -.. code:: wiki +.. code:: bash -rw-r--r-- 1 slightly slightly 480 2008-06-07 08:17 Config.in -rw-r--r-- 1 slightly slightly 701 2008-06-07 08:17 empty.mk @@ -144,7 +144,7 @@ project is about now: httptunnel. The base name of the file Now let us have a look at the "``Config.in``" file. Open it with your favorite editor, and it should look like this: -.. code:: wiki +.. code:: bash config FREETZ_PACKAGE_EMPTY bool "Empty 0.6.15b" @@ -165,7 +165,7 @@ You should change this to reflect your http tunnel project. Please note that the line "select FREETZ_LIB_libutil" is not necessary for your project, thus remove it: -.. code:: wiki +.. code:: bash config FREETZ_PACKAGE_HTTPTUNNEL bool "httptunnel 3.0.5 (binary only)" @@ -180,7 +180,7 @@ project, thus remove it: The next file "``httptunnel.mk``" (copied from "``empty.mk``") should be edited like this: -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 3.0.5) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -215,20 +215,20 @@ edited like this: Explanation: -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 3.0.5) | This defines the version of your package. -.. code:: wiki +.. code:: bash $(PKG)_SOURCE:=httptunnel-$($(PKG)_VERSION).tar.gz | This defines the file name of the package source code, which has to be exactly as the filename on the server where the file is located. -.. code:: wiki +.. code:: bash $(PKG)_SITE:=http://www.nocrew.org/software/httptunnel @@ -237,13 +237,13 @@ Explanation: | In this case, the complete path would be: `​http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz <http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz>`__ -.. code:: wiki +.. code:: bash $(PKG)_BINARY:=$($(PKG)_DIR)/hts | This defines the file name of the binary in the source directory. -.. code:: wiki +.. code:: bash $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/hts @@ -251,7 +251,7 @@ Explanation: stored on your box when your new package and FW is installed on your box. -.. code:: wiki +.. code:: bash $(PKG)_CATEGORY:=Unstable @@ -260,7 +260,7 @@ Explanation: | If a package if found stable this line can be removed, so it becomes listed under the normal packages. -.. code:: wiki +.. code:: bash $(PKG_CONFIGURED_CONFIGURE) @@ -273,7 +273,7 @@ Explanation: ac_cv_func_setvbuf_reversed. Find the correct value and add a line like this to "``httptunnel.mk``" -.. code:: wiki +.. code:: bash $(PKG)_CONFIGURE_ENV += ac_cv_func_setvbuf_reversed=no @@ -282,7 +282,7 @@ Explanation: files with all plus-signs replaced by x's and all minus-signs replaced by underscores and separate package names by spaces. -.. code:: wiki +.. code:: bash $(SUBMAKE) -C $(HTTPTUNNEL_DIR) @@ -295,7 +295,7 @@ Now we also need to make sure that the following is changed, because Go back to file "httptunnel.mk" and edit the line PKG_CONFIGURED_NOP to PKG_CONFIGURED_CONFIGURE: -.. code:: wiki +.. code:: bash $(PKG_SOURCE_DOWNLOAD) $(PKG_UNPACKED) @@ -314,7 +314,7 @@ Now it is time to call "``make menuconfig``" and to choose your new package from the "packages > unstable" section, where it should be available now for selection. -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/ make menuconfig @@ -329,7 +329,7 @@ this may take some (longer) time. A successful FW build with your new package included should end with these lines: -.. code:: wiki +.. code:: bash STEP 3: PACK Checking for left over Subversion directories @@ -352,7 +352,7 @@ Testing Lets see if "``make clean``" works as expected. This should bring the state back to like it was before the "``make``" command. -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/ make clean @@ -371,7 +371,7 @@ Preparing New Package for Public Integration to Freetz Trunk In order to create a file which displays the changes which would be needed in freetz to add your package, issue the following commands: -.. code:: wiki +.. code:: bash svn add make/httptunnel svn diff ./make > patchfile @@ -384,7 +384,7 @@ recognized as a valid file for upload. In addition you could even create a ready (and compressed) package of the two files which you had edited above: -.. code:: wiki +.. code:: bash tar cfz httptunnel.tar.gz make/httptunnel --exclude .svn diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst index 78285c5..56b0d29 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_2.rst @@ -23,7 +23,7 @@ Build manually | You can look with ``echo $PATH`` what the current search path variable is. -.. code:: wiki +.. code:: bash mkdir par2cmdline cd par2cmdline @@ -55,7 +55,7 @@ Build manually Next you might want to see that "``make clean``" properly works for this package. This will (should) remove all generated files during ``make``. -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/par2cmdline/par2cmdline-0.4/ make clean @@ -76,7 +76,7 @@ ourselves. For each new package a directory under ~/freetz-trunk/make/ should be created with a minimum of two files: -.. code:: wiki +.. code:: bash `--make `--<package-name> @@ -88,13 +88,13 @@ needed like with par2cmdline. Lets create the directory structure and the two files for Par2cmdline: -.. code:: wiki +.. code:: bash cd /home/freetz/freetz-trunk/ mkdir –p /home/freetz/freetz-trunk/make/par2cmdline/patches/ vi /home/freetz/freetz-trunk/make/par2cmdline/Config.in -.. code:: wiki +.. code:: bash config FREETZ_PACKAGE_PAR2CMDLINE bool "par2cmdline 0.4" @@ -109,7 +109,7 @@ par2cmdline, and $(PKG) with be PAR2CMDLINE. ``vi /home/freetz/freetz-trunk/make/par2cmdline/par2cmdline.mk`` -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 0.4) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -145,7 +145,7 @@ par2cmdline, and $(PKG) with be PAR2CMDLINE. | The indents should be replaced with tabs. -.. code:: wiki +.. code:: bash wget http://sourceforge.net/p/parchive/bugs/_discuss/thread/e9911edb/b6aa/attachment/par2cmdline-0.4-gcc4.patch -O 100-gcc4.patch mv 100-gcc4.patch make/par2cmdline/patches/ @@ -156,13 +156,13 @@ par2cmdline, and $(PKG) with be PAR2CMDLINE. Explanation of the lines: -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 0.4) | From this line the package version is determined. In this case 0.4 -.. code:: wiki +.. code:: bash $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -170,21 +170,21 @@ Explanation of the lines: downloaded and used further. Here it will be PAR2CMDLINE_SOURCE:=par2cmdline-0.4.tar.gz -.. code:: wiki +.. code:: bash $(PKG)_SOURCE_MD5:=1551b63e57e3c232254dc62073b723a9 | This is the md5 hash value to verify successful download. PAR2CMDLINE_SOURCE_MD5:=1551b63e57e3c232254dc62073b723a9 -.. code:: wiki +.. code:: bash $(PKG)_SITE:=http://sourceforge.net/projects/parchive/files/$(pkg)/$($(PKG)_VERSION)/ | The download url. PAR2CMDLINE_SITE:= `​http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/ <http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/>`__ -.. code:: wiki +.. code:: bash $(PKG)_BINARY:=$($(PKG)_DIR)/par2 @@ -194,7 +194,7 @@ Explanation of the lines: | (source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/ is where the source is unpacked before it is compiled) -.. code:: wiki +.. code:: bash $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/par2 @@ -202,7 +202,7 @@ Explanation of the lines: saved. PAR2CMDLINE_TARGET_BINARY:= packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 -.. code:: wiki +.. code:: bash $(PKG)_CATEGORY:=Unstable @@ -211,21 +211,21 @@ Explanation of the lines: | The following options are possible ‘Unstable’, ‘Web interfaces’, and ‘Debug helpers’. -.. code:: wiki +.. code:: bash $(PKG_SOURCE_DOWNLOAD) | This line triggers the download of the package. It will be downloaded to ./dl/par2cmdline-0.4.tar.gz -.. code:: wiki +.. code:: bash $(PKG_UNPACKED) | This line not only unpack the download, but also applies any patches that are available in make/par2cmdline/patch/\* -.. code:: wiki +.. code:: bash $(PKG_CONFIGURED_CONFIGURE) @@ -234,14 +234,14 @@ Explanation of the lines: The lines below have the structure of Makefiles: -.. code:: wiki +.. code:: bash target: dependencies [tab] system command | -.. code:: wiki +.. code:: bash $($(PKG)_BINARY): $($(PKG)_DIR)/.configured $(SUBMAKE) -C $(PAR2CMDLINE_DIR) \ @@ -257,7 +257,7 @@ source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/.configured | -.. code:: wiki +.. code:: bash $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) $(INSTALL_BINARY_STRIP) @@ -268,20 +268,20 @@ source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/.configured packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 : source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/par2 -.. code:: wiki +.. code:: bash $(pkg): | par2cmdline: -.. code:: wiki +.. code:: bash $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) | par2cmdline-precompiled: packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/par2cmdline-0.4/root/usr/sbin/par2 -.. code:: wiki +.. code:: bash $(pkg)-clean: -$(SUBMAKE) -C $(PAR2CMDLINE_DIR) clean @@ -293,7 +293,7 @@ par2cmdline-clean: | -.. code:: wiki +.. code:: bash $(pkg)-uninstall: $(RM) $(PAR2CMDLINE_TARGET_BINARY) @@ -305,7 +305,7 @@ par2cmdline-uninstall: | -.. code:: wiki +.. code:: bash $(PKG_FINISH) @@ -335,7 +335,7 @@ Testing Lets see if "``make clean``" works as expected. This should bring the state back to like it was before the "``make``" command. -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/ make clean @@ -348,7 +348,7 @@ Preparing New Package for Public Integration to Freetz Trunk In order to create a file which displays the changes which would be needed in freetz to add your package, issue the following commands: -.. code:: wiki +.. code:: bash svn add make/par2cmdline svn diff ./make > patchfile @@ -361,7 +361,7 @@ recognized as a valid file for upload. In addition you could even create a ready (and compressed) package of the two files which you had edited above: -.. code:: wiki +.. code:: bash tar cfz par2cmdline.tar.gz make/par2cmdline --exclude .svn tar tfz par2cmdline.tar.gz diff --git a/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst index 69481c4..584e074 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/example_3.rst @@ -28,7 +28,7 @@ us. Compile an image with at least libxml2 selected: -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/ make menuconfig @@ -37,7 +37,7 @@ Compile an image with at least libxml2 selected: Verify the library file and include files are available: -.. code:: wiki +.. code:: bash ls /home/freetz/freetz-trunk/toolchain/target/include/libxml2/ ls -la /home/freetz/freetz-trunk/toolchain/target/lib/libxml2* @@ -48,7 +48,7 @@ symlinks pointing to this file. Now lets manual compile this application. -.. code:: wiki +.. code:: bash mkdir nzbget cd ~/freetz-trunk-11230/nzbget/ @@ -97,7 +97,7 @@ Now lets manual compile this application. file to a save location, because make clean often will also delete this file. But this is not applicable for nzbget.) -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/nzbget/nzbget-11.0/ make clean @@ -117,7 +117,7 @@ In this example we will create the directory and file structure ourself. For each new package a directory under ~/freetz-trunk/make/ should be created with a minimum of two files: -.. code:: wiki +.. code:: bash `--make `--<package-name> @@ -129,13 +129,13 @@ needed. | Lets create the directory structure and the two files for NZBget: -.. code:: wiki +.. code:: bash cd /home/freetz/freetz-trunk/ mkdir -p ~/freetz-trunk/make/nzbget/patches/ vi ~/freetz-trunk/make/nzbget/Config.in -.. code:: wiki +.. code:: bash config FREETZ_PACKAGE_NZBGET bool "nzbget 11.0" @@ -150,7 +150,7 @@ The indents should be replaced with tabs. ``vi ~/freetz-trunk/make/nzbget/nzbget.mk`` -.. code:: wiki +.. code:: bash $(call PKG_INIT_BIN, 11.0) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz @@ -199,7 +199,7 @@ We also need to add a small patch file to add the one missing include. ``vi make/nzbget/patches/100-ParCoordinator_ctype.h.patch`` -.. code:: wiki +.. code:: bash diff -dur ParCoordinator.cpp.orig ParCoordinator.cpp --- ParCoordinator.cpp.orig 2013-11-18 23:46:41.720138807 +0100 @@ -240,7 +240,7 @@ Testing Lets see if "``make clean``" works as expected. This should bring the state back to like it was before the "``make``" command. -.. code:: wiki +.. code:: bash cd ~/freetz-trunk/ make clean @@ -253,7 +253,7 @@ Preparing New Package for Public Integration to Freetz Trunk In order to create a file which displays the changes which would be needed in freetz to add your package, issue the following commands: -.. code:: wiki +.. code:: bash svn add make/nzbget svn diff ./make > patchfile @@ -266,7 +266,7 @@ recognized as a valid file for upload. In addition you could even create a ready (and compressed) package of the two files which you had edited above: -.. code:: wiki +.. code:: bash tar cfz nzbget.tar.gz make/nzbget --exclude .svn tar tfz nzbget.tar.gz diff --git a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst index 55ca554..65afd27 100644 --- a/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst +++ b/wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.rst @@ -8,7 +8,7 @@ Web-interface HTTPTunnel Usages information: -.. code:: wiki +.. code:: bash # hts --help Usage: hts [OPTION]... [PORT] @@ -62,7 +62,7 @@ httptunnel.cfg package, so I'm not sure if this default value is good from a security point of view. -.. code:: wiki +.. code:: bash export HTTPTUNNEL_ENABLED='no' export HTTPTUNNEL_HOST='localhost' @@ -130,7 +130,7 @@ httptunnel.cgi httptunnel.cgi without ``lang`` statements: -.. code:: wiki +.. code:: bash #!/bin/sh @@ -185,7 +185,7 @@ httptunnel.cgi without ``lang`` statements: httptunnel.cgi with ``lang`` statements and an entry for each language: -.. code:: wiki +.. code:: bash #!/bin/sh @@ -259,7 +259,7 @@ rc.httptunnel | The case function test for a match. See the `rc.<package> <rc.%3Cpackage%3E.html>`__ page for more information. -.. code:: wiki +.. code:: bash #!/bin/sh @@ -323,7 +323,7 @@ Test on router For the initial development of all files: -.. code:: wiki +.. code:: bash #!/bin/sh export package=httptunnel @@ -345,7 +345,7 @@ For the initial development of all files: For verifying changes to just the rc.<package> file e.g. after already including the files in the Freetz image: -.. code:: wiki +.. code:: bash #!/bin/sh export package=httptunnel diff --git a/wiki/help/howtos/development/developer_information/post_commit_hook.rst b/wiki/help/howtos/development/developer_information/post_commit_hook.rst index 5816dca..f18ae42 100644 --- a/wiki/help/howtos/development/developer_information/post_commit_hook.rst +++ b/wiki/help/howtos/development/developer_information/post_commit_hook.rst @@ -9,7 +9,7 @@ trac-post-commit-hook The trac-post-commit-hook script searches commit messages for text in the form of: -.. code:: wiki +.. code:: bash command #1 command #1, #2 @@ -20,14 +20,14 @@ You can have more then one command in a message. The following commands are supported. There is more then one spelling for each command, to make this as user-friendly as possible. -.. code:: wiki +.. code:: bash closes, fixes - The specified issue numbers are closed with the contents of this commit message being added to it. -.. code:: wiki +.. code:: bash references, refs, addresses, re @@ -37,7 +37,7 @@ this as user-friendly as possible. A fairly complicated example of what you can do is with a commit message of: -.. code:: wiki +.. code:: bash Changed blah and foo to do this or that. Fixes #10 and #12, and refs #12. @@ -49,7 +49,7 @@ trac-post-revprop-change-hook With the trac-post-revprop-change-hook script one could change the svn:log property. The syntax is: -.. code:: wiki +.. code:: bash 1. svn propset svn:log --revprop -r <REVISION> "My corrected log message" <URL> 2. svn propset svn:log --revprop -r <REVISION> -F <file-with-corrected-log-message.txt> <URL> @@ -57,13 +57,13 @@ svn:log property. The syntax is: For easy usage add a "svn comment edit" alias to your .bash_profile: -.. code:: wiki +.. code:: bash export SVN_EDITOR=vi (or whatever) alias svnceF='svn propedit svn:log --revprop http://svn.freetz.org/ -r' Your editor will start after -.. code:: wiki +.. code:: bash svnceF <REVISION> diff --git a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst index 189fa2b..7cc3676 100644 --- a/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst +++ b/wiki/help/howtos/development/developer_information/shell_coding_conventions.rst @@ -291,7 +291,7 @@ Quoting Quick review of the quoting basics: -.. code:: wiki +.. code:: bash single quotes ('') mean quote but do not expand variable or backquote substitutions. Double quotes ("") mean quote but allow expansion. diff --git a/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst index a2ec811..31bc516 100644 --- a/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst +++ b/wiki/help/howtos/development/developer_information/webif/libmodcgi.rst @@ -4,7 +4,7 @@ libmodcgi.sh Diese Bibliothek dient der Erzeugung von Webseiten innerhalb des Freetz-Webinterface. Einzubinden durch -.. code:: wiki +.. code:: bash source /usr/lib/libmodcgi.sh @@ -56,7 +56,7 @@ kodiert. Aufruf: -.. code:: wiki +.. code:: bash cgi_begin TITLE @@ -74,7 +74,7 @@ Startet einen Abschnitt mit dem Titel TITLE. Wie ein "Abschnitt" im Detail in der HTML-Ausgabe umgesetzt wird, obliegt dem gewählten Skin; garantiert wird jedoch ein umgebendes ``<div class="section">`` -.. code:: wiki +.. code:: bash sec_begin TITLE [ID] @@ -112,7 +112,7 @@ href Erzeugt einen Link zu einer dynamisch registrierten Seite im Freetz-Webinterface: Die Argumente sind denen von ``modreg`` ähnlich: -.. code:: wiki +.. code:: bash href file <pkg> <id> href extra <pkg> <cgi-name> @@ -155,7 +155,7 @@ TODO cgi_error, print_error ---------------------- -.. code:: wiki +.. code:: bash cgi_error MESSAGE print_error MESSAGE @@ -172,14 +172,14 @@ Splits PATH_INFO into segments at "/"; returns the segments in the given variables. If there are not more variables than segments, the final variable will receive the remaining unsplit PATH_INFO. -.. code:: wiki +.. code:: bash PATH_INFO=/foo/bar/baz path_info package id rest will set -.. code:: wiki +.. code:: bash package=foo id=bar diff --git a/wiki/help/howtos/development/flash.rst b/wiki/help/howtos/development/flash.rst index 8f08305..a197e9f 100644 --- a/wiki/help/howtos/development/flash.rst +++ b/wiki/help/howtos/development/flash.rst @@ -50,19 +50,19 @@ die ADAM2 API, die je nach Kernel Version an verschiedenen Stellen in Um die Environment mtd Tabelle unter Kernel 2.4 zu lesen kann -.. code:: wiki +.. code:: bash cat /proc/sys/dev/adam2/environment | grep mtd abgerufen werden. Ab Kernel 2.6 muss es so aussehen: -.. code:: wiki +.. code:: bash cat /proc/sys/urlader/environment | grep mtd Die Liste aller Linux mtd Devices erhält man mit: -.. code:: wiki +.. code:: bash cat /proc/mtd diff --git a/wiki/help/howtos/development/install_addon.rst b/wiki/help/howtos/development/install_addon.rst index bb6649d..da8fb75 100644 --- a/wiki/help/howtos/development/install_addon.rst +++ b/wiki/help/howtos/development/install_addon.rst @@ -9,7 +9,7 @@ Erstellen des Image herunterladen und nach ``./addon`` entpacken. Folgendes Beispiel geht davon aus, dass man sich im Verzeichnis des entpackten Freetz befindet: -.. code:: wiki +.. code:: bash tar -C addon -xjvf /pfad/zu/addon-paket-0.1-freetz.tar.bz2 diff --git a/wiki/help/howtos/development/make_room.rst b/wiki/help/howtos/development/make_room.rst index 1d13a50..0183659 100644 --- a/wiki/help/howtos/development/make_room.rst +++ b/wiki/help/howtos/development/make_room.rst @@ -61,7 +61,7 @@ Größe absteigend zu sortieren. Als Beispiel diene hier die AVM-FW 29.04.29 für die Box vom Typ 7170. (Der Übersicht halber lasse ich unwichtige Spalten der Ergebnisliste weg.) -.. code:: wiki +.. code:: bash $ cd build/original/filesystem $ find . -type f | xargs ls -lSR | more @@ -138,7 +138,7 @@ Assistenten, Original-Kernel, Bftp, Callmonitor, Cifsmount, Dropbear (nur Server), MC, Mini_fo, Samba, Screen, Syslogd-CGI, WoL-CGI, Lua, Matrixtunnel. Das sieht dann so aus: -.. code:: wiki +.. code:: bash $ cd build/modified/filesystem $ find . -type f | xargs ls -lSR | more diff --git a/wiki/help/howtos/development/manipulation_detection.rst b/wiki/help/howtos/development/manipulation_detection.rst index 4877eae..da95099 100644 --- a/wiki/help/howtos/development/manipulation_detection.rst +++ b/wiki/help/howtos/development/manipulation_detection.rst @@ -44,7 +44,7 @@ Es gibt allerdings ein Werkzeug, um sich die gesetzten Flags anzeigen zu lassen, wenn man auf der Box via Telnet oder SSH angemeldet ist: ``/sbin/eventsdump``. -.. code:: wiki +.. code:: bash eventsdump -d | head -n 1 @@ -73,7 +73,7 @@ nimmt, müssen wir mit einem Werkzeug wie welche Systemaufrufe ``eventsdump`` macht. Hier ist ein Ausschnitt aus einem ``strace``-Log: -.. code:: wiki +.. code:: bash 01 mkdir("/var", 0777) = -1 EEXIST (File exists) 02 mkdir("/var/flash", 0777) = -1 EEXIST (File exists) @@ -137,7 +137,7 @@ aus: Ausgabe (ohne Zeilenvorschub): -.. code:: wiki +.. code:: bash NOT_SIGNED,TELNET @@ -396,7 +396,7 @@ einfacheres Löschen Man kann tffs-Dateien auch über /proc/tffs löschen. In diesem Fall ist der Befehl: -.. code:: wiki +.. code:: bash echo clear_id 87 > /proc/tffs diff --git a/wiki/help/howtos/development/menuconfig.rst b/wiki/help/howtos/development/menuconfig.rst index 220efb8..cabd701 100644 --- a/wiki/help/howtos/development/menuconfig.rst +++ b/wiki/help/howtos/development/menuconfig.rst @@ -81,7 +81,7 @@ Folgenden zu tun haben werden, sind Stand 15.10.2011 im Trunk, nicht in älteren Stable-Versionen, also frühestens ab *Freetz 1.2*): - .. code:: wiki + .. code:: bash Usage: tools/config/conf [option] <kconfig-file> [option] is _one_ of the following: @@ -123,7 +123,7 @@ Siehe vorerst `#1532 </ticket/1532>`__, insbes. Kommentare Nr. bekommen. Das ist also gut für die Projekthygiene. Ich gebe mal ein Beispiel: - .. code:: wiki + .. code:: bash warning: (FREETZ_PACKAGE_AUTOFS_NFS && FREETZ_PACKAGE_NFSROOT) selects FREETZ_MODULE_nfs which has unmet direct dependencies @@ -250,7 +250,7 @@ Syntax-Fehler in MK-Dateien finden Wir sehen einen Fehler wie diesen: -.. code:: wiki +.. code:: bash $ make menuconfig @@ -270,7 +270,7 @@ fehlerhafte Stelle zu finden: #. ``make menuconfig-nocache`` aufrufen und die problematische Datei (*make/davfs2/Config.in*) direkt von der Konsole ablesen: - .. code:: wiki + .. code:: bash $ make menuconfig-nocache @@ -339,7 +339,7 @@ Shebang den MIME-Typ (``text/x-kconfig``, übrigens selbst erfunden und kein allgemeiner Standard) oder das in ``trac.ini`` konfigurierte Schlüsselwort ``kconfig``, also in etwa so: -.. code:: wiki +.. code:: bash {{{ #!text/x-kconfig @@ -348,7 +348,7 @@ Schlüsselwort ``kconfig``, also in etwa so: Oder so: -.. code:: wiki +.. code:: bash {{{ #!kconfig diff --git a/wiki/help/howtos/development/package_creation.rst b/wiki/help/howtos/development/package_creation.rst index e6a9283..0751090 100644 --- a/wiki/help/howtos/development/package_creation.rst +++ b/wiki/help/howtos/development/package_creation.rst @@ -119,7 +119,7 @@ Kurz-Anleitung um ein bestehendes Package anzupassen - Erstelle in diesem Ordner die Date Makefile mit dem Inhalt: - .. code:: wiki + .. code:: bash BINARY=plugin_name OBJS=plugin_name.o diff --git a/wiki/help/howtos/development/release_management.rst b/wiki/help/howtos/development/release_management.rst index 2a778c8..dd06bde 100644 --- a/wiki/help/howtos/development/release_management.rst +++ b/wiki/help/howtos/development/release_management.rst @@ -13,7 +13,7 @@ Subversion Repository The subversion repository of Freetz follows the recommended repository layout by the subversion maintainers. [1] -.. code:: wiki +.. code:: bash / trunk diff --git a/wiki/help/howtos/development/repack_fw.rst b/wiki/help/howtos/development/repack_fw.rst index 647f760..0ed826c 100644 --- a/wiki/help/howtos/development/repack_fw.rst +++ b/wiki/help/howtos/development/repack_fw.rst @@ -18,7 +18,7 @@ Am einfachsten ist es, Freetz als Infrastruktur zu benutzen, und zwar das Skript ``fwmod`` aus dem Freetz-Hauptverzeichnis. Wenn man es ohne Parameter aufruft, verrät es wie es benutzt werden möchte: -.. code:: wiki +.. code:: bash $ ./fwmod @@ -68,7 +68,7 @@ auszuführen: #. Jetzt entpackt man das von AVM heruntergeladene Firmware-Image in ein Verzeichnis, das hier beispielhaft *unpacked_firmware* genannt wird: - .. code:: wiki + .. code:: bash ./fwmod -u -d unpacked_firmware FRITZ.Box_Fon_WLAN_7170.29.04.59.image @@ -76,7 +76,7 @@ auszuführen: das Dateisystem der Firmware. #. | Zum guten Schluss packt man dann wieder das Firmware-Image: - .. code:: wiki + .. code:: bash ./fwmod -p -d unpacked_firmware FRITZ.Box_Fon_WLAN_7170.29.04.59.image @@ -87,7 +87,7 @@ Skripts ``fwmod``. 6. Nach einer Weile steht am Ende der Skript-Ausgabe so etwas wie - .. code:: wiki + .. code:: bash creating filesystem image merging kernel image @@ -107,7 +107,7 @@ Skripts ``fwmod``. :literal:`fakeroot: preload library `libfakeroot.so' not found, aborting.` hilft ein vorangestelltes LD_PATH_PRELOAD: - .. code:: wiki + .. code:: bash LD_PATH_PRELOAD=tools/build/lib/libfakeroot.so tools/build/bin/fakeroot -- ./fwmod ... @@ -147,7 +147,7 @@ wie folgt vor: fwmod_custom-modifizierte, wieder zusammengepackte und ggf. signierte Image ist unter ``images/`` zu finden. - .. code:: wiki + .. code:: bash STEP 1: UNPACK unpacking firmware image diff --git a/wiki/help/howtos/development/save_mtd_1.rst b/wiki/help/howtos/development/save_mtd_1.rst index 3f44833..9abd252 100644 --- a/wiki/help/howtos/development/save_mtd_1.rst +++ b/wiki/help/howtos/development/save_mtd_1.rst @@ -251,7 +251,7 @@ wenn ``/sbin/makedevs`` sie beim Hochfahren anlegen würde. In ``/etc/device.table`` müßte dazu Folgendes geändert werden, um die Devices bis ``mtd15`` zu erhalten: -.. code:: wiki +.. code:: bash # Aktuelle Einstellung bei AVM und in Freetz /dev/mtd c 640 0 0 90 0 0 1 11 @@ -359,7 +359,7 @@ Device Major/Minor (wer's braucht) und passenden Block-Device-Namen. Auf einer 7270 sieht das etwas anders aus: -.. code:: wiki +.. code:: bash $ cat /proc/partitions @@ -377,7 +377,7 @@ Hier scheint mtdblock2 wirklich der Bootloader zu sein. /proc/mtd ~~~~~~~~~ -.. code:: wiki +.. code:: bash $ cat /proc/mtd @@ -398,7 +398,7 @@ tatsächlich vorgesehen sind. Sehr einfach, sehr praktisch. Und auch hier wieder die 7270: -.. code:: wiki +.. code:: bash $ cat /proc/mtd @@ -435,13 +435,13 @@ im Menuconfig; getestet mit Freetz 1.2) integriert, läßt sich auf einfache Weise eine vollständige Sicherheitskopie ziehen und zurückspielen: -.. code:: wiki +.. code:: bash $ dd if=/dev/mtdblock5 of=/var/media/ftp/uStor00/mtd5.bak Wiederherstellen geht dann umgekehrt: -.. code:: wiki +.. code:: bash $ dd of=/dev/mtdblock5 if=/var/media/ftp/uStor00/mtd5.bak diff --git a/wiki/help/howtos/development/save_mtd_2.rst b/wiki/help/howtos/development/save_mtd_2.rst index 5164571..1cce81b 100644 --- a/wiki/help/howtos/development/save_mtd_2.rst +++ b/wiki/help/howtos/development/save_mtd_2.rst @@ -63,7 +63,7 @@ werden häufig verwendet: Die normale und einfache Methode, die Boot-IP herauszufinden, ist diese: -.. code:: wiki +.. code:: bash cat /proc/sys/urlader/environment | grep my_ipaddress @@ -90,7 +90,7 @@ noch das Media Sensing ausschalten, indem man folgendes als Textdatei ``mediasensing-aus.reg`` speichert und doppelklickt, um es danach in die Windows-Registry eintragen zu lassen: -.. code:: wiki +.. code:: bash Windows Registry Editor Version 5.00 @@ -106,7 +106,7 @@ ein- und ausstöpselt und das Mediasensing für unterschiedliche DHCP-Server benötigt (z.B. Notebook abwechselnd im Büro und zu Hause). Sollte man es doch wieder einschalten wollen, geht das so: -.. code:: wiki +.. code:: bash Windows Registry Editor Version 5.00 @@ -198,7 +198,7 @@ einmal geht hier nicht. Aber Strg-C am Ende des `Downloads <../../../Download.html>`__ ist auch hier zum Beenden erforderlich. -.. code:: wiki +.. code:: bash ncftpget \ -d stdout \ diff --git a/wiki/help/howtos/development/urlader_flags.rst b/wiki/help/howtos/development/urlader_flags.rst index 916a6af..b87f34b 100644 --- a/wiki/help/howtos/development/urlader_flags.rst +++ b/wiki/help/howtos/development/urlader_flags.rst @@ -57,7 +57,7 @@ erforderlich sind, damit die Box überhaupt funktioniert. Das ist ja bekannt, aber zur Auffrischung nochmals die (mit "#" anonymisierte) Ausgabe, generiert auf meiner 7170 mit Kernel 2.6: -.. code:: wiki +.. code:: bash $ cat /proc/sys/urlader/environment HWRevision 94.1.1.0 diff --git a/wiki/help/howtos/security/router_and_firewall.rst b/wiki/help/howtos/security/router_and_firewall.rst index 98cff08..e01c1a6 100644 --- a/wiki/help/howtos/security/router_and_firewall.rst +++ b/wiki/help/howtos/security/router_and_firewall.rst @@ -114,7 +114,7 @@ wählen wir *»Neue Route«*: Fritzbox: Route hinzufügen -.. code:: wiki +.. code:: bash Aktiv Netzwerk Subnetzmaske Gateway X 192.168.181.0 255.255.255.0 192.168.178.14 #LANB @@ -186,14 +186,14 @@ FIXME kopierter Post Port A, denn dann hat man nicht mehr die verschiedenen Netze. #. route hinzufügen: - .. code:: wiki + .. code:: bash Aktiv Netzwerk Subnetzmaske Gateway X 0.0.0.0 0.0.0.0 192.168.178.1 4a) routen **auf der Internet Fritzbox** hinzufügen - .. code:: wiki + .. code:: bash Aktiv Netzwerk Subnetzmaske Gateway X 192.168.181.0 255.255.255.0 192.168.178.14 #LANB diff --git a/wiki/help/howtos/security/switch_config.rst b/wiki/help/howtos/security/switch_config.rst index a43afe7..9896b0a 100644 --- a/wiki/help/howtos/security/switch_config.rst +++ b/wiki/help/howtos/security/switch_config.rst @@ -146,7 +146,7 @@ folgende Beispiel beschreibt die Aufteilung des Switch in die beiden Interface eth0 mit LAN1 und LAN2 sowie eth1 mit LAN3 und LAN4. Der folgende Patch wurde für eine 7270 mit Firmware 76 erstellt. -.. code:: wiki +.. code:: bash --- linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c_orig 2009-06-08 13:59:52.000000000 +0200 +++ linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c 2009-08-20 10:57:14.000000000 +0200 @@ -168,7 +168,7 @@ folgende Patch wurde für eine 7270 mit Firmware 76 erstellt. Den Patch in das Verzeichnis ``/make/linux/patches/2.6.19.2`` oder ggf. Unterordner wie z.B. ``7270_04.76`` kopieren. -.. code:: wiki +.. code:: bash make menuconfig @@ -176,27 +176,27 @@ Box konfigurieren und die Option "Replace Kernel" auswählen Bestehenden Kernel löschen: -.. code:: wiki +.. code:: bash make kernel-dirclean Kernel-Sourcen bereitstellen und Patchen -.. code:: wiki +.. code:: bash make kernel-source Hier kann noch kontrolliert werden, ob der Patch korrekt durchgeführt wird. z.B.: -.. code:: wiki +.. code:: bash applying patch file make/linux/patches/2.6.19.2/7270_04.76/990-cpmac.patch patching file linux-2.6.19.2/drivers/net/avm_cpmac/cpphy_adm6996.c Dann noch das Image erstellen: -.. code:: wiki +.. code:: bash make @@ -211,7 +211,7 @@ Wlan bestehen und und automatisch konfiguriert werden und bleiben. Kopie der ar7.cfg erstellen und diese bearbeiten: -.. code:: wiki +.. code:: bash cd /var/tmp cat /var/flash/ar7.cfg > ar7.cfg @@ -220,7 +220,7 @@ Kopie der ar7.cfg erstellen und diese bearbeiten: Box muss sich im Modus "Router" befinden, dies wird mit der Option ``ethmode`` in der ar7.cfg eingestellt. -.. code:: wiki +.. code:: bash ethmode = ethmode_router; @@ -242,7 +242,7 @@ zweier Devices intern und extern. sauber in der eth-Sektion! (und AVM hat es ja auch selber mit dem wlan-IF so gemacht) -.. code:: wiki +.. code:: bash ethinterfaces { name = "extern"; @@ -279,7 +279,7 @@ zweier Devices intern und extern. Dann die bestehende ``ar7.cfg`` durch die veränderte Datei überschreiben: -.. code:: wiki +.. code:: bash cat /var/tmp/ar7.cfg > /var/flash/ar7.cfg @@ -289,7 +289,7 @@ Dann die Änderungen mit einen Reboot oder ``ar7cfgchanged`` aktivieren. | Auch der special Modus kann über die ar7.cfg konfiguriert werden. | Als Beispiel ein Ausschnitt aus einer Alice Konfiguration) -.. code:: wiki +.. code:: bash cpmacspecial { enabled = yes; @@ -299,7 +299,7 @@ Dann die Änderungen mit einen Reboot oder ``ar7cfgchanged`` aktivieren. | und ein Anderes mit "split" Interfaces -.. code:: wiki +.. code:: bash cpmacspecial { enabled = yes; @@ -336,7 +336,7 @@ Portkonstanten. Das sind folgende Werte: LAN 1 = 0x01, LAN 2 = 0x02, LAN Für das obige Beispiel muss also folgender Befehl aufgerufen werden: -.. code:: wiki +.. code:: bash cpmaccfg ssms eth0 0x23 eth1 0x2c @@ -399,7 +399,7 @@ Bei der 7270v3/3270v3 hat sich der CPU Port von Bit5 auf Bit0 verschoben und die Interface Ports sind um eins nach links gerückt. Für das obige Beispiel muss also folgender Befehl auf der 7270v3 aufgerufen werden: -.. code:: wiki +.. code:: bash cpmaccfg ssms eth0 0x07 eth1 0x19 diff --git a/wiki/help/irc.en.rst b/wiki/help/irc.en.rst index 2f830e7..f74f0fd 100644 --- a/wiki/help/irc.en.rst +++ b/wiki/help/irc.en.rst @@ -2,7 +2,7 @@ If you need instant help you can try the fritzbox IRC channel. Some of the developers are known to sometimes hang out on there: ##fritzbox on Freenode. -.. code:: wiki +.. code:: bash Server="chat.freenode.net" Port="6667" diff --git a/wiki/help/irc.rst b/wiki/help/irc.rst index da45943..c5718ef 100644 --- a/wiki/help/irc.rst +++ b/wiki/help/irc.rst @@ -13,7 +13,7 @@ Intro **Zugangsdaten:** -.. code:: wiki +.. code:: bash Server="chat.freenode.net" Port="6667" diff --git a/wiki/help/trouble_shooting.rst b/wiki/help/trouble_shooting.rst index f4626f3..ab0b13e 100644 --- a/wiki/help/trouble_shooting.rst +++ b/wiki/help/trouble_shooting.rst @@ -13,7 +13,7 @@ Troubleshooting .config verwendet werden. | Mögliche Abhilfe: -.. code:: wiki +.. code:: bash $ yes "" || make oldconfig <--- Alte .config Datei auffrischen oder @@ -29,7 +29,7 @@ man versuchen diese Strategien anzuwenden: Einzelnes Paketes erneut erstellen: -.. code:: wiki +.. code:: bash $ make iptables-dirclean <--- Sourceverzeichnis eines problematischen Package löschen (hier: iptables) weiter mit @@ -37,7 +37,7 @@ Einzelnes Paketes erneut erstellen: Von Anfang neu bauen: -.. code:: wiki +.. code:: bash $ make dirclean <--- Source-Verzeichnisse aller bisher erstellter Software löschen weiter mit diff --git a/wiki/help/wikiedit/formatting_guide.rst b/wiki/help/wikiedit/formatting_guide.rst index d1fab97..90f1484 100644 --- a/wiki/help/wikiedit/formatting_guide.rst +++ b/wiki/help/wikiedit/formatting_guide.rst @@ -17,7 +17,7 @@ Beispiel-Artikel Die Zusammenfassung einmal vorab: So könnte der Artikel für ein fiktives Paket namens *dummy* aussehen: -.. code:: wiki +.. code:: bash [[TOC(heading=Inhaltsverzeichnis)]] diff --git a/wiki/help/wikiedit/screenshots.rst b/wiki/help/wikiedit/screenshots.rst index f8a3ba7..8f18437 100644 --- a/wiki/help/wikiedit/screenshots.rst +++ b/wiki/help/wikiedit/screenshots.rst @@ -99,7 +99,7 @@ Screenshots referenzieren in Originalgröße zu ermöglichen, kann man sich eines Tricks bedienen, und den passenden Link in die Beschreibung packen: - .. code:: wiki + .. code:: bash [[Screenshot(6,width=200,height=145,align=right,description=[screenshot:6 $description])]] diff --git a/wiki/help/wikiedit/tables.rst b/wiki/help/wikiedit/tables.rst index eb4a6b0..764f53f 100644 --- a/wiki/help/wikiedit/tables.rst +++ b/wiki/help/wikiedit/tables.rst @@ -59,7 +59,7 @@ Standard Mit dem Trac-Wiki Standard (in gepatchter Form |;)|) ist dies am einfachsten möglich: -.. code:: wiki +.. code:: bash ||| ||| 1 ||| 2 ||| 3 || ||| A || X || || X || @@ -85,7 +85,7 @@ RST Hier sieht das ein wenig anders aus: -.. code:: wiki +.. code:: bash {{{ #!rst @@ -152,7 +152,7 @@ Einfaches Beispiel Gibt man folgendes ein: -.. code:: wiki +.. code:: bash {{{ #!mediawiki @@ -183,7 +183,7 @@ Zu guter Letzt ein leicht komplexeres Beispiel, bei dem einige Formatierungen (Hintergrund-Farbe etc.) explizit mit vorgegeben, und auch ein paar Zellen verbunden werden. Eingegeben wurde also: -.. code:: wiki +.. code:: bash {{{ #!mediawiki diff --git a/wiki/help/wikiedit/toc.rst b/wiki/help/wikiedit/toc.rst index ce74572..aa079e2 100644 --- a/wiki/help/wikiedit/toc.rst +++ b/wiki/help/wikiedit/toc.rst @@ -12,7 +12,7 @@ deutschsprachigen Seiten das Argument ``heading=Inhaltsverzeichnis`` - als Beispiel für ein einfaches Inhaltsverzeichnis für die aktuell bearbeitete Seite sähe das dann so aus: -.. code:: wiki +.. code:: bash [[TOC(heading=Inhaltsverzeichnis)]] @@ -26,7 +26,7 @@ einbeziehen, sodass ein Inhaltsverzeichnis entsteht, welches mehrere Artikel überspannt. Hierzu gibt man die zu indizierenden Seiten explizit an: -.. code:: wiki +.. code:: bash [[TOC(help/wikiedit,help/wikiedit/toc,help/wikiedit/goodies,heading=Inhaltsverzeichnis)]] @@ -35,7 +35,7 @@ einbeziehen. Da man auf diese Art allerdings jedesmal, wenn eine neue Unterseite angelegt wird, das TOC-Makro auf allen beteiligten Seiten wieder anpassen müsste, geht das auch einfacher: -.. code:: wiki +.. code:: bash [[TOC(help/wikiedit,help/wikiedit/*,heading=Inhaltsverzeichnis)]] @@ -56,7 +56,7 @@ einschränken, wozu der Parameter ``depth`` herangezogen werden kann. Soll das TOC-Makro also beispielsweise nur die Überschriften der Ebenen 1 und 2 anzeigen, sähe das so aus: -.. code:: wiki +.. code:: bash [[TOC(help/wikiedit,help/wikiedit/*,depth=2,heading=Inhaltsverzeichnis)]] @@ -78,7 +78,7 @@ darum geht, die Überschriften aufzulisten - und es nicht unbedingt der "schöne gelbe Kasten da rechts" sein muss, bietet das Keyword ``inline`` hier Abhilfe: -.. code:: wiki +.. code:: bash [[TOC(help/wikiedit,help/wikiedit/*,inline,noheading)]] diff --git a/wiki/index.en.rst b/wiki/index.en.rst index ce5612a..74559d7 100644 --- a/wiki/index.en.rst +++ b/wiki/index.en.rst @@ -111,7 +111,7 @@ Wiki <http://wiki.ip-phone-forum.de/software:ds-mod:installation#linux>`__ build *Freetz*. If you're really in a hurry make sure you've got all the required tools installed and then do -.. code:: wiki +.. code:: bash make menuconfig make diff --git a/wiki/kernel.rst b/wiki/kernel.rst index 2404e25..a705588 100644 --- a/wiki/kernel.rst +++ b/wiki/kernel.rst @@ -1278,7 +1278,7 @@ Tree like overview of all kernel sources published by AVM so far (as of 2014-09-23) for 05.2x, 05.5x, 06.0x, and 06.2x firmwares (generated using ``tree -d -L 4 --noreport | grep -Ev "linux-2.6.(28|32)"``). -.. code:: wiki +.. code:: bash Legend: * listed directly under 0X.YZ => unique kernel-source-package not equal to any other diff --git a/wiki/libs.rst b/wiki/libs.rst index 793380c..d8c81ff 100644 --- a/wiki/libs.rst +++ b/wiki/libs.rst @@ -14,7 +14,7 @@ Abwahl diverser Pakete auch die nicht mehr benötigten libs zu entfernen (damit das Image nachher auch tatsächlich nicht zu groß wird) gibt es folgende *make*-Targets: -.. code:: wiki +.. code:: bash # Unnötige Libs und Busybox-Applets deselektieren make config-clean-deps diff --git a/wiki/libs/ftdi.en.rst b/wiki/libs/ftdi.en.rst index 4a59b57..538246b 100644 --- a/wiki/libs/ftdi.en.rst +++ b/wiki/libs/ftdi.en.rst @@ -28,7 +28,7 @@ First of all you have to program the CBUS port lines for I/O using Example program to let a LED blink on port CBUS0: -.. code:: wiki +.. code:: bash #include <stdio.h> #include <ftdi.h> @@ -63,7 +63,7 @@ Example program to let a LED blink on port CBUS0: It is possible to test in Ubuntu first: -.. code:: wiki +.. code:: bash sudo apt-get install libftdi-dev gcc blink.c -lftdi -Wall -oblink @@ -71,13 +71,13 @@ It is possible to test in Ubuntu first: Compile for Freetz: -.. code:: wiki +.. code:: bash ~/freetz/toolchain/target/bin/mipsel-linux-gcc blink.c -lftdi -Wall -oblink Run on your box: -.. code:: wiki +.. code:: bash LD_LIBRARY_PATH=/mod/lib:/usr/lib/freetz export LD_LIBRARY_PATH diff --git a/wiki/libs/ftdi.rst b/wiki/libs/ftdi.rst index 6f7e7fe..e38ca67 100644 --- a/wiki/libs/ftdi.rst +++ b/wiki/libs/ftdi.rst @@ -21,7 +21,7 @@ Benutzung Beispiel-Parameter ~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 @@ -57,7 +57,7 @@ Verbindung zum Testen öffnen - Auf der Fritzbox: - .. code:: wiki + .. code:: bash echo "Hallo" > /var/ttyUSB0 @@ -69,7 +69,7 @@ Verbindung zum Testen - Ergebnis im Hyperterminal auf dem Kontrollgerät: - .. code:: wiki + .. code:: bash Hallo diff --git a/wiki/packages/aiccu.en.rst b/wiki/packages/aiccu.en.rst index 63ec3ce..7e85919 100644 --- a/wiki/packages/aiccu.en.rst +++ b/wiki/packages/aiccu.en.rst @@ -31,24 +31,24 @@ Creating a Feetz Image with AICCU | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected: -.. code:: wiki +.. code:: bash [*] Show advanced options [*] Enable IPv6 support -.. code:: wiki +.. code:: bash Package selection ---> Standard packages ---> [*] aiccu - aiccu - ipv6 connectivity from sixxs I also advice to add the following for easier troubleshooting: -.. code:: wiki +.. code:: bash Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] ping6 command Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] traceroute6 command @@ -88,13 +88,13 @@ you are running out of CPU resources. You can verify this with the following command: -.. code:: wiki +.. code:: bash uptime Or: -.. code:: wiki +.. code:: bash cat /proc/loadavg @@ -105,7 +105,7 @@ Or: You can also use the following command: -.. code:: wiki +.. code:: bash top diff --git a/wiki/packages/aiccu.rst b/wiki/packages/aiccu.rst index f03e5a3..f583ea5 100644 --- a/wiki/packages/aiccu.rst +++ b/wiki/packages/aiccu.rst @@ -10,7 +10,7 @@ Firmware Image erstellen Zunächst rufen wir das Menuconfig auf: -.. code:: wiki +.. code:: bash make menuconfig @@ -18,7 +18,7 @@ Es muss zunächst euer Router ausgewählt sein, auch "Show advanced options" und das darunter erscheinende "Enable IPv6 support". Zudem werden folgende Pakte benötigt: -.. code:: wiki +.. code:: bash Standard Packages -> Dnsmasq Web Interface -> NHIPT Iptables CGI @@ -36,13 +36,13 @@ den nächsten Schritt benötigten Dateien erstellen. Nachdem der Vorgang abgeschlossen ist, gebt ihr in die Konsole diesen Befehl ein: -.. code:: wiki +.. code:: bash make kernel-menuconfig In diesem Menü aktiviert ihr nun folgende Optionen: -.. code:: wiki +.. code:: bash Loadable module support > Automatic kernel module loading (CONFIG_KMOD=y) Networking > Networking options > IPv6: IPv6-in-IPv4 tunnel (SIT driver) (CONFIG_IPV6_SIT=y) @@ -80,7 +80,7 @@ Netzwerksetup Wählt den Punkt "Pakete" aus, um aiccu und radvd zu konfigurieren. Zuerst aiccu: -.. code:: wiki +.. code:: bash Starttyp: Automatisch Benutzername: Euer SixXS Benutzername @@ -94,7 +94,7 @@ Subnet, dass zu eurem Tunnel geroutet wird. Lautet euer Prefix beispielsweise !2001:6f8:1234::/48, so muss die Konfiguration folgendermaßen aussehen: -.. code:: wiki +.. code:: bash Starttyp: Automatisch IPv6 Schnittstelle: lan @@ -125,7 +125,7 @@ erschlagen und scrollt direkt zu den Feldern, über denen "RULES FOR CHAIN INPUT [ filter ] [ IPv6 ]" steht. Tragt jetzt in die Felder folgende Werte ein: -.. code:: wiki +.. code:: bash "In IFC" = "sixxs" "Prot" = "ipv6" @@ -135,12 +135,12 @@ folgende Werte ein: und klickt auf "Insert". Das ganze wiederholt ihr dann noch (wieder in den gleichen Feldern) mit den Werten -.. code:: wiki +.. code:: bash "In IFC" = "sixxs" "Prot" = "ipv6-icmp" -.. code:: wiki +.. code:: bash "In IFC" = "sixxs" "Action" = "DROP" @@ -204,7 +204,7 @@ Modul für meinen alten 2.6.19er Kernel auf der 7170 geschrieben. Über Kommentare und Verbesserungsvorschläge freue ich mich. Ich weiß selbst dass es nicht perfekt ist, aber besser so als gar keinen Schutz. -.. code:: wiki +.. code:: bash # Flush rules ip6tables -F diff --git a/wiki/packages/apache.rst b/wiki/packages/apache.rst index 6380adb..5dd8d20 100644 --- a/wiki/packages/apache.rst +++ b/wiki/packages/apache.rst @@ -45,21 +45,21 @@ Vorgehensweise: nötig, dass zwei symlinks erstellt werden dies kann z.B so gelöst werden -.. code:: wiki +.. code:: bash ln -s /var/media/ftp/uStor01/apache/logs /var/logs Danach kann man die Apache Befehle direkt verwenden (z.B. apachectl start|stop|restart): -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/apache/bin/apachectl start **Verwendet man kein selbsterstelltes Binary, so sollte (muss) man Apache mittels folgendem Befehl starten:** -.. code:: wiki +.. code:: bash httpd-2.2.4/bin/apachectl -f /Pfad/zur/Apache/Config/httpd.conf -k start @@ -71,14 +71,14 @@ Apache mittels folgendem Befehl starten:** - Wichtig: damit PHP funktioniert müssen folgende Zeilen in die Apache-Konfiguration eingefügt werden: -.. code:: wiki +.. code:: bash Action php-script /cgi-bin/php-cgi AddHandler php-script .php Für CGI's muss folgende Zeile hinzugefügt/auskommentiert werden: -.. code:: wiki +.. code:: bash AddHandler cgi-script .cgi @@ -97,7 +97,7 @@ root ist nur bei speziellen Binaries möglich). Derzeit (Stand Juli 2011) kann folgendes verwendet werden: -.. code:: wiki +.. code:: bash User boxusr80 Group root @@ -109,7 +109,7 @@ entsprechende Verzeichnis AllowOverride entsprechend angepasst werden Hier eine entsprechende Config für ein Verzeichnis (diese ermöglicht jedem den Zugriff!): -.. code:: wiki +.. code:: bash <Directory "/var/media/ftp/uStor01/apache/htdocs"> Options All @@ -132,7 +132,7 @@ Passwortschutz mit .htaccess Soll ein Verzeichnis mittels *.htaccess* vor autorisiertem Zugriff geschützt werden kann folgendes hinzugefügt werden: -.. code:: wiki +.. code:: bash AuthType Basic AuthUserFile /path/to/.ht.password !AuthName "Die Website erfordert Zugangsdaten" require valid-user @@ -142,7 +142,7 @@ Passwortschutz mit .htaccess **Wichtig** : im apache Ordner befindet sich htpasswd, mit dem man die Passwortdatei erstellen kann. -.. code:: wiki +.. code:: bash htpasswd -c/path/to/.ht.password username @@ -151,7 +151,7 @@ mit dem angegebenem Usernamen) Um Benutzer zur Passwortdatei hinzuzufügen folgendes benutzen: -.. code:: wiki +.. code:: bash htpasswd/path/to/.ht.password username @@ -184,7 +184,7 @@ zusätzliche Website, welche angezeigt werden soll, muss ein VirtualHost erstellt werden. Hier eine Beispielkonfiguration um das Freetz-Interface über freetz.meinedomain.at anzeigen zu lassen: -.. code:: wiki +.. code:: bash <VirtualHost *:80> ProxyPreserveHost On diff --git a/wiki/packages/autofs.rst b/wiki/packages/autofs.rst index ac1d239..d1cd6bf 100644 --- a/wiki/packages/autofs.rst +++ b/wiki/packages/autofs.rst @@ -32,7 +32,7 @@ NFS Für NFS wird lediglich das Modul nfs.ko benötigt. -.. code:: wiki +.. code:: bash NFS-SHARE -rw,soft,intr,rsize=8192,wsize=8192 SERVER:/SHARE @@ -44,7 +44,7 @@ Samba Hierfür wird das Paket `cifsmount <cifsmount.html>`__ benötigt, dessen Webinterface nicht. -.. code:: wiki +.. code:: bash SMB-SHARE -fstype=cifs,user=USER,pass=PASS,ro ://SERVER/SHARE @@ -56,7 +56,7 @@ WebDAV Für WebDAV wird das `davfs2 <davfs2.html>`__-Paket (ohne Webinterface) benötigt. -.. code:: wiki +.. code:: bash DAV-SHARE -fstype=davfs,conf=/tmp/flash/autofs/davfs.conf :http\://SERVER @@ -64,7 +64,7 @@ Außerdem noch diese 2 Dateien je Mountpoint: /tmp/flash/autofs/davfs.conf -.. code:: wiki +.. code:: bash secrets /tmp/flash/autofs/davfs.secrets ask_auth 0 @@ -73,7 +73,7 @@ Außerdem noch diese 2 Dateien je Mountpoint: /tmp/flash/autofs/davfs.secrets (Dateirechte 600!) -.. code:: wiki +.. code:: bash http://SERVER USERNAME PASSWORT @@ -84,7 +84,7 @@ SSHfs Es werden die Packages OpenSSH und SSHfs-FUSE benötigt -.. code:: wiki +.. code:: bash SSH-SHARE -fstype=fuse,rw,allow_other :sshfs\#USER@SERVER\:/ diff --git a/wiki/packages/bash.rst b/wiki/packages/bash.rst index 3209b37..367054f 100644 --- a/wiki/packages/bash.rst +++ b/wiki/packages/bash.rst @@ -33,7 +33,7 @@ angezeigt wird. Dazu muss man die Variable PS1 anpassen, was man sehr bequem über das Freetz-WebGUI unter Einstellungen/.profile machen kann. Die Bash kennt für den Prompt u.a. folgende Variablen für PS1: -.. code:: wiki +.. code:: bash \h : Host name \H : Host name inklusive Domain @@ -48,13 +48,13 @@ Die Bash kennt für den Prompt u.a. folgende Variablen für PS1: So lassen sich im Prompt z.B. auch noch User- und Hostname zusätzlich zum aktuellen Pfad anzeigen: -.. code:: wiki +.. code:: bash export PS1="\u@\h \w \$ " Das Resultat mit o.g. Beispiel sieht dann so aus: -.. code:: wiki +.. code:: bash root@fb1 /var/mod/root $ @@ -71,7 +71,7 @@ Das Ganze funktioniert sowohl für bash (mit diesem Paket installiert) als auch für ash (Standard in Freetz, ohne zusätzliches Paket), wobei ash nur folgendes unterstützt: -.. code:: wiki +.. code:: bash \h : Host name \u : User Benutzerkennung diff --git a/wiki/packages/bftpd.rst b/wiki/packages/bftpd.rst index 8e11e1b..8602fe3 100644 --- a/wiki/packages/bftpd.rst +++ b/wiki/packages/bftpd.rst @@ -14,7 +14,7 @@ einem Passwort zu schützen, kann man wie folgt vorgehen: - In einer Shell (serielle Konsole, telnet oder dropbear) das Passwort für den Benutzer ftp ändern: - .. code:: wiki + .. code:: bash modpasswd ftp @@ -40,7 +40,7 @@ werden. Auf dieser Seite kann man sich die für die ``/var/tmp/passwd`` benötigten Zeilen mit Benutzer und Passwort erzeugen lassen: -.. code:: wiki +.. code:: bash http://home.flash.net/cgi-bin/pw.pl @@ -48,7 +48,7 @@ Alternativ geht das auch mit dem Unix/Linux Kommando ``htpasswd``. Die Syntax sieht dann wie folgt aus: -.. code:: wiki +.. code:: bash echo "user1:pass1:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd echo "user2:pass2:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd diff --git a/wiki/packages/bind.rst b/wiki/packages/bind.rst index 176bcbb..b8c261e 100644 --- a/wiki/packages/bind.rst +++ b/wiki/packages/bind.rst @@ -13,7 +13,7 @@ entnommen werden. Minimal *named.conf*: -.. code:: wiki +.. code:: bash options { directory "/var/media/ftp/uFlash/bind"; @@ -29,7 +29,7 @@ Minimal *named.conf*: Minimal zone file */var/media/ftp/uFlash/bind/example.org*: -.. code:: wiki +.. code:: bash $TTL 300 @ IN SOA @ example.org. ( diff --git a/wiki/packages/bip.rst b/wiki/packages/bip.rst index ace8970..75195d3 100644 --- a/wiki/packages/bip.rst +++ b/wiki/packages/bip.rst @@ -49,7 +49,7 @@ Beispiel haben wir die 2222 gewählt) und der Speicherort des Log-Files angegeben werden. Des weiteren müsst ihr noch die **user.config** von hier : -.. code:: wiki +.. code:: bash ###client_side_ssl = false; ### Networks @@ -82,7 +82,7 @@ kopieren und nach Euren Wünschen anpassen. Geändert werden muss eigentlich nur der **Mustermann** gegen Euren **Usernamen**. Unter **Networks** kann auch folgender Eintrag genutzt werden: -.. code:: wiki +.. code:: bash network { name = "freetz"; diff --git a/wiki/packages/bluez.rst b/wiki/packages/bluez.rst index e786987..5edf914 100644 --- a/wiki/packages/bluez.rst +++ b/wiki/packages/bluez.rst @@ -32,13 +32,13 @@ Freetz PAN Server: - Find your device - .. code:: wiki + .. code:: bash hcitool scan - Trust your device: - .. code:: wiki + .. code:: bash dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0/dev_YY_YY_YY_YY_YY_YY org.bluez.Device.SetProperty string:Trusted variant:boolean:true @@ -48,7 +48,7 @@ Android PANU Client: - Make the connection (Android: root required!): - .. code:: wiki + .. code:: bash hcitool scan pand --connect xx:xx:xx:xx:xx:xx @@ -69,7 +69,7 @@ Ubuntu client: - Make the connection: - .. code:: wiki + .. code:: bash hcitool scan sudo pand --connect xx:xx:xx:xx:xx:xx @@ -84,7 +84,7 @@ client.* lsusb: -.. code:: wiki +.. code:: bash VID=0a12 PID=0001 @@ -119,19 +119,19 @@ DBUS See all interface methods: -.. code:: wiki +.. code:: bash dbus-send --system --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0 org.freedesktop.DBus.Introspectable.Introspect See the properties of your adapter: -.. code:: wiki +.. code:: bash dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0 org.bluez.Adapter.GetProperties See the properties of your device: -.. code:: wiki +.. code:: bash dbus-send --system --type=method_call --dest=org.bluez --print-reply /org/bluez/$(pidof bluetoothd)/hci0/dev_YY_YY_YY_YY_YY_YY org.bluez.Device.GetProperties @@ -140,7 +140,7 @@ See the properties of your device: Sizes ----- -.. code:: wiki +.. code:: bash libbluetooth ................. 55.07 Kb libdbus ...................... 86.59 Kb diff --git a/wiki/packages/br2684ctl.en.rst b/wiki/packages/br2684ctl.en.rst index 3098a20..231f091 100644 --- a/wiki/packages/br2684ctl.en.rst +++ b/wiki/packages/br2684ctl.en.rst @@ -28,11 +28,11 @@ I used Freetz-1.2 for a FritzBox 7170. | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig -.. code:: wiki +.. code:: bash Package selection ---> Testing ---> [*] br2684ctl (binary only) @@ -40,7 +40,7 @@ I used Freetz-1.2 for a FritzBox 7170. | You can also add a script (default.script) to the image at compile time (see below for details). -.. code:: wiki +.. code:: bash Advanced options ---> BusyBox options ---> [*] udhcpc @@ -54,7 +54,7 @@ Configuring br2684ctl There is no GUI interface for br2684ctl. There is only one executable with a number of mandatory and optional parameters. -.. code:: wiki +.. code:: bash br2684ctl [-c n -e 0|1 -b -s buf_size [-q qos] -a [itf.]vpi.vci ] @@ -91,30 +91,30 @@ with a number of mandatory and optional parameters. | Creating ATM PvC 0/32 in the background with interface name nas0 using LLC encapsulation. -.. code:: wiki +.. code:: bash br2684ctl -b -e 0 -c 0 -a 0.32 -.. code:: wiki +.. code:: bash br2684ctl -e 0 -c 0 -q ubr,aal5:max_pcr=5Mbps,min_pcr=320kbps,max_sdu=1524 -a 0.32 | After the interface is created you can see it with the following command: -.. code:: wiki +.. code:: bash ifconfig -a | or -.. code:: wiki +.. code:: bash ifconfig nas0 Some details can be viewed at: -.. code:: wiki +.. code:: bash cd /proc/net/atm/ ls -la @@ -141,7 +141,7 @@ Obtain IP configuration via DHCP | To include the script (default.script) at compile time follow the following steps: -.. code:: wiki +.. code:: bash cd ~/freetz-x.y/addon/ echo default.script >> static.pkg @@ -174,13 +174,13 @@ Obtain IP configuration via DHCP Enable the interface: -.. code:: wiki +.. code:: bash ifconfig nas0 up Obtain ip configuration info via DHCP: -.. code:: wiki +.. code:: bash udhcpc -i nas0 -s /etc/dhcp/default.script @@ -192,34 +192,34 @@ Debuging the DHCP process To obtain additional debug information from the udhcpc package you need to enable this, and recompile a new image. -.. code:: wiki +.. code:: bash cd ~/freetz-x.y/source/target-mipsel_uClibc-0.9.29/ref-8mb/busybox-1.18.5 vi .config In the .config file search for CONFIG_UDHCP_DEBUG=0 and change it to: -.. code:: wiki +.. code:: bash CONFIG_UDHCP_DEBUG=3 Initiate recompile of the busybox packages during the next make: -.. code:: wiki +.. code:: bash cd ~/freetz-1.2/ make busybox-clean Compile a new image with: -.. code:: wiki +.. code:: bash make After installing the new image on the FritzBox start the DHCP Client with: -.. code:: wiki +.. code:: bash udhcpc -i nas0 -s /etc/dhcp/default.script -vvv diff --git a/wiki/packages/callmonitor.rst b/wiki/packages/callmonitor.rst index 37ad239..263c5c8 100644 --- a/wiki/packages/callmonitor.rst +++ b/wiki/packages/callmonitor.rst @@ -45,7 +45,7 @@ die in Freetz 1.2 oder der Freetz-Entwicklerversion enthalten sind. Zum Einbinden der aktuellsten Version aus der Entwicklerversion in Freetz 1.2 kann man so vorgehen (im Wurzelverzeichnis von Freetz): -.. code:: wiki +.. code:: bash svn switch http://svn.freetz.org/trunk/make/callmonitor/callmonitor.mk make/callmonitor/callmonitor.mk diff --git a/wiki/packages/callmonitor/actions/call.rst b/wiki/packages/callmonitor/actions/call.rst index bdfe7e8..99dca44 100644 --- a/wiki/packages/callmonitor/actions/call.rst +++ b/wiki/packages/callmonitor/actions/call.rst @@ -6,13 +6,13 @@ Allgemeine Hinweise zu Funktionsaufrufen Der Aufruf von Funktionen, die auf `getmsg <getmsg.html>`__ oder `rawmsg <rawmsg.html>`__ basieren, sieht immer so aus: -.. code:: wiki +.. code:: bash foomessage [OPTION]... <host> [<message>]... Der einfachste und am meisten genutzte Fall ist dementsprechend -.. code:: wiki +.. code:: bash foomessage <host> @@ -29,7 +29,7 @@ sorgt automatisch für die Kodierung der Umgebungsvariablen, die Text enthalten (z.B. ``XBOX_CAPTION`` und ``DREAM_CAPTION``). Man kann also einfach -.. code:: wiki +.. code:: bash FOO_CAPTION="Dies ist der zu 100% richtige Titel" foomessage <host> diff --git a/wiki/packages/callmonitor/actions/config.rst b/wiki/packages/callmonitor/actions/config.rst index 574ba7a..606418f 100644 --- a/wiki/packages/callmonitor/actions/config.rst +++ b/wiki/packages/callmonitor/actions/config.rst @@ -14,7 +14,7 @@ Portforwarding Das Portforwarding kann aktiviert und deaktiviert werden. -.. code:: wiki +.. code:: bash Syntax: config forward <NUMMER> <on|off|toggle> @@ -39,7 +39,7 @@ WLAN Das WLAN kann aktiviert und deaktiviert werden. -.. code:: wiki +.. code:: bash Syntax: config wlan [2.4|5|guest] <on|off> @@ -67,7 +67,7 @@ DECT DECT kann aktiviert und deaktiviert werden. -.. code:: wiki +.. code:: bash Syntax: config dect <on|off> @@ -88,7 +88,7 @@ SIP Die SIP-Accounts können aktiviert und deaktiviert werden. -.. code:: wiki +.. code:: bash Syntax: config sip <NUMMER> <on|off> @@ -112,7 +112,7 @@ Rufumleitung werden momentan nur Rufumleitungen des Typs "Anrufe von Rufnummer xy", nicht aber "Alle Anrufe an Fon X". -.. code:: wiki +.. code:: bash Syntax config diversion <NUMMER> <on|off> diff --git a/wiki/packages/callmonitor/actions/dbox.rst b/wiki/packages/callmonitor/actions/dbox.rst index 4ae1b74..5784575 100644 --- a/wiki/packages/callmonitor/actions/dbox.rst +++ b/wiki/packages/callmonitor/actions/dbox.rst @@ -8,7 +8,7 @@ DBox2 DBox2 mit Neutrino Image ------------------------ -.. code:: wiki +.. code:: bash dboxmessage (default_dboxmessage) dboxpopup (default_dboxpopup) @@ -20,7 +20,7 @@ werden muss. ``default_dboxmessage}} und {{{default_dboxpopup`` haben die Funktion ``default_dbox`` als gemeinsame Grundlage. -.. code:: wiki +.. code:: bash dboxlcd (default_dboxlcd) @@ -35,7 +35,7 @@ Wenn ihr ein Enigma Image auf eurer Box habt und im Popup vor dem eigentlichen Text ein "popup=" oder "nmsg=" erscheint, so könnt ihr wie bei der Dreambox folgenden Befehl nutzen: -.. code:: wiki +.. code:: bash dreammessage (default_dreammessage) diff --git a/wiki/packages/callmonitor/actions/dial.rst b/wiki/packages/callmonitor/actions/dial.rst index 98e5ad7..437ac78 100644 --- a/wiki/packages/callmonitor/actions/dial.rst +++ b/wiki/packages/callmonitor/actions/dial.rst @@ -6,7 +6,7 @@ Wählhilfe Die aus dem Webinterface von AVM bekannte Wählhilfe steht hier als Funktion zur Verfügung (seit Callmonitor 1.1). -.. code:: wiki +.. code:: bash dial NUMMER [PORT] @@ -18,6 +18,6 @@ Die Ports 1 bis 3 sind die analogen Telefonen, 50 alle ISDN-Telefone, ab Auflegen ist auch möglich (seit Callmonitor 1.5): -.. code:: wiki +.. code:: bash hangup [PORT] diff --git a/wiki/packages/callmonitor/actions/dreambox.rst b/wiki/packages/callmonitor/actions/dreambox.rst index 7a3f957..81fb295 100644 --- a/wiki/packages/callmonitor/actions/dreambox.rst +++ b/wiki/packages/callmonitor/actions/dreambox.rst @@ -8,7 +8,7 @@ DreamBox Dreambox mit Enigma 1 --------------------- -.. code:: wiki +.. code:: bash dreammessage [user[:password]@]host[:port] ["Alternative Nachricht"] @@ -36,7 +36,7 @@ Desweiteren gibt es drei Umgebungsvariablen, die das Verhalten von ``dreammessage`` beeinflussen. Sie sind hier in einem typischen Aufruf mit ihren Standardwerten gezeigt: -.. code:: wiki +.. code:: bash DREAM_TIMEOUT=10 DREAM_CAPTION="Telefonanruf" DREAM_ICON=1 dreammessage box1 @@ -89,7 +89,7 @@ Thread <http://www.ip-phone-forum.de/showthread.php?t=100706&page=55>`__ DreamBox mit Enigma 2 --------------------- -.. code:: wiki +.. code:: bash dream2message (default_dream2message) @@ -98,6 +98,6 @@ DreamBox mit Enigma 2 | Beispiel für ein Popup das nur den Namen (sofern in der Callers vorhanden) und die Telefonnummer des Anrufers anzeigt: -.. code:: wiki +.. code:: bash in:request ^ ^ dream2message 192.168.178.25 "${SOURCE_NAME} ${SOURCE} ruft an." diff --git a/wiki/packages/callmonitor/actions/getmsg.rst b/wiki/packages/callmonitor/actions/getmsg.rst index 11d687d..9c091fd 100644 --- a/wiki/packages/callmonitor/actions/getmsg.rst +++ b/wiki/packages/callmonitor/actions/getmsg.rst @@ -17,7 +17,7 @@ wird. ``getmsg`` sorgt selbst für die richtige Kodierung der Nachrichten Syntax: ------- -.. code:: wiki +.. code:: bash Usage: getmsg [OPTION]... <HOST> <url-template> [<message>]... getmsg [OPTION]... -t <url-template> <host> [<message>]... @@ -46,7 +46,7 @@ und der Port (``-p``) schon vorbelegt. Beispiel: --------- -.. code:: wiki +.. code:: bash *:* ^ ^ getmsg 192.168.0.111 -p 222 -t "/home/phone?event=%s&id=%s&time=%s&source=%s&source_name=%s&destination=%s&destination_name=%s&extension=%s&duration=%s&provider=%s" "${EVENT}" "${ID}" "${TIMESTAMP}" "${SOURCE}" "${SOURCE_NAME}" "${DEST}" "${DEST_NAME}" "${EXT}" "${DURATION}" "${PROVIDER}" diff --git a/wiki/packages/callmonitor/actions/mail.rst b/wiki/packages/callmonitor/actions/mail.rst index c36d83d..5df6c26 100644 --- a/wiki/packages/callmonitor/actions/mail.rst +++ b/wiki/packages/callmonitor/actions/mail.rst @@ -9,7 +9,7 @@ etwas anderes befiehlt (mailer-Optionen)). Der Push-Service selbst kann ruhig ausgeschaltet bleiben, wichtig sind die Einstellungen für Adressen, Mailserver & Co. Beispiele zum Einsatz in Listeners: -.. code:: wiki +.. code:: bash mailmessage mailmessage -t me@my.self @@ -23,7 +23,7 @@ Adressen, Mailserver & Co. Beispiele zum Einsatz in Listeners: größtenteils an ``mailer``. Deswegen können folgende Optionen verwendet werden: - .. code:: wiki + .. code:: bash -s STRING - Subject. ("FRITZ!Box") -f STRING - From. (NULL) @@ -64,7 +64,7 @@ E-Mail (``mailmessage``), die (auch) in Kombination mit dem Ereignis ``in:cancel`` genutzt werden kann, um bei verpassten Anrufen eine Mail zu verschicken: -.. code:: wiki +.. code:: bash in:cancel ^ ^ mailmessage diff --git a/wiki/packages/callmonitor/actions/password.rst b/wiki/packages/callmonitor/actions/password.rst index 72e64df..30a28e7 100644 --- a/wiki/packages/callmonitor/actions/password.rst +++ b/wiki/packages/callmonitor/actions/password.rst @@ -7,7 +7,7 @@ Alle Aktionen, die auf ``getmsg`` basieren, verstehen folgende Optionen, mit denen man Benutzername und Passwort für das Webinterface der Zielbox angeben kann: -.. code:: wiki +.. code:: bash -U USERNAME --user USERNAME @@ -17,7 +17,7 @@ angeben kann: Außerdem können die Daten in einer Kurzschreibweise direkt beim Hostnamen angegeben werden: -.. code:: wiki +.. code:: bash USERNAME:PASSWORD@HOST:PORT @@ -28,25 +28,25 @@ Beispiel Also zum Beispiel: -.. code:: wiki +.. code:: bash dboxmessage john:secret@mydbox Das bewirkt das gleiche wie -.. code:: wiki +.. code:: bash dboxmessage --user=john --password=secret mydbox oder -.. code:: wiki +.. code:: bash dboxmessage -U john -P secret mydbox Oder falls die D-Box auf einem anderen als dem Standardport lauscht: -.. code:: wiki +.. code:: bash dboxmessage john:secret@mydbox:3818 dboxmessage --user=john --password=secret --port=3818 mydbox diff --git a/wiki/packages/callmonitor/actions/rawmsg.rst b/wiki/packages/callmonitor/actions/rawmsg.rst index c1d3921..de3a06d 100644 --- a/wiki/packages/callmonitor/actions/rawmsg.rst +++ b/wiki/packages/callmonitor/actions/rawmsg.rst @@ -3,7 +3,7 @@ Einfache TCP-Verbindungen (rawmsg) ================================== -.. code:: wiki +.. code:: bash Usage: rawmsg [OPTION]... <HOST> <template> [<param>]... rawmsg [OPTION]... -t <template> <host> [<param>]... diff --git a/wiki/packages/callmonitor/actions/relook.rst b/wiki/packages/callmonitor/actions/relook.rst index 47893f4..a08ad77 100644 --- a/wiki/packages/callmonitor/actions/relook.rst +++ b/wiki/packages/callmonitor/actions/relook.rst @@ -8,12 +8,12 @@ nur die Anzeige einer kurzen Zeile ohne Umlaute. Die Anzeigedauer kann über die Umgebungsvariable ``RELOOK_TIMEOUT`` beeinflusst werden (in Sekunden). -.. code:: wiki +.. code:: bash relookmessage (default_relookmessage) Beispiel für Benutzung mit veränderter Anzeigedauer (25 Sekunden): -.. code:: wiki +.. code:: bash RELOOK_TIMEOUT=25 relookmessage 192.168.34.56 diff --git a/wiki/packages/callmonitor/actions/samsung.rst b/wiki/packages/callmonitor/actions/samsung.rst index e763bb6..6582d0d 100644 --- a/wiki/packages/callmonitor/actions/samsung.rst +++ b/wiki/packages/callmonitor/actions/samsung.rst @@ -6,13 +6,13 @@ Benachrichtigung auf einem Samsung TV Die Funktion ``samsung`` verschickt eine Benachrichtigung über einen Telefonanruf mit Hilfe der SOAP-Methode an ein Samsung TV: -.. code:: wiki +.. code:: bash samsung {IP des TV} Also z.B.: -.. code:: wiki +.. code:: bash samsung 192.168.178.19 @@ -25,14 +25,14 @@ er mit "…" endet. Der Listener-Eintrag im Callmonitor kann dazu z.B. so aussehen: -.. code:: wiki +.. code:: bash in:request ^ ^ samsung tv Zum Testen kann man folgendes direkt vom Terminal der Fritzbox ausführen: -.. code:: wiki +.. code:: bash callaction samsung tv @@ -40,7 +40,7 @@ ausführen: | Die Funktion ``samsung_text`` verschickt eine Nachricht mit Hilfe der SOAP-Methode an ein Samsung TV, z.B.: -.. code:: wiki +.. code:: bash echo "Hello, world!" | callaction samsung_text 192.168.178.19 \ --from="Absender" --from-number="069 123456" \ diff --git a/wiki/packages/callmonitor/actions/snarl.rst b/wiki/packages/callmonitor/actions/snarl.rst index db06497..6855f2a 100644 --- a/wiki/packages/callmonitor/actions/snarl.rst +++ b/wiki/packages/callmonitor/actions/snarl.rst @@ -14,7 +14,7 @@ diese vom Callmonitor über SNP übermittelte Benachrichtigung dann an. Also z. B. so: -.. code:: wiki +.. code:: bash echo -n "type=SNP#?version=1.0#?action=notification#?title=Anruf#?text=${SOURCE}#?timeout=20"$'\r\n' | nc IP 9887 @@ -29,7 +29,7 @@ Listener-Eintrag: Der Listener-Eintrag im Callmonitor kann dazu z.B. so aussehen: -.. code:: wiki +.. code:: bash in:request ^ ^ echo -n "type=SNP#?version=1.0#?action=notification#?title=eingehender Anruf#?text=von ${SOURCE} - ($SOURCE_NAME)${LF}für ${DEST_NAME} - (${DEST_DISP})${LF}#?timeout=20#?icon=C:\pic.png"$'\r\n' | nc 192.168.178.20 9887 diff --git a/wiki/packages/callmonitor/actions/soundbridge.rst b/wiki/packages/callmonitor/actions/soundbridge.rst index 03f568b..5682e36 100644 --- a/wiki/packages/callmonitor/actions/soundbridge.rst +++ b/wiki/packages/callmonitor/actions/soundbridge.rst @@ -8,7 +8,7 @@ SoundBridge <http://www.rokulabs.com/products_soundbridge.php>`__ kann auf ihrem Display Nachrichten darstellen. Seit Callmonitor 1.12.4 stehen drei Funktionen zur Ansteuerung zur Verfügung: -.. code:: wiki +.. code:: bash sbmessage (default_sbmessage) @@ -16,7 +16,7 @@ drei Funktionen zur Ansteuerung zur Verfügung: Zur Anzeige einer statischen Nachricht. Mit der Umgebungsvariable ``SB_TIMEOUT`` kann die Dauer der Anzeige bestimmt werden. -.. code:: wiki +.. code:: bash sbmarquee (default_sbmarquee) @@ -24,7 +24,7 @@ Zur Anzeige einer statischen Nachricht. Mit der Umgebungsvariable Zur Anzeige eines Lauftexts. Mit der Umgebungsvariable ``SB_TIMES`` kann festgelegt werden, wie oft die Nachricht wiederholt werden soll. -.. code:: wiki +.. code:: bash sbxmessage (default_sbxmessage) diff --git a/wiki/packages/callmonitor/actions/vdr.rst b/wiki/packages/callmonitor/actions/vdr.rst index dc113b6..ef930b0 100644 --- a/wiki/packages/callmonitor/actions/vdr.rst +++ b/wiki/packages/callmonitor/actions/vdr.rst @@ -6,7 +6,7 @@ VDR VDR: Video Disk Recorder, `​http://www.cadsoft.de/vdr/ <http://www.cadsoft.de/vdr/>`__ -.. code:: wiki +.. code:: bash vdr [OPTION]... [MESSAGE] (default_vdr) diff --git a/wiki/packages/callmonitor/actions/wol.rst b/wiki/packages/callmonitor/actions/wol.rst index f0c1f0a..d710537 100644 --- a/wiki/packages/callmonitor/actions/wol.rst +++ b/wiki/packages/callmonitor/actions/wol.rst @@ -8,7 +8,7 @@ unterstützt — dient das in `Freetz <../../../index.html>`__ vorhandene Programm ``ether-wake``. Zur Benutzung sei auf dessen Online-Hilfe verwiesen: -.. code:: wiki +.. code:: bash Usage: ether-wake [-b] [-i iface] [-p aa:bb:cc:dd[:ee:ff]] MAC diff --git a/wiki/packages/callmonitor/actions/xbox.rst b/wiki/packages/callmonitor/actions/xbox.rst index 9b019f2..131dc25 100644 --- a/wiki/packages/callmonitor/actions/xbox.rst +++ b/wiki/packages/callmonitor/actions/xbox.rst @@ -10,7 +10,7 @@ Optionen (s.o.) Port, Username und Passwort übergeben. Das XBMC stellt die Nachricht dann in einem kleinen Fenster dar, das automatisch geschlossen wird. -.. code:: wiki +.. code:: bash xboxmessage (default_xboxmessage) @@ -30,7 +30,7 @@ die jeweilige Datei unter ``skin\Project Mayhem III\PAL\`` oder der "PAL"-Datei erreicht ein brauchbares Ergebnis (nur geänderte Zeilen): -.. code:: wiki +.. code:: bash ... <coordinates> diff --git a/wiki/packages/callmonitor/actions/yac.rst b/wiki/packages/callmonitor/actions/yac.rst index 430365f..e8972e2 100644 --- a/wiki/packages/callmonitor/actions/yac.rst +++ b/wiki/packages/callmonitor/actions/yac.rst @@ -8,7 +8,7 @@ YAC: Yet Another Caller ID Program, Syntax: -.. code:: wiki +.. code:: bash yac <IP> IP IP des Rechners, auf dem der YAC-Listener läuft diff --git a/wiki/packages/callmonitor/listeners.rst b/wiki/packages/callmonitor/listeners.rst index 2709552..d9808b3 100644 --- a/wiki/packages/callmonitor/listeners.rst +++ b/wiki/packages/callmonitor/listeners.rst @@ -95,7 +95,7 @@ Dazu passend haben die Listeners eine zusätzliche erste Spalte bekommen, in der (mit Hilfe von Abkürzungen und Wildcards) das gewünschte Ereignis angegeben werden kann, auf das die betreffende Regel reagieren soll: -.. code:: wiki +.. code:: bash in:request ^ ^1234$ xboxmessage xbox in:cancel ^ ^ mailmessage -t test@example.com @@ -256,7 +256,7 @@ seit Version 1.8: - f_duration: zur Darstellung von Zeitdauern als "hh:mm:ss" - .. code:: wiki + .. code:: bash f_duration <ZEIT_IN_SEKUNDEN> @@ -270,7 +270,7 @@ Beispiel: führt zu einer Ausgabe -.. code:: wiki +.. code:: bash Der Anruf dauerte 1:05:03 @@ -293,14 +293,14 @@ anzugeben, bei der eine Regel auslösen soll: - Vollständige Ereignisnamen: - .. code:: wiki + .. code:: bash in:request out:disconnect - Abkürzungen des vorderen und/oder hinteren Teils: - .. code:: wiki + .. code:: bash in:req out:disc @@ -309,7 +309,7 @@ anzugeben, bei der eine Regel auslösen soll: - Wildcards für den vorderen Teil (Richtung), den hinteren oder beide: - .. code:: wiki + .. code:: bash *:req ou:* @@ -318,7 +318,7 @@ anzugeben, bei der eine Regel auslösen soll: - Listen dieser Bestandteile (mit Komma getrennt (Vorsicht, kein Whitespace); die Regel passt, wenn einer der Teile passt): - .. code:: wiki + .. code:: bash in:req,out:* @@ -330,26 +330,26 @@ Beispiele: Verpasster Anruf (in:cancel) mailmessage an mehrere Email Adressen versenden: -.. code:: wiki +.. code:: bash in:cancel ^ ^ mailmessage -t user1@example.com,user2@example.com Von einer bestimmten Rufnummer (0401234567) eine festgelegte Rufnummer (0401234568) anrufen und den PC über WOL (Wake on Lan) einschalten: -.. code:: wiki +.. code:: bash in:request ^0401234567 ^0401234568 ether-wake -i eth0 00:13:DE:01:A4:DE Benachrichtigungen über Dreambox mit Enigma2 auf Fernseher anzeigen: -.. code:: wiki +.. code:: bash in:request ^ ^ dream2message --user=root --pass=dreambox 192.168.178.104 Benachrichtigung per Email bei Faxempfang: -.. code:: wiki +.. code:: bash in:disconnect ^ 0401234567$ mailmessage -s "Faxeingang von $SOURCE" diff --git a/wiki/packages/checkmaild.rst b/wiki/packages/checkmaild.rst index 2d7c5d9..dc8cf6d 100644 --- a/wiki/packages/checkmaild.rst +++ b/wiki/packages/checkmaild.rst @@ -47,7 +47,7 @@ Skript-Funktion Ab Version 0.4 gibt es zusätzlich die Möglichkeit einer Skript-Funktion. Diese ist wie folgt zu benutzen (GMX als Beispiel): -.. code:: wiki +.. code:: bash /mod/etc/maillog.cfg 0 2 1 "GMX" "8d3451bca04e6c2f227257baa821c4b7" "14.Sep" "10:09" "User <user@gmx.de>" "Betreff"] diff --git a/wiki/packages/cifsmount.rst b/wiki/packages/cifsmount.rst index c9f67f2..f91b06a 100644 --- a/wiki/packages/cifsmount.rst +++ b/wiki/packages/cifsmount.rst @@ -48,7 +48,7 @@ machen. Anschauen kann man sich die Meldungen mit ``dmesg | tail``. Bei fehlendem Benutzername oder falschem Passwort sieht das Beispielsweise so aus: -.. code:: wiki +.. code:: bash root@fritz:/var/mod/root# mount -t cifs //192.168.1.1/Freetz /var/media/ftp CIFS VFS: Send error in SessSetup = -13 diff --git a/wiki/packages/davfs2.rst b/wiki/packages/davfs2.rst index 7ae3bc3..7931b5e 100644 --- a/wiki/packages/davfs2.rst +++ b/wiki/packages/davfs2.rst @@ -59,7 +59,7 @@ Paket in die Firmware einbauen Das davfs2 Paket unter *menuconfig* auswählen: -.. code:: wiki +.. code:: bash make menuconfig Package selection -> Testing -> davfs auswählen @@ -106,7 +106,7 @@ einige Zertifikate vor. Man kann das Zertifikat auch über folgenden Aufruf auf dem PC ausgeben lassen (Die Adresse in der ersten Zeile ist anzupassen): -.. code:: wiki +.. code:: bash TARGET=www.box.net:https openssl s_client -showcerts -connect $TARGET < /dev/null 2> /dev/null | sed -n '/^-----BEGIN CERTIFICATE-----$/,/^-----END CERTIFICATE-----$/{/BEGIN /h;/BEGIN /!H};${g;p}' diff --git a/wiki/packages/debootstrap.rst b/wiki/packages/debootstrap.rst index b5f7bb5..bcdf925 100644 --- a/wiki/packages/debootstrap.rst +++ b/wiki/packages/debootstrap.rst @@ -22,7 +22,7 @@ entpackt werden, in welches man schließlich Sofern z.B. unter Debian, Ubuntu *Debootstrap* noch nicht installiert ist, kann dies mit -.. code:: wiki +.. code:: bash sudo apt-get install -y debootstrap @@ -57,13 +57,13 @@ Telnet. **Telnet** (in der Übersicht wird das USB-Gerät aufgelistet) -.. code:: wiki +.. code:: bash ls /var/media/ftp/ **Ausgabe könnte in wie folgt sein** (Variiert nach Modell/Firmware): -.. code:: wiki +.. code:: bash FRITZ-NAS.txt FRITZ-Song.mp3 Generic-FlashDisk-01 lost+found FRITZ-Picture.jpg FRITZ-Video.mp4 Onlinespeicher @@ -72,13 +72,13 @@ Telnet. (FritzBox Modelle bis Version x2xxx) -.. code:: wiki +.. code:: bash debootstrap --foreign --arch=mipsel etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian (FritzBox Modelle ab Version x3xxx) -.. code:: wiki +.. code:: bash debootstrap --foreign --arch=mips etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian @@ -86,19 +86,19 @@ Telnet. (FritzBox Modelle bis Version x2xxx) -.. code:: wiki +.. code:: bash debootstrap --foreign --arch=mipsel wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian (FritzBox Modelle ab Version x3xxx) -.. code:: wiki +.. code:: bash debootstrap --foreign --arch=mips wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian anschließend -.. code:: wiki +.. code:: bash chroot /var/media/ftp/uStor01/debian /debootstrap/debootstrap --second-stage @@ -107,14 +107,14 @@ man den betreffenden USB-Stick nun in die FritzBox. Um das Debian jetzt noch nutzen zu können, muss das /proc/ Verzeichnis für das Debian bereitgestellt werden und wie bereits erwähnt "gechrootet" werden: -.. code:: wiki +.. code:: bash mount -t proc proc /var/media/ftp/uStor01/debian/proc chroot /var/media/ftp/uStor01/debian bash Wenn alles gut geht sollte folgender Prompt da sein -.. code:: wiki +.. code:: bash root@fritz @@ -183,7 +183,7 @@ Comment by mandy28 on Di 01 Mär 2011 22:30:28 CET sollte so aussehen -.. code:: wiki +.. code:: bash deb http://ftp.de.debian.org/debian stable main @@ -217,7 +217,7 @@ Comment by mandy28 on Mi 02 Mär 2011 08:15:05 CET mit den entsprechenden scrips in debootstrap ja , dann aber über anderen Mirror z.B.: -.. code:: wiki +.. code:: bash debootstrap --foreign --arch=mipsel squeeze /var/media/ftp/uStor01/squeeze http://ftp.de.debian.org/debian chroot /var/media/ftp/uStor01/squeeze /debootstrap/debootstrap --second-stage diff --git a/wiki/packages/digitemp.rst b/wiki/packages/digitemp.rst index af5c65a..4e86ce7 100644 --- a/wiki/packages/digitemp.rst +++ b/wiki/packages/digitemp.rst @@ -37,7 +37,7 @@ für diesen Tipp in bzw. `​diesem <http://www.ip-phone-forum.de/showthread.php?t=221189>`__ Thread!): -.. code:: wiki +.. code:: bash # digitemp-Link erstellen (pl2303) USBNR=$(grep 2303 /proc/tty/driver/usbserial | cut -d ":" -f1) @@ -48,7 +48,7 @@ Debug helpers → usbutils). Ein Blick nach */proc/tty/driver/usbserial* hilft auch weiter, z.B. könnte das Resultat so aussehen (bei 2 Adaptern mit je einem pl2303- bzw. einem ftdi-Chipsatz): -.. code:: wiki +.. code:: bash root@fb1 /var/mod/root $ cat /proc/tty/driver/usbserial usbserinfo:1.0 driver:v2.0 @@ -58,7 +58,7 @@ mit je einem pl2303- bzw. einem ftdi-Chipsatz): Falls man also statt eines pl2303-Chip Adapters einen mit FTDI-Chip fest verdrahten will, müsste obiger Code so aussehen: -.. code:: wiki +.. code:: bash # digitemp-Link erstellen (ftdi) USBNR=$(grep ftdi /proc/tty/driver/usbserial | cut -d ":" -f1) @@ -80,7 +80,7 @@ Datenbank | Existierende rrd-Datenbanken kann man so neue RRAs hinzufügen (für experimentierfreudige): -.. code:: wiki +.. code:: bash ## box rc.rrdstats stop diff --git a/wiki/packages/dns2tcp.rst b/wiki/packages/dns2tcp.rst index 14fa575..2b5a062 100644 --- a/wiki/packages/dns2tcp.rst +++ b/wiki/packages/dns2tcp.rst @@ -40,20 +40,20 @@ this: #. On the client you should be able to create a DNS tunnel like this now: - .. code:: wiki + .. code:: bash dns2tcpc -r ssh -l 2222 -z dns2tcp.strangled.net fabulous.fritzbox.org #. If you want a local `​SOCKS <http://en.wikipedia.org/wiki/SOCKS>`__ server to browse the internet: - .. code:: wiki + .. code:: bash ssh root@localhost -p 2222 -D 8765 #. | If you want to use Polipo? as http proxy: - .. code:: wiki + .. code:: bash ssh root@localhost -p 2222 -L 8123:localhost:8123 diff --git a/wiki/packages/dnsmasq.rst b/wiki/packages/dnsmasq.rst index 730df7e..17fea78 100644 --- a/wiki/packages/dnsmasq.rst +++ b/wiki/packages/dnsmasq.rst @@ -115,7 +115,7 @@ mit iptables den DNS-Port umleiten bei Kernel 2.6.28 (zb Fritzbox 7320): -.. code:: wiki +.. code:: bash nf_conntrack nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter iptable_nat ip_tables ipt_REDIRECT x_tables xt_tcpudp @@ -126,7 +126,7 @@ Die Module durch eintragen in 'modules' beim Start von Freetz laden. Diese iptables Regeln mittels rc.custom ausführen: -.. code:: wiki +.. code:: bash rport=50053 @@ -181,13 +181,13 @@ Beispiel 1 Durch (Kommandozeilen-Optionen) -.. code:: wiki +.. code:: bash -O 44,192.168.178.1 -O 45,192.168.178.1 -O 46,8 oder alternativ (als Liste) -.. code:: wiki +.. code:: bash #options to DHCP clients dhcp-option=44,192.168.178.1 @@ -213,13 +213,13 @@ Beispiel 2 Durch (Kommandozeilen-Optionen) -.. code:: wiki +.. code:: bash -R -S 208.67.222.222 -S 208.67.220.220 oder alternativ (als Liste) -.. code:: wiki +.. code:: bash #don't read resolv file no-resolv @@ -240,7 +240,7 @@ DHCP Server Im Bereich *DHCP Range (eine pro Zeile)* werden die Bereiche in folgender Form eingetragen: -.. code:: wiki +.. code:: bash [[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<default lease time>] @@ -290,7 +290,7 @@ Beispiel Mit dem Eintrag -.. code:: wiki +.. code:: bash 192.168.178.20,192.168.178.200,12h @@ -302,7 +302,7 @@ Lease-Time von 12 Stunden vergeben. Einträge in der Hosts-Liste --------------------------- -.. code:: wiki +.. code:: bash <ipaddr>|* <hwaddr>|[id:]<client_id>|* [net:]<netid>|* <hostname>|* [ignore] @@ -316,7 +316,7 @@ der dynamischen IP-Vergabe ausgespart. Hostnamen mit Punkten im Namen sind ab Release 1.6 (dnsnasq 2.40) nicht mehr zulässig! Dies quittiert dnsmasq mit der Fehlermeldung -.. code:: wiki +.. code:: bash fritz daemon.err dnsmasq[ ]: bad name at /etc/ethers line ... @@ -404,7 +404,7 @@ Beispiel Der integrierte TFTP-Server für einen Zugriff auf die Daten unter ``/var/ftpd`` wird wie folgt aktiviert: -.. code:: wiki +.. code:: bash --enable-tftp --tftp-root=/var/ftpd @@ -417,7 +417,7 @@ automatische Methode per PXE [Preboot Execution Environment] ist hier nicht möglich) und TFTP gebootet werden, muss noch das entsprechende Bootimage definiert werden. Das geschieht mit folgendem Parameter: -.. code:: wiki +.. code:: bash -M [net:<network-id>,]<filename>,[<servername>[,<serveraddress>]] @@ -443,7 +443,7 @@ Datenträger mit NTFS oder FAT32 formatiert, muss der komplette Ordner dnsmasq wie folgt (Pfad eventuell noch anpassen, je nach Konfiguration beim Bauen von Freetz): -.. code:: wiki +.. code:: bash --enable-tftp --tftp-root=/var/media/ftp/uStor01/tftp -M pxelinux.0 @@ -451,7 +451,7 @@ Wenn der TFTP-Server auf einem anderen Rechner läuft, z. B. hier auf 192.168.178.10 mit dem Bootfile ``pxelinux.0``, dann ist dieser anzugeben: -.. code:: wiki +.. code:: bash -M pxelinux.0,192.168.178.10,192.168.178.10 diff --git a/wiki/packages/dropbear.en.rst b/wiki/packages/dropbear.en.rst index 47ba462..12a4c59 100644 --- a/wiki/packages/dropbear.en.rst +++ b/wiki/packages/dropbear.en.rst @@ -17,13 +17,13 @@ Creating a Feetz Image with Dropbrear | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected: -.. code:: wiki +.. code:: bash Package selection ---> Standard packages ---> [*] Dropbear 0.53.1 Package selection ---> Standard packages ---> [ ] Without scp & ssh client (NEW) diff --git a/wiki/packages/dropbear.rst b/wiki/packages/dropbear.rst index a2650a4..df15e3a 100644 --- a/wiki/packages/dropbear.rst +++ b/wiki/packages/dropbear.rst @@ -38,7 +38,7 @@ Grundbegriffe - **Password-based Authentication**: SSH-Verbindung kommt zustande, nachdem sich der (SSH-)Client mit einem Passwort authentifiziert hat. - .. code:: wiki + .. code:: bash # ssh user@host user@host's password: @@ -53,7 +53,7 @@ Grundbegriffe (öffentlichen Schlüssel)* authentifiziert hat. Ein Vorteil ist, dass man zur Anmeldung kein Passwort mehr eingeben muss. - .. code:: wiki + .. code:: bash # ssh user@host Authenticating with public key "rsa-key-XXXXXXXX" @@ -86,7 +86,7 @@ Web-Config Format der *Authorized keys* im Web-GUI sollte (für root) so aussehen (hier durch … abgekürzt): - .. code:: wiki + .. code:: bash ---root ssh-rsa AAAAB3...o1b0=0 @@ -114,7 +114,7 @@ kann die Fritzbox folgendermaßen über SSH erreicht werden: Zugang mit OpenSSH ~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash # ssh root@fritz.box root@fritz.box's password: freetz @@ -260,20 +260,20 @@ verwenden (analog auch andere SSH-Tools). In Putty trägt man unter Proxy den Proxy ein. Unter Tunnels folgendes (für das Freetz-GUI): -.. code:: wiki +.. code:: bash Source Port: 1081 {ein beliebiger, freier, lokaler Port} Destination: 192.168.178.1:81 {die IP der Box im LAN) Nach dem Hinzufügen erscheint im PuTTY-Fenster unter "Forwarded Ports": -.. code:: wiki +.. code:: bash L1081 192.168.178.1:81 Entsprechend kann man sich das für das AVM-GUI (Port 80) einrichten: -.. code:: wiki +.. code:: bash Source Port: 1080 {ein beliebiger, freier, lokaler Port} Destination: 192.168.178.1:80 {die IP der Box im LAN) @@ -281,13 +281,13 @@ Entsprechend kann man sich das für das AVM-GUI (Port 80) einrichten: Nach dem Starten der SSH-Session und dem Login ruft man dann das Freetz-GUI so auf: -.. code:: wiki +.. code:: bash http://localhost:1081/ … und das AVM-GUI so: -.. code:: wiki +.. code:: bash http://localhost:1080/ @@ -304,14 +304,14 @@ ab. Es lassen sich auch Weiterleitungen auf beliebige Maschinen und Dienste im Lan schalten. Z.B. Remotedesktopverbindung für eine Maschine im LAN: -.. code:: wiki +.. code:: bash Source Port: 3399 {ein beliebiger, freier, lokaler Port} Destination: 192.168.178.21:3389 (die IP der gewünschten Maschine im LAN; statische DHCP-Leases sind hier vorteilhaft) im Remotedesktopclient dann: -.. code:: wiki +.. code:: bash localhost:3399 @@ -349,14 +349,14 @@ Der nachfolgende Befehl kopiert den RSA key auf das Remote-System mit der IP 192.168.178.2 für den User:user01 in die Datei ~/.ssh/authorized_keys -.. code:: wiki +.. code:: bash # dropbearkey -f /tmp/flash/rsa_host_key -y | ssh user01@192.168.178.2 'umask 077; cat >> .ssh/authorized_keys' Für einen Login ohne Passwort Angabe, muss das Keyfile wie im Beispiel als Parameter angegeben werden. -.. code:: wiki +.. code:: bash # ssh -i /tmp/flash/rsa_host_key user@machine @@ -399,7 +399,7 @@ mögliche Probleme in* ~/.ssh/known_hosts *nicht bekannt ist).* - *folgende Warnung nach Anmeldung mit* ssh root@…\ *:* - .. code:: wiki + .. code:: bash @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ diff --git a/wiki/packages/dtach.rst b/wiki/packages/dtach.rst index 6f127cb..c9a8eff 100644 --- a/wiki/packages/dtach.rst +++ b/wiki/packages/dtach.rst @@ -23,14 +23,14 @@ Bedienung Erstellen einer neuen dtach-Session am Beispiel von `mcabber <mcabber.html>`__: -.. code:: wiki +.. code:: bash dtach -c /tmp/mcabber.dtach mcabber Erstellen einer neuen dtach-Session, aber direkt wieder die Session verlassen bzw. im Hintergrund starten: -.. code:: wiki +.. code:: bash dtach -n /tmp/mcabber.dtach mcabber @@ -38,7 +38,7 @@ Mit "*Strg + \\*" kann man die Session verlassen. Wieder in die Session "einklinken": -.. code:: wiki +.. code:: bash dtach -a /tmp/mcabber.dtach diff --git a/wiki/packages/fortune.rst b/wiki/packages/fortune.rst index 17f2158..edd931e 100644 --- a/wiki/packages/fortune.rst +++ b/wiki/packages/fortune.rst @@ -40,7 +40,7 @@ Anzeigen von fortunes beim Konsolen-Login */var/mod/root/.profile* | Folgendes reicht dafür aus: -.. code:: wiki +.. code:: bash echo /usr/bin/fortune @@ -50,7 +50,7 @@ Anzeigen von fortunes beim Konsolen-Login | Nach erfolgtem Login auf der Box per telnet bzw. ssh begrüßt die Box euch mit einem zufällig gewählten Glückskeks: -.. code:: wiki +.. code:: bash __ _ __ __ ___ __ |__ |_) |__ |__ | / diff --git a/wiki/packages/haserl.rst b/wiki/packages/haserl.rst index 3f2566b..591b62b 100644 --- a/wiki/packages/haserl.rst +++ b/wiki/packages/haserl.rst @@ -18,14 +18,14 @@ Using busybox httpd / inet Inetd custom config: -.. code:: wiki +.. code:: bash #:httpd-start: test web interface 8088 stream tcp nowait root /var/media/ftp/uFlash/httpd/httpd-start httpd-start -i httpd-start: -.. code:: wiki +.. code:: bash #!/bin/sh @@ -40,19 +40,19 @@ httpd-start: Allow execution: -.. code:: wiki +.. code:: bash chmod +x httpd-start httpd.conf can be an empty file: -.. code:: wiki +.. code:: bash touch httpd.conf /var/media/ftp/uFlash/httpd/www/cgi-bin/info.cgi: -.. code:: wiki +.. code:: bash #!/usr/bin/haserl --shell=lua Content-Type: text/html; charset=UTF-8 @@ -66,7 +66,7 @@ httpd.conf can be an empty file: Allow execution: -.. code:: wiki +.. code:: bash chmod +x info.cgi diff --git a/wiki/packages/hd-idle.rst b/wiki/packages/hd-idle.rst index 062941e..7eeb4cc 100644 --- a/wiki/packages/hd-idle.rst +++ b/wiki/packages/hd-idle.rst @@ -10,7 +10,7 @@ wird ein Utility wie *hd-idle* (oder das mit Freetz ebenfalls verfügbare Es gibt, herstellerabhängig 3 verschiedene Powermodes: -.. code:: wiki +.. code:: bash active/idle (normal operation) standby (low power mode, drive has spun down) diff --git a/wiki/packages/hiawatha.rst b/wiki/packages/hiawatha.rst index 2a8e1fc..4aee6e8 100644 --- a/wiki/packages/hiawatha.rst +++ b/wiki/packages/hiawatha.rst @@ -24,7 +24,7 @@ Quick compare #. Minimal menuconfig, including libraries, excluding *pthread*, *md5sum* -.. code:: wiki +.. code:: bash -rwxr-xr-x 1 root root 105788 Apr 25 20:29 hiawatha -rwxr-xr-x 1 root root 150324 Apr 25 10:56 lighttpd @@ -41,7 +41,7 @@ Security You might want to add this or similar to the extra configuration: -.. code:: wiki +.. code:: bash BanOnGarbage = 300 BanOnMaxPerIP = 60 @@ -51,7 +51,7 @@ You might want to add this or similar to the extra configuration: And you might want to limit the number of simultaneous connections too: -.. code:: wiki +.. code:: bash ConnectionsTotal = 5 ConnectionsPerIP = 3 diff --git a/wiki/packages/hol.rst b/wiki/packages/hol.rst index f1619b7..1540d1d 100644 --- a/wiki/packages/hol.rst +++ b/wiki/packages/hol.rst @@ -10,7 +10,7 @@ nicht implementiert und man sollte sich mit der Kommandozeile befreunden: -.. code:: wiki +.. code:: bash /var/mod/root # hol hol v1.0 Halt-On-Lan script diff --git a/wiki/packages/httptunnel.rst b/wiki/packages/httptunnel.rst index b413438..737b78a 100644 --- a/wiki/packages/httptunnel.rst +++ b/wiki/packages/httptunnel.rst @@ -16,7 +16,7 @@ Ein etwas anschaulicheres Beispiel anbei von `​diesem Thread <http://www.ip-phone-forum.de/showthread.php?p=536622#post536622>`__: -.. code:: wiki +.. code:: bash PC in der Firma Proxy in der Firma Fritzbox diff --git a/wiki/packages/igmpproxy.rst b/wiki/packages/igmpproxy.rst index abe3c16..8549912 100644 --- a/wiki/packages/igmpproxy.rst +++ b/wiki/packages/igmpproxy.rst @@ -5,7 +5,7 @@ igmpproxy einfacher multicast routing Daemon der für multicast forwarding zwischen Netzwerken z.B. für IPTV benutzt wird. -.. code:: wiki +.. code:: bash Usage: igmpproxy [-h] [-d] [-v [-v]] <configfile> @@ -15,7 +15,7 @@ Netzwerken z.B. für IPTV benutzt wird. Configfile: -.. code:: wiki +.. code:: bash ######################################################## # diff --git a/wiki/packages/inadyn-mt.en.rst b/wiki/packages/inadyn-mt.en.rst index dfc8fc5..f6ad40e 100644 --- a/wiki/packages/inadyn-mt.en.rst +++ b/wiki/packages/inadyn-mt.en.rst @@ -54,17 +54,17 @@ Creating a Feetz Image with Inadyn | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected: -.. code:: wiki +.. code:: bash [*] Show advanced options -.. code:: wiki +.. code:: bash Package selection ---> Testing ---> [*] Inadyn-mt 02.24.36 @@ -86,7 +86,7 @@ Setup in Freetz web-interface If you have enabled the syslog you can verify the syslog messages. E.g. via a telnet or ssh connection you can using the following command: -.. code:: wiki +.. code:: bash logread diff --git a/wiki/packages/inetd.rst b/wiki/packages/inetd.rst index bd5f660..c6d149b 100644 --- a/wiki/packages/inetd.rst +++ b/wiki/packages/inetd.rst @@ -41,7 +41,7 @@ Benutzerdefiniert Auch können auch in inetd integrierte Services angegeben werden. | Beispiele: -.. code:: wiki +.. code:: bash 31337 stream tcp nowait root /var/media/ftp/uStor01/binary binary -i diff --git a/wiki/packages/inotify-tools.rst b/wiki/packages/inotify-tools.rst index fa6083a..1a5e108 100644 --- a/wiki/packages/inotify-tools.rst +++ b/wiki/packages/inotify-tools.rst @@ -174,7 +174,7 @@ Ausgabeformat Was steht nun drin in ``/var/iw.log`` bzw. wie sieht es aus? Ein kleiner Ausschnitt: -.. code:: wiki +.. code:: bash /etc/,"CLOSE_NOWRITE,CLOSE",.subversion /lib/,"CLOSE_NOWRITE,CLOSE",libgcc_s.so.1 @@ -270,7 +270,7 @@ Konsolidierung des großen Logs übernimmt. Die konsolidierte Liste der Dateien wird regelmäßig aktualisiert in ``/var/iw-unique.log``, wo man sie jederzeit einsehen kann. Sie sieht in etwa so aus (Ausschnitt): -.. code:: wiki +.. code:: bash / /etc/.subversion diff --git a/wiki/packages/iodine.rst b/wiki/packages/iodine.rst index 2773de5..42cc2bc 100644 --- a/wiki/packages/iodine.rst +++ b/wiki/packages/iodine.rst @@ -25,7 +25,7 @@ some other details. Put this in your *rc.custom* (there is no WebIF): -.. code:: wiki +.. code:: bash mkdir /tmp/iodine chown nobody /tmp/iodine @@ -38,13 +38,13 @@ thanks oliver!) Create a tunnel from the client like this: -.. code:: wiki +.. code:: bash sudo ./bin/iodine -f -P <password> dns2tcp.strangled.net To connect to Polipo?: -.. code:: wiki +.. code:: bash ssh root@10.0.0.1 -L 8123:localhost:8123 @@ -65,7 +65,7 @@ Security Install `iptables <iptables.html>`__ and add these rules to allow only traffic to the internet and not your local net: -.. code:: wiki +.. code:: bash iptables -I OUTPUT -o dns0 -s 192.168.178.0/24 -j DROP iptables -I INPUT -i dns0 -d 192.168.178.0/24 -j DROP @@ -75,7 +75,7 @@ traffic to the internet and not your local net: Of course you can always allow specific traffic from tunnel to your local net, for example to a SSH server by using something like: -.. code:: wiki +.. code:: bash iptables -I INPUT -i dns0 -p tcp --dport 22 -j ACCEPT @@ -87,7 +87,7 @@ Forwarding iodine can forward DNS requests for unknown (sub)domains to a real DNS-server on another port with this switch: -.. code:: wiki +.. code:: bash -b 5353 diff --git a/wiki/packages/iptables-cgi.rst b/wiki/packages/iptables-cgi.rst index 0021237..18159e6 100644 --- a/wiki/packages/iptables-cgi.rst +++ b/wiki/packages/iptables-cgi.rst @@ -92,7 +92,7 @@ Die unter **Port** auswählbaren Services (Dienste) sind unter *Einstellungen → Iptables: Services* gespeichert und können beliebig erweitert werden. Dabei bitte den folgenden Syntax verwenden: -.. code:: wiki +.. code:: bash Service:Port z.B. SSH:22 diff --git a/wiki/packages/iptables.en.rst b/wiki/packages/iptables.en.rst index 318e6c3..3c7a22a 100644 --- a/wiki/packages/iptables.en.rst +++ b/wiki/packages/iptables.en.rst @@ -177,7 +177,7 @@ Configuration: After successful firmware build and upload | Here an example script to load the necessary modules for the rules described in this wiki: -.. code:: wiki +.. code:: bash # the most common modules needed: modprobe ip_tables @@ -205,7 +205,7 @@ Configuration: After successful firmware build and upload - After registering / loading the modules we can start defining rules (here some rules for a strong basic protection): -.. code:: wiki +.. code:: bash # # # FIREWALL RULES @@ -348,7 +348,7 @@ Isolate guest network from LAN These rules will prevent access to the local area network, including the box itself from the guest network: -.. code:: wiki +.. code:: bash iptables -A INPUT -d 192.168.178.0/24 -i guest -j DROP iptables -A FORWARD -i guest -o dsl -j ACCEPT diff --git a/wiki/packages/iptables.rst b/wiki/packages/iptables.rst index e1238d5..9467a65 100644 --- a/wiki/packages/iptables.rst +++ b/wiki/packages/iptables.rst @@ -152,7 +152,7 @@ Konfiguration: Firmware erfolgreich erstellt und aufgespielt, so geht es weiter | Hier ein Beispiel - Script für das Laden der Module: -.. code:: wiki +.. code:: bash # Die wichtigsten Module, ohne die nichts geht: modprobe ip_tables @@ -180,7 +180,7 @@ Konfiguration: Firmware erfolgreich erstellt und aufgespielt, so geht es weiter - Danach werden die Regeln / Ketten erstellt (hier ein Beispiel für diverse Regeln): -.. code:: wiki +.. code:: bash # # # FIREWALL RULES @@ -364,7 +364,7 @@ aus der Unzahl der Möglichkeiten kann hilfreich sein, firewall-cgi? zu aktivieren, auch wenn es dann nicht benutzt wird. Die wichtigsten iptables-Module werden dann automatisch einkompiliert. -.. code:: wiki +.. code:: bash host# scp ../ds-0.2.5/kernel/root/usr/lib/iptables/libipt_limit.so root@fritz:/mod/lib fritz# iptables -m limit -h @@ -408,7 +408,7 @@ Verdacht. Aber hier müsste mal jemand weiterforschen… — olistudent |Warning| Ich habe festgestellt, dass es sich erheblich bessert, wenn man folgendes macht: -.. code:: wiki +.. code:: bash # 32MB RAM CONNTRACK_MAX=2048 diff --git a/wiki/packages/jamvm.rst b/wiki/packages/jamvm.rst index 38285b7..7b1f9f6 100644 --- a/wiki/packages/jamvm.rst +++ b/wiki/packages/jamvm.rst @@ -30,7 +30,7 @@ standardmäßig nur eine reduzierte Version (mini.jar) installiert. Deshalb muss jamvm folgendermaßen aufgerufen werden um z.B. die Datei Hello.class im aktuellen Verzeichnis aufzurufen: -.. code:: wiki +.. code:: bash jamvm -Xbootclasspath/a:/usr/share/classpath/mini.jar Hello diff --git a/wiki/packages/lighttpd.rst b/wiki/packages/lighttpd.rst index 90acd36..d9f4866 100644 --- a/wiki/packages/lighttpd.rst +++ b/wiki/packages/lighttpd.rst @@ -70,7 +70,7 @@ sollen, muss außerdem noch eine Zeile in die 'Additional'-Konfiguration von lighttpd (zu finden im Freetz-Konfigurationsmenü unter ``Settings`` → ``'lighttpd: Additional``): -.. code:: wiki +.. code:: bash # aktiviere CGI Unterstützung für *.pl-Dateien cgi.assign += ( ".pl" => "/usr/bin/perl" ) @@ -93,14 +93,14 @@ Example: - put this in *lighttpd > Additional*: -.. code:: wiki +.. code:: bash server.modules += ( "mod_magnet" ) magnet.attract-physical-path-to = ( server.document-root + "/ip.lua" ) - put this in *ip.lua* in your document root: -.. code:: wiki +.. code:: bash lighty.header["Content-Type"] = "text/html" lighty.content = { "Your IP-address is: ", lighty.env["request.remote-ip"] } diff --git a/wiki/packages/lsof.rst b/wiki/packages/lsof.rst index 7eb9d4d..6f4a7ac 100644 --- a/wiki/packages/lsof.rst +++ b/wiki/packages/lsof.rst @@ -10,7 +10,7 @@ nur, dass dem so sei, gibt aber keine Details bekannt. Beispiel: -.. code:: wiki +.. code:: bash # lsof /var COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME diff --git a/wiki/packages/mediaserver.rst b/wiki/packages/mediaserver.rst index 5b07fa8..33cfdb4 100644 --- a/wiki/packages/mediaserver.rst +++ b/wiki/packages/mediaserver.rst @@ -31,7 +31,7 @@ verlinkt sogar auf das Verzeichnis des FTP-Servers. In der Ereignisanzeige sollte folgende Meldung erscheinen: -.. code:: wiki +.. code:: bash Mediaserver mit xx Mediendateien gestartet. Alle Mediendateien stehen zur Verfügung. diff --git a/wiki/packages/mini_fo.rst b/wiki/packages/mini_fo.rst index 793320a..e6d1a71 100644 --- a/wiki/packages/mini_fo.rst +++ b/wiki/packages/mini_fo.rst @@ -27,7 +27,7 @@ Speicherort für die Änderungen ausgewählt werden. Entweder RAM muss genügend freier Speicherplatz verfügbar sein (die Daten werden gzip komprimiert abgespeichert): -.. code:: wiki +.. code:: bash root@fritz:/var/mod/root# df /dev/mtdblock5 Filesystem 1K-blocks Used Available Use% Mounted on @@ -43,21 +43,21 @@ Konfiguration (per Hand) **mini_fo** ist ein Kernel-Modul, das man entweder ohne Argumente mit insmod lädt… -.. code:: wiki +.. code:: bash insmod mini_fo …oder in der Freetz-Oberfläche in Modules einträgt, damit es beim Start geladen wird: -.. code:: wiki +.. code:: bash mini_fo Ist es aktiv steht der mount-type 'mini_fo' zur Verfügung. Um /usr/www beschreibbar zu machen genügt diese Zeile in rc.custom: -.. code:: wiki +.. code:: bash mkdir -p /tmp/usrwww /tmp/usrwww-sto && \ mount -o bind /usr/www /tmp/usrwww && \ @@ -103,7 +103,7 @@ Restore original file The modified files are stored here (trunk version): -.. code:: wiki +.. code:: bash /sto/mini_fo/... diff --git a/wiki/packages/mod.rst b/wiki/packages/mod.rst index f5bee1f..ba94e8a 100644 --- a/wiki/packages/mod.rst +++ b/wiki/packages/mod.rst @@ -57,7 +57,7 @@ Konfigurationsdateien genutzte Befehle definiert werden: | Beispiel: -.. code:: wiki +.. code:: bash alias nl="sed '=' | sed 'N;s/\n/\t/'" alias tcpdump6="tcpdump ip6 or proto ipv6" @@ -69,13 +69,13 @@ crontab durch die crontab konfiguriert. | Syntax: -.. code:: wiki +.. code:: bash Minute | Stunde | Tag | Monat | Wochentag | Befehl Beispiel: -.. code:: wiki +.. code:: bash 55 23 * * 7 logger "Es ist Sonntag, 5 Minuten vor 12" */10 * * * * logger "Es sind wieder 10 Minuten vergangen" @@ -91,7 +91,7 @@ dtrace ``#97*3*`` am Telefon ausgeführt. | Beispiel: -.. code:: wiki +.. code:: bash #!/bin/sh if [ "$(/etc/init.d/rc.lighttpd status)" != "stopped" ]; then @@ -110,13 +110,13 @@ hosts Hosts-Liste <dnsmasq.html#EinträgeinderHosts-Liste>`__ | Syntax: -.. code:: wiki +.. code:: bash <ipaddr>|* <hwaddr>|[id:]<client_id>|* [net:]<netid>|* <hostname>|* [ignore] Beispiel: -.. code:: wiki +.. code:: bash 192.168.178.20 * * MeinPC-1 192.168.178.21 11:22:33:44:55:66 * MeinPC-2 @@ -128,7 +128,7 @@ modules des Bootvorgangs geladen. | Beispiel: -.. code:: wiki +.. code:: bash pl2303 ftdi_sio @@ -153,7 +153,7 @@ rc.external eingehängt wurde und bevor er ausgehängt wird. | Beispiel: -.. code:: wiki +.. code:: bash #!/bin/sh case "$1" in diff --git a/wiki/packages/nano-shell.rst b/wiki/packages/nano-shell.rst index 2fecf48..c202422 100644 --- a/wiki/packages/nano-shell.rst +++ b/wiki/packages/nano-shell.rst @@ -99,7 +99,7 @@ Konqueror 3.5.8): Viele Browser akzeptieren auch unkodierte CGI-Parameter, also Befehler im Klartext, d.h. normalerweise kann man anstatt der kodierten Befehle oben auch Folgendes schreiben: -.. code:: wiki +.. code:: bash http://fritz.box/cgi-bin/shell.cgi?ls -l /var/tmp http://fritz.box/cgi-bin/shell.cgi?/usr/sbin/telnetd -p 2323 -l /bin/sh diff --git a/wiki/packages/nano.rst b/wiki/packages/nano.rst index daab330..676d6b4 100644 --- a/wiki/packages/nano.rst +++ b/wiki/packages/nano.rst @@ -12,7 +12,7 @@ Damit man die Pos1 und Home Tasten auch in Nano benutzen kann ist (zumindest bei mir in der Kombination putty / Windows) das Setzen der Umgebungsvariable TERM hilfreich: -.. code:: wiki +.. code:: bash export TERM=xterm diff --git a/wiki/packages/ncftp.rst b/wiki/packages/ncftp.rst index a221257..142d281 100644 --- a/wiki/packages/ncftp.rst +++ b/wiki/packages/ncftp.rst @@ -51,7 +51,7 @@ Wie starte ich NcFTP? Als erstes schreibt man ein Skript z.B. **upload.sh** mit folgendem Inhalt: -.. code:: wiki +.. code:: bash nohup ncftpput -u XXX -p XXX remote-host /remote/path/ /local/path/* @@ -63,13 +63,13 @@ upload.sh**. Wie ist der Befehl im upload.sh-Skript aufgebaut? ------------------------------------------------- -.. code:: wiki +.. code:: bash nohup ncftpput -u (Username) -p (Password) -m (Adresse des FTP-Servers) /(Zielordner auf dem FTP)/ /(Pfad zum lokalen/eigenen Ordner)/* Beispiel: -.. code:: wiki +.. code:: bash nohup ncftpput -u freetz -p mypass -m mustermann.no-ip.org /Uploads/ /var/media/ftp/uStor01/User/Mustermann/Downloads/* @@ -81,13 +81,13 @@ Beispiel: Wie sieht der Befehl für ein download.sh Skript aus? ---------------------------------------------------- -.. code:: wiki +.. code:: bash nohup ncftpget -u (Username) -p (Password) (Ziel-FTP) (local-Verzeichnis) /(remote-Verzeichnis)/* Beispiel: -.. code:: wiki +.. code:: bash nohup ncftpget -u freetz -p mypass mustermann.no-ip.org /var/media/ftp/uStor01/Downloads /Downloads/* @@ -100,13 +100,13 @@ Falls nicht der Standard-Port (21) genutzt werden soll kann man den gewünschten Port über den Parameter **-P xx** angeben. Der angegebene Port sollte natürlich zu dem Port passen auf dem der Server hört. -.. code:: wiki +.. code:: bash nohup ncftpput -u (Username) -p (Password) -P (Ziel-Port) -m (Adresse des FTP-Servers) /(Zielordner auf dem FTP)/ /(Pfad zum lokalen/eigenen Ordner)/* Beispiel: -.. code:: wiki +.. code:: bash nohup ncftpput -u freetz -p mypass -P 1234 -m mustermann.no-ip.org /Uploads/ /var/media/ftp/uStor01/User/Mustermann/Downloads/* diff --git a/wiki/packages/ndas.en.rst b/wiki/packages/ndas.en.rst index 1845e1f..d43792c 100644 --- a/wiki/packages/ndas.en.rst +++ b/wiki/packages/ndas.en.rst @@ -28,13 +28,13 @@ Creating a Feetz Image with NDAS | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected: -.. code:: wiki +.. code:: bash Package selection ---> Packages ---> [*] (binary only) @@ -75,7 +75,7 @@ and | You can create block-devices for multiple drives and multiple partitions. Below example for one drive with one partition. -.. code:: wiki +.. code:: bash mknod -m 644 /dev/ndas c 60 0 mknod -m 644 /dev/nda b 60 0 @@ -89,7 +89,7 @@ and You can verify the creation of the devices with the following well known command -.. code:: wiki +.. code:: bash ls -la /dev/nd* @@ -100,7 +100,7 @@ command Next the kernel moduls needs to be loaded. -.. code:: wiki +.. code:: bash insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_sal.ko insmod /lib/modules/`uname -r`/kernel/fs/ndas/ndas_core.ko ndas_dev=lan @@ -121,21 +121,21 @@ Next the kernel moduls needs to be loaded. To verify the three modules are loaded properly you can use the following command: -.. code:: wiki +.. code:: bash lsmod Now the NDAS driver 'NDAS Administration Tool' should be started. This is done with: -.. code:: wiki +.. code:: bash ndasadmin start Following is to register the netdisk with the ID and key, that should be found on the NDAS device. -.. code:: wiki +.. code:: bash ndasadmin register "rrrrr-rrrrr-rrrrr-rrrrr-wwwww" --name ndas-01 @@ -150,7 +150,7 @@ found on the NDAS device. | Verify the status via the proc filesystem /proc with the following commands. -.. code:: wiki +.. code:: bash cat /proc/ndas/devs @@ -158,7 +158,7 @@ found on the NDAS device. To see the disk details and the status. -.. code:: wiki +.. code:: bash cat /proc/ndas/devices/ndas-01/slots @@ -169,25 +169,25 @@ found on the NDAS device. The NetDisks can be enabled with one of the following three modes: For read access use the following -.. code:: wiki +.. code:: bash ndasadmin enable -s 1 -o r For read/write access the following can be used: -.. code:: wiki +.. code:: bash ndasadmin enable -s 1 -o w For shared write access use: -.. code:: wiki +.. code:: bash ndasadmin enable -s 1 -o s Also a mountpoint is needed that can be created with: -.. code:: wiki +.. code:: bash mkdir /var/media/ndas/ntfs/ @@ -197,13 +197,13 @@ far I had only success with an NTFS formatted drive. Mount an NTFS formatted drive: -.. code:: wiki +.. code:: bash ntfs-3g -o rw /dev/nda1 /var/media/ndas A FAT formatted drive should be mounted with: -.. code:: wiki +.. code:: bash mount -t fat /dev/nda1 /var/media/ndas @@ -217,7 +217,7 @@ Script at startup You can use the script in file rc.custom, which can be edited via the `web-interface <mod.html#rc_custom>`__. -.. code:: wiki +.. code:: bash #! /bin/sh # Create the character file to send the commands diff --git a/wiki/packages/ndas.rst b/wiki/packages/ndas.rst index 391a109..080575b 100644 --- a/wiki/packages/ndas.rst +++ b/wiki/packages/ndas.rst @@ -21,7 +21,7 @@ NetDisk. If your NDAS ID (20 characters) and NDAS key (5 characters) are -.. code:: wiki +.. code:: bash ID: AF7R2-2MKK4-UHG9S-5RHTG KEY: 8QT6U @@ -30,7 +30,7 @@ then execute the following commands as root (in most systems it will be sufficient to type ``# ndasadmin...`` rather than full ``# /usr/sbin/ndasadmin...``) -.. code:: wiki +.. code:: bash /usr/sbin/ndasadmin register <NDAS ID>-<NDAS key> --name <NetDisk Name to be> or @@ -38,7 +38,7 @@ sufficient to type ``# ndasadmin...`` rather than full vis: -.. code:: wiki +.. code:: bash /usr/sbin/ndasadmin register AF7R2-2MKK4-UHG9S-5RHTG-8QT6U --name MyDisk or @@ -50,14 +50,14 @@ vis: | You will get the numeric slot number(s) for each disk on the NetDisk by -.. code:: wiki +.. code:: bash cat /proc/ndas/devices/MyDisk/slots check the status of the NetDisks, if you can't get the slot number from commands above. -.. code:: wiki +.. code:: bash cat /proc/ndas/devs Name ID Key Serial Ver Status Slots @@ -79,7 +79,7 @@ Use the numeric slot number that you get from /proc/ndas/devices/MyDisk/slots then, execute one of the following command with root privilege. -.. code:: wiki +.. code:: bash /usr/sbin/ndasadmin enable -s 1 -o w # exclusive write and read mode @@ -90,7 +90,7 @@ command with root privilege. This command will print out the path of the block device file. For example, -.. code:: wiki +.. code:: bash /dev/nda, /dev/ndb, /dev/ndas-001000001-0. @@ -109,7 +109,7 @@ WARNING: All data will be erased. partition ^^^^^^^^^ -.. code:: wiki +.. code:: bash fdisk /dev/nda (fdisk <path of the block device file> see output of ndasadmin enable), * use p to show the current partition table @@ -120,7 +120,7 @@ format use for example: -.. code:: wiki +.. code:: bash mkfs -t ext2 /dev/nda1 or @@ -141,7 +141,7 @@ Reading Partitions on already formatted NDAS device & mounting - try -.. code:: wiki +.. code:: bash blkid @@ -149,7 +149,7 @@ which should give all partition information for your entire Linux system, including the NDAS device. This is very useful if you already have multiple partitions on your NDAS device. You then need to -.. code:: wiki +.. code:: bash mount -t <filesystem> <device name> <mount directory> @@ -172,7 +172,7 @@ These commands may differ slightly for your particular configuration. Once your Netdisk drivers are properly setup, create a mount point for the device: -.. code:: wiki +.. code:: bash # mkdir /mnt/netdisk @@ -182,7 +182,7 @@ like. Next, locate the device. -.. code:: wiki +.. code:: bash $ ls /dev/ndas* /dev/ndas /dev/ndas-00110749-0 /dev/ndas-00110749-0p1 @@ -192,7 +192,7 @@ primary (and only, in this case) partition is /dev/ndas-00110749-0p1. Determine the format of the disk -.. code:: wiki +.. code:: bash # fdisk -l /dev/ndas-00110749-0 @@ -207,7 +207,7 @@ In this example, it is a FAT32 drive. Next, back up and add this information to your /etc/fstab file -.. code:: wiki +.. code:: bash # cp /etc/fstab /etc/fstab.backup # nano /etc/fstab @@ -222,7 +222,7 @@ to use the defaults, allow users to mount it, and to not mount it automatically at boot. We don't need dump or pass for anything. The line we'd add is: -.. code:: wiki +.. code:: bash /dev/ndas-00110749-0p1 /mnt/netdisk vfat defaults,user,noauto 0 0 @@ -231,7 +231,7 @@ Save the file, and exit your editor. Now, any user on this machine should be able to mount the netdisk with this command: -.. code:: wiki +.. code:: bash $ mount /mnt/netdisk @@ -251,7 +251,7 @@ Additional Commands for the NDAS device To disable the NetDisk: -.. code:: wiki +.. code:: bash /usr/sbin/ndasadmin disable -s 1 @@ -264,7 +264,7 @@ To disable the NetDisk: To Unregister the NetDisk -.. code:: wiki +.. code:: bash /usr/sbin/ndasadmin unregister --name MyDisk @@ -316,7 +316,7 @@ and Windows machines. This is so sad. |:-(| - How to share the NDAS hard disk with OCFS2 - Add how to share the NDAS hard disk with NTFS -.. code:: wiki +.. code:: bash For example type on the command line: diff --git a/wiki/packages/netsnmp.en.rst b/wiki/packages/netsnmp.en.rst index ab79c10..5180d76 100644 --- a/wiki/packages/netsnmp.en.rst +++ b/wiki/packages/netsnmp.en.rst @@ -21,13 +21,13 @@ Creating a Feetz Image with Net-SNMP | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected (so I have 1 out of 3 selected): -.. code:: wiki +.. code:: bash Package selection ---> Standard packages ---> [*] Net-SNMP 5.4.2.1 snmpd Package selection ---> Standard packages ---> [ ] With openssl encryption (NEW) @@ -52,7 +52,7 @@ conf If you would like to have a minimal config you can use the following: -.. code:: wiki +.. code:: bash rocommunity public rwcommunity private @@ -65,7 +65,7 @@ If you would like to have a minimal config you can use the following: | This shows how to control access based on source IP address range with additional options to restrict access. -.. code:: wiki +.. code:: bash ## sec.name source community ## ======== ====== ========= diff --git a/wiki/packages/netsnmp/mrtg.en.rst b/wiki/packages/netsnmp/mrtg.en.rst index 07381f4..0d95067 100644 --- a/wiki/packages/netsnmp/mrtg.en.rst +++ b/wiki/packages/netsnmp/mrtg.en.rst @@ -63,7 +63,7 @@ MRTG Config file found `​here <http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages>`__. -.. code:: wiki +.. code:: bash # Created by # cfgmaker public@192.168.178.1 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg @@ -771,7 +771,7 @@ MRTG Config file For the 7390 I have the following config (not so much different). -.. code:: wiki +.. code:: bash # Created by # cfgmaker public@192.168.178.1 --global "WorkDir: c:\www\mrtg" --output mrtg_7390.cfg @@ -1574,7 +1574,7 @@ Copy them to C:\Program Files (x86)\mrtg-2.17.4\bin\\ directory. I generated a service named mrtg_7390. -.. code:: wiki +.. code:: bash cd C:\Program Files (x86)\mrtg-2.17.4\bin\ instsrv "MRTG_7390" "C:\Program Files (x86)\mrtg-2.17.4\bin\srvany.exe" @@ -1583,7 +1583,7 @@ Create a registry file at the following location: C:\Program Files (x86)\mrtg-2.17.4\bin\mrtg_7390.reg - .. code:: wiki + .. code:: bash [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG_7390\Parameters] "Application"="c:\\Program Files\\perl64\\bin\\wperl.exe" diff --git a/wiki/packages/nfsd.en.rst b/wiki/packages/nfsd.en.rst index 314f573..e15b3fa 100644 --- a/wiki/packages/nfsd.en.rst +++ b/wiki/packages/nfsd.en.rst @@ -20,7 +20,7 @@ NFSD_CGI | My currect config allows 192.168.178.0/24 and localhost (for the local NFS Client). -.. code:: wiki +.. code:: bash /var/media/ndas/ext3 192.168.178.0/255.255.250.0(rw,no_subtree_check) localhost(rw) @@ -30,7 +30,7 @@ NFSD_CGI | Looks only the first two lines are needed, but the others should not harm. -.. code:: wiki +.. code:: bash mountd,nfsd,portmap: 192.168.178.0/255.255.255.0 , localhost lockd: 192.168.178.0/255.255.255.0 , localhost @@ -42,7 +42,7 @@ NFSD_CGI | Only deny the NFS related services -.. code:: wiki +.. code:: bash mountd,nfsd,portmap:ALL lockd:ALL @@ -60,13 +60,13 @@ Verification on Server: List of kernel supported filesystems by the FB: -.. code:: wiki +.. code:: bash cat /proc/filesystems | Just look if the filesystems you are planning to use are listed. -.. code:: wiki +.. code:: bash /etc/init.d/rc.nfsd status @@ -74,7 +74,7 @@ List of kernel supported filesystems by the FB: to see which processes are actually running before restarting the nfs server. -.. code:: wiki +.. code:: bash ps -wl | grep 'nfs\|portmap\|lockd\|statd\|mountd\|quota' @@ -82,14 +82,14 @@ List of kernel supported filesystems by the FB: | You can use ``/etc/init.d/rc.nfsd stop`` and ``/etc/init.d/rc.nfsd start`` to stop and start the nfs server. -.. code:: wiki +.. code:: bash exportfs | Should show the hosts or subnets (incl. localhost if configured) configured in /etc/exports -.. code:: wiki +.. code:: bash mount @@ -98,26 +98,26 @@ List of kernel supported filesystems by the FB: If you also have the `NFS Client </wiki/packages/nfs.en>`__ installed on the FB, the following verification is available: -.. code:: wiki +.. code:: bash mount -t nfs localhost:/<share-path> /<mount-point> To show from the server which nfs exports are in use: -.. code:: wiki +.. code:: bash showmount --all showmount --exports To verify layer-4 network information (e.g. used ports): -.. code:: wiki +.. code:: bash netstat -anp | -.. code:: wiki +.. code:: bash logread @@ -160,7 +160,7 @@ Bonnie++ main script: -.. code:: wiki +.. code:: bash #!/bin/sh @@ -189,7 +189,7 @@ main script: expect script: -.. code:: wiki +.. code:: bash #!/usr/bin/expect @@ -210,7 +210,7 @@ expect script: You can obtain a nice html page of your results with: -.. code:: wiki +.. code:: bash cat results.txt | grep ,,, | bon_csv2html > /tmp/nfs_client_test.html diff --git a/wiki/packages/nfsd.rst b/wiki/packages/nfsd.rst index fed8e3c..e46dfc4 100644 --- a/wiki/packages/nfsd.rst +++ b/wiki/packages/nfsd.rst @@ -37,50 +37,50 @@ Example configuration get uid and gid: -.. code:: wiki +.. code:: bash id -u bittorrent id -g bittorrent export: -.. code:: wiki +.. code:: bash /var/media/ftp/uData *(rw,all_squash,anonuid=100,anongid=1,insecure,sync,subtree_check) hosts.allow: -.. code:: wiki +.. code:: bash mountd,nfsd,portmap: 192.168.178.0/255.255.255.0 hosts.deny: -.. code:: wiki +.. code:: bash ALL: ALL Ubuntu client: -.. code:: wiki +.. code:: bash sudo mount -t nfs -o vers=3,rw,rsize=65536,wsize=65536 fritz.box:/var/media/ftp/uData /media/uData Line in /etc/fstab: -.. code:: wiki +.. code:: bash fritz.box:/var/media/ftp/uData /media/uData nfs vers=3,rw,rsize=65536,wsize=65536 Maximum block size: -.. code:: wiki +.. code:: bash cat /proc/fs/nfsd/max_block_size To change the block size, first stop *nfsd* and execute these commands: -.. code:: wiki +.. code:: bash mount -t nfsd nfsd /proc/fs/nfsd echo 65536 > /proc/fs/nfsd/max_block_size @@ -93,7 +93,7 @@ Fehlerquellen - Falls die NFS-Freigabe nicht beschreibbar ist, dann kann das an den verwendeten Optionen in der export liegen: - .. code:: wiki + .. code:: bash no_root_squash,anonuid=0,anongid=0 diff --git a/wiki/packages/nhipt.en.rst b/wiki/packages/nhipt.en.rst index db8937f..f844e18 100644 --- a/wiki/packages/nhipt.en.rst +++ b/wiki/packages/nhipt.en.rst @@ -69,7 +69,7 @@ nhipt.cgi.(version).tar.gz - set up the httpd deamon for the UI on the folder above of the cgi-bin (e.g. to\ **/ipt**) and use a free tcp port (e.g. 83). -.. code:: wiki +.. code:: bash chmod +x /var/media/ftp/uStor01/ipt/cgi-bin/nhipt.cgi httpd -P /var/run/nhipt.pid -p 83 -h /var/media/ftp/uStor01/ipt @@ -90,7 +90,7 @@ ipt.(version).tar.gz - set execute permissions to **register.sh** - run **register.sh** -.. code:: wiki +.. code:: bash chmod +x /var/media/ftp/uStor01/ipt/register.sh . /var/media/ftp/uStor01/ipt/register.sh @@ -209,7 +209,7 @@ config file | At run-time you'll find it here: */var/tmp/nhipt.par*, persistently stored at BOOTDIR along with the *nhipt.cfg* -.. code:: wiki +.. code:: bash BACK=/var/media/ftp/uStor01/save CHANGED=0 @@ -231,7 +231,7 @@ config file files contained in the freetz package ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash /etc/default.nhipt/nhipt.cfg rwxrwxrwx # config for freetz UI /etc/init.d/rc.nhipt r-xr-xr-x # call-back for freetz UI, boot loader diff --git a/wiki/packages/nhipt.rst b/wiki/packages/nhipt.rst index 28e17aa..943e6ff 100644 --- a/wiki/packages/nhipt.rst +++ b/wiki/packages/nhipt.rst @@ -62,7 +62,7 @@ VORAUSSETZUNGEN: Ideal ist ein Build mit Replaced Kernel und eingeschalteter Autoload modules Funktion des Kernels: - .. code:: wiki + .. code:: bash user@Linux: make kernel-menuconfig (L)oadable modules support @@ -93,7 +93,7 @@ nhipt.cgi.(version).tar.gz - einen httpd-Dienst auf das übergeordnete Verzeichnis **/ipt** und einem freien port (z.B. 83) einrichten. -.. code:: wiki +.. code:: bash chmod +x /var/media/ftp/uStor01/ipt/cgi-bin/nhipt.cgi httpd -P /var/run/nhipt.pid -p 83 -h /var/media/ftp/uStor01/ipt @@ -115,7 +115,7 @@ ipt.(version).tar.gz - Datei **register.sh** mit execute rechten versehen - Das Script **register.sh** ausführen -.. code:: wiki +.. code:: bash chmod +x /var/media/ftp/uStor01/ipt/register.sh . /var/media/ftp/uStor01/ipt/register.sh @@ -257,7 +257,7 @@ Konfigurationsdatei finden, reboot-fest wird sie in BOOTDIR zusammen mit der *nhipt.cfg* abgelegt -.. code:: wiki +.. code:: bash BACK=/var/media/ftp/uStor01/save CHANGED=0 @@ -279,7 +279,7 @@ Konfigurationsdatei Dateien im freetz Paket ~~~~~~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash /etc/default.nhipt/nhipt.cfg rwxrwxrwx # config für freetz maske /etc/init.d/rc.nhipt r-xr-xr-x # call-back für freetz maske, boot loader diff --git a/wiki/packages/nmap.rst b/wiki/packages/nmap.rst index 0e2ccf9..4d497bb 100644 --- a/wiki/packages/nmap.rst +++ b/wiki/packages/nmap.rst @@ -19,7 +19,7 @@ scan large networks, but works fine against single hosts.*" Example ------- -.. code:: wiki +.. code:: bash root@fritz:/var/media/ftp/uData# nmap localhost @@ -83,7 +83,7 @@ Known open ports Useful command: -.. code:: wiki +.. code:: bash netstat -anp diff --git a/wiki/packages/onlinechanged.rst b/wiki/packages/onlinechanged.rst index 1b64bb0..0dacac0 100644 --- a/wiki/packages/onlinechanged.rst +++ b/wiki/packages/onlinechanged.rst @@ -5,7 +5,7 @@ Onlinechanged You can send yourself an e-mail when your box comes online like this: -.. code:: wiki +.. code:: bash online) mailer -s "Freetz online" -t <your e-mail address> diff --git a/wiki/packages/openvpn.rst b/wiki/packages/openvpn.rst index 2f80ef9..6b26d07 100644 --- a/wiki/packages/openvpn.rst +++ b/wiki/packages/openvpn.rst @@ -84,7 +84,7 @@ eine aussagekräftige Portfreigabe erstellt, z.B. "MeineFreigabe". Diese kann in der im vi geöffneten /var/tmp/ar7.cfg gesucht werden mit /MeineFreigabe. -.. code:: wiki +.. code:: bash cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg vi /var/tmp/ar7.cfg @@ -119,7 +119,7 @@ kann in der im vi geöffneten /var/tmp/ar7.cfg gesucht werden mit und der richtigen Port-Nummer. Zu beachten ist, dass die Zeilen mit "," abzuschließen sind, die letzte Zeile mit ";": -.. code:: wiki +.. code:: bash ## falls es **nicht** die letzte Zeile ist so, ## wenn es **die letzte** ist, bitte ein ";" statt des "," @@ -157,7 +157,7 @@ Die einfachste Variante ist der Betrieb mit statischem Schlüssel: Hier mal ein Beispiel mit folgenden Daten: -.. code:: wiki +.. code:: bash Server-IP 192.168.200.1 Client-IP 192.168.200.2 @@ -173,7 +173,7 @@ In der GUI wäre der Server dann so zu konfigurieren: Eine passende Windows-Client-Konfiguration dazu, die sich auf die Box verbinden kann: -.. code:: wiki +.. code:: bash remote meinserver.dyndns.org proto udp @@ -256,7 +256,7 @@ Zuordnung der Schlüssel und Zertifikate auf der Box: Ebenfalls wieder eine Client-Konfiguration dazu, die sich mit diesem Server verbinden könnte: -.. code:: wiki +.. code:: bash remote meinserver.dyndns.org proto udp @@ -316,7 +316,7 @@ oben beschriebenen Verfahren geändert werden muß. Unter dem Punkt Also wieder: -.. code:: wiki +.. code:: bash cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg vi /var/tmp/ar7.cfg @@ -324,7 +324,7 @@ Also wieder: Dann suchen nach /brinterfaces und den Eintrag "tap0" vor dem Semikolon einfügen. -.. code:: wiki +.. code:: bash brinterfaces { name = "lan"; @@ -340,7 +340,7 @@ einfügen. Zum Abschluß noch mal -.. code:: wiki +.. code:: bash cat /var/tmp/ar7.cfg > /var/flash/ar7.cfg reboot @@ -355,7 +355,7 @@ dann folgendermaßen aussehen: Die Windows-Client-Konfiguration dazu sieht so aus: -.. code:: wiki +.. code:: bash client dev tap @@ -439,11 +439,11 @@ Daher der Apell, tastet euch langsam an das ganze heran! läuft) sollten so (spätestens nach zehn Sekunden) die Startmeldungen Hinweise auf den Fehler bringen.: - .. code:: wiki + .. code:: bash # die .../openvpn*.conf wird erst beim Starten des Dienstes erstellt und beim Stoppen gelöscht! - .. code:: wiki + .. code:: bash cat /mod/etc/openvpn*.conf | grep -v daemon > /var/tmp/ovpn.conf openvpn /var/tmp/ovpn.conf & @@ -483,7 +483,7 @@ Verschlüsselungsalgorithmus erfolg über die "Cipher" Auswahlbox. Momentan sind dort diese Cipher wählbar, in Klammern jeweils die OpenVPN Bezeichnung, wie sie aus dem OpenSSL übernommen wurde: -.. code:: wiki +.. code:: bash Blowfish (BF-CBC) AES 128 (AES-128-CBC) @@ -495,7 +495,7 @@ nachzugehen, habe ich mal mit ``openssl speed des aes blowfish`` einen "Leistungsvergleich" der Verfahren auf einem Speedport 701 gemacht (nur für die wählbaren Optionen): -.. code:: wiki +.. code:: bash The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes @@ -511,7 +511,7 @@ tiefergehende Vergleiche der Algorithmen sei z.B. auf Zum Vergleich die Zahlen von einer 7320: -.. code:: wiki +.. code:: bash The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes @@ -524,7 +524,7 @@ Zum Vergleich die Zahlen von einer 7320: … und von einer 7390: -.. code:: wiki +.. code:: bash The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes @@ -548,7 +548,7 @@ to specific a DNS server using openVPN, but that didn' work. Eventually I fixed this problem by using iptables to re-route DNS to the local DNS server (dnsmasq) like this: -.. code:: wiki +.. code:: bash iptables -A PREROUTING -i tun0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.178.1 iptables -A PREROUTING -i tun0 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.178.1 @@ -592,7 +592,7 @@ sich Clients verbinden, zu denen Netze geroutet werden sollen. Damit das funktioniert muss neben dem "normalen" Routing auch das interne Routing des Servers konfiguriert werden, der dazu "iroute" Einträge benötigt. -.. code:: wiki +.. code:: bash mode server tls-server @@ -619,7 +619,7 @@ client-connect Skript genutzt (ähnlich wie die "erweiterte Clientconfig" der "alten GUI"). Die Idee/Anwendung sollte selbsterklärend sein (hoffe ich): -.. code:: wiki +.. code:: bash #!/bin/sh CLIENTS='name:ip maske:netz1 maske1; netz2 maske2 diff --git a/wiki/packages/php.rst b/wiki/packages/php.rst index 468de90..423d39e 100644 --- a/wiki/packages/php.rst +++ b/wiki/packages/php.rst @@ -14,11 +14,11 @@ Memory usage It works, but it needs a lot of memory, so a swap file is advisable (about 32 MB will do in most cases). -.. code:: wiki +.. code:: bash -rwxr-xr-x 1 root root 5036004 Apr 25 18:41 php-cgi -.. code:: wiki +.. code:: bash VmPeak: 10740 kB VmSize: 10740 kB The size of the virtual memory allocated to the process @@ -33,7 +33,7 @@ Another thing is that *php.ini* will use valuable flash space and is quite big. A solution is to make a symbolic link to an USB storage device: -.. code:: wiki +.. code:: bash cp /tmp/flash/php.ini /var/media/ftp/uFlash/hiawatha/php.ini rm /tmp/flash/php.ini diff --git a/wiki/packages/phpxmail.en.rst b/wiki/packages/phpxmail.en.rst index 46bbee8..b6db5dc 100644 --- a/wiki/packages/phpxmail.en.rst +++ b/wiki/packages/phpxmail.en.rst @@ -35,7 +35,7 @@ Basic setup guide #. Fill in a **existing** directory for settings & storage, for example - .. code:: wiki + .. code:: bash /var/media/ftp/uStor01/XMail @@ -67,7 +67,7 @@ Basic setup guide #. Enable and set *CustMapsList* to (see `​here <http://xmailforum.homelinux.net/index.php?showtopic=4620>`__): - .. code:: wiki + .. code:: bash zen.spamhaus.org.:0 @@ -120,7 +120,7 @@ Setup SSL `​here <http://www.iona.com/support/docs/orbix2000/2.0/tls/html/OpenSslUtils3.html>`__ #. Enter the following commands: - .. code:: wiki + .. code:: bash openssl_genrsa 2048 > server.key openssl_req -new -x509 -key server.key -out server.cert -days 365 -config openssl.cnf diff --git a/wiki/packages/pingtunnel.rst b/wiki/packages/pingtunnel.rst index 7b02546..a1c4079 100644 --- a/wiki/packages/pingtunnel.rst +++ b/wiki/packages/pingtunnel.rst @@ -17,7 +17,7 @@ Setup Folgendes bei ``forwardrules`` der ar7.cfg eintragen um Pings aus dem Internet zuzulassen: -.. code:: wiki +.. code:: bash "icmp 0.0.0.0 0.0.0.0 0 # PTunnel" @@ -28,7 +28,7 @@ Capturing packets (`​libpcap <http://www.tcpdump.org/pcap3_man.html>`__) from interface *dsl* doesn't work (packets are fragmented), but from interface *lan* does: -.. code:: wiki +.. code:: bash ptunnel -c lan @@ -39,7 +39,7 @@ that are not wlan or ethernet.*") The web interface of pingtunnel (from revision 6792) uses the following options if you don't specify extra options: -.. code:: wiki +.. code:: bash -c lan -syslog -x <password> @@ -66,7 +66,7 @@ if you configure ICMP forwarding. It is easily overlooked, but you can tighten security with these option: -.. code:: wiki +.. code:: bash -da: Set remote proxy destination address if client Restrict to only this destination address if server @@ -75,7 +75,7 @@ It is easily overlooked, but you can tighten security with these option: You can restrict access to for example Polipo? like this: -.. code:: wiki +.. code:: bash -da localhost -dp 8123 diff --git a/wiki/packages/polipo.en.rst b/wiki/packages/polipo.en.rst index d958b53..88bea4e 100644 --- a/wiki/packages/polipo.en.rst +++ b/wiki/packages/polipo.en.rst @@ -38,7 +38,7 @@ A solution is this: It is not an bad idea to restrict the memory Polipo will use with the following additional option: -.. code:: wiki +.. code:: bash chunkHighMark=1048576 @@ -61,7 +61,7 @@ Tor) It is possible to tighten security by using these options: -.. code:: wiki +.. code:: bash tunnelAllowedPorts=443;allowedPorts=80,443 @@ -76,13 +76,13 @@ Blocking domains Using the extra options it is possible to specify a file with forbidden domains, like this: -.. code:: wiki +.. code:: bash forbiddenFile=/var/media/ftp/uFlash/polipo/forbidden Add the domains you want to block on separate lines, like this: -.. code:: wiki +.. code:: bash doubleclick.net googleadservices.com diff --git a/wiki/packages/ppp.rst b/wiki/packages/ppp.rst index 14e6c3c..0201f22 100644 --- a/wiki/packages/ppp.rst +++ b/wiki/packages/ppp.rst @@ -93,13 +93,13 @@ herkömmlicher Verbindung empfiehlt sich folgendes: - Bei dnsmasq im Feld "Zusätzliche Kommandozeilen-Optionen (für Experten)" dies eintragen: - .. code:: wiki + .. code:: bash -r /var/tmp/avm-resolv.conf -r /etc/ppp/resolv.conf - alternativ falls OpenDNS bevorzugt wird - .. code:: wiki + .. code:: bash -r /etc/ppp/resolv.conf -S 208.67.220.220 -S 208.67.222.222 @@ -112,7 +112,7 @@ Firewall, Routing & NAT Um Masquerading zu aktivieren sind folgende Befehle nötig: -.. code:: wiki +.. code:: bash modprobe ipt_state modprobe ipt_MASQUERADE diff --git a/wiki/packages/pptpd/config.rst b/wiki/packages/pptpd/config.rst index 99c918d..6660bbe 100644 --- a/wiki/packages/pptpd/config.rst +++ b/wiki/packages/pptpd/config.rst @@ -15,7 +15,7 @@ In der mitgelieferten Konfiguration ist logwtmp standardmäßig aktiviert Dies sollte deaktiviert werden, da wtmp auf der fritzbox nicht läuft und somit eine vpn-Verbindung nicht zustande kommt. -.. code:: wiki +.. code:: bash # TAG: logwtmp # Use wtmp(5) to record client connections and disconnections. @@ -38,7 +38,7 @@ zu Verbindungsproblemen kommen, wenn der Client erstmal verhandeln will kann die Verschlüsselung direkt auf 128 Bit fest einstellen. Mit dieser Einstellung hat eine PPTP Verbindung mit dem iPhone VPN-Client geklappt: -.. code:: wiki +.. code:: bash # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft # Challenge Handshake Authentication Protocol, Version 2] authentication. @@ -56,7 +56,7 @@ In der ``options.pptpd`` ist der Name auf ``fritzbox`` eingestellt. Dies sollte sich dann in einem Benutzereintrag in der ``chap-secrets`` widerspiegeln: -.. code:: wiki +.. code:: bash # client server secret IP addresses username fritzbox password 192.168.x.y @@ -74,14 +74,14 @@ Troubleshooting Um die pptpd Meldungen zu sehen, muss man zunächst einen syslogd starten: -.. code:: wiki +.. code:: bash /var/tmp/flash/ppp # syslogd -L -C256 -l 7 Und kann sich danach die Meldungen des daemons im syslog per ``logread`` anschauen: -.. code:: wiki +.. code:: bash /var/tmp/flash/ppp # logread @@ -90,7 +90,7 @@ Um mehr Meldungen zu bekommen, kann man in ``options.pptpd`` und/oder options.pptpd: -.. code:: wiki +.. code:: bash # Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) @@ -98,7 +98,7 @@ options.pptpd: pptpd.conf: -.. code:: wiki +.. code:: bash # TAG: debug # Turns on (more) debugging to syslog @@ -113,13 +113,13 @@ Troubleshooting keine Fehlermeldung Bei mir tauchte im log keine Fehlermeldung auf. Da hilft debuggen auf der Box mit: -.. code:: wiki +.. code:: bash ./strace pptpd -d -f -c /etc/ppp/pptpd.conf Dabei kam heraus, dass es folgende Fehlermeldung gibt: -.. code:: wiki +.. code:: bash can't resolve symbol 'bzero' diff --git a/wiki/packages/pptpd/install.rst b/wiki/packages/pptpd/install.rst index 075e6b7..0db4605 100644 --- a/wiki/packages/pptpd/install.rst +++ b/wiki/packages/pptpd/install.rst @@ -33,13 +33,13 @@ Vorbereitungen Man braucht einen Crosscompiler? um den Kernel kompilieren zu können. Falls noch nicht vorhanden: -.. code:: wiki +.. code:: bash make toolchain Anschließend: -.. code:: wiki +.. code:: bash make menuconfig @@ -56,7 +56,7 @@ Folgende Dateien herunterladen: Die Verzeichnisse für spätere Anpassungen vorbereiten: -.. code:: wiki +.. code:: bash make kernel-dirclean make kernel-menuconfig @@ -89,7 +89,7 @@ Patch einspielen Beim Patchen werden euch noch ein paar Hinweise erwarten: -.. code:: wiki +.. code:: bash The next patch would create the file linux-2.4.17_mvl21/include/asm-mips/kmap_types.h, which already exists! Assume -R? [n] @@ -102,13 +102,13 @@ Dort einfach alles mit *ENTER* betätigen. Kernel konfigurieren und kompilieren ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. code:: wiki +.. code:: bash make kernel-menuconfig Folgende Pakete zusätzlich auswählen: -.. code:: wiki +.. code:: bash Network device support ---> <*> PPP (point-to-point protocol) support @@ -124,7 +124,7 @@ Folgende Pakete zusätzlich auswählen: Beenden und Abspeichern -.. code:: wiki +.. code:: bash make kernel-precompiled @@ -142,14 +142,14 @@ Das Addon-Paket? ``pptpd-1.3.0_fixed.tar.gz`` nach ``DS-MOD-VERZEICHNIS/addon`` entpacken und anschließen in die Datei ``static.pkg`` eintragen. -.. code:: wiki +.. code:: bash tar -C DS-MOD-VERZEICHNIS/addon -xvzf pptpd-1.3.0_fixed.tar.gz echo pptpd-1.3.0 >> DS-MOD-VERZEICHINS/addon/static.pkg Um die Erstellung des fertigen Firmware-Images vorzubereiten: -.. code:: wiki +.. code:: bash make menuconfig @@ -159,7 +159,7 @@ auswählen. Für das PPTP-Server-Image ist zusätzlich die Einbindung folgender Libraries nötig: -.. code:: wiki +.. code:: bash Advanced options --> Shared libraries--> @@ -170,7 +170,7 @@ Libraries nötig: Zuguterletzt erstellen wird das endgültige Image mit: -.. code:: wiki +.. code:: bash make diff --git a/wiki/packages/pptpd/webif.rst b/wiki/packages/pptpd/webif.rst index 4391b90..b7cd5f3 100644 --- a/wiki/packages/pptpd/webif.rst +++ b/wiki/packages/pptpd/webif.rst @@ -48,7 +48,7 @@ Um sich schließlich von außen auf den PPTP-Server verbinden zu können, muss natürlich eine Portweiterleitung auf die IP der FRITZBox eingerichtet werden. -.. code:: wiki +.. code:: bash Protokoll: TCP Port: 1723 Protokoll: GRE (keine Portangabe nötig) diff --git a/wiki/packages/privoxy.rst b/wiki/packages/privoxy.rst index 7bc073c..798c7f8 100644 --- a/wiki/packages/privoxy.rst +++ b/wiki/packages/privoxy.rst @@ -74,7 +74,7 @@ Transparenter Proxy Um die Umleitung zu aktivieren folgendes ausführen (Konsole oder rc.custom): -.. code:: wiki +.. code:: bash modprobe ip_tables modprobe iptable_filter @@ -99,7 +99,7 @@ Werbefilter Fritz.Box etwas eng. Deswegen ist es nützliche die Listen beim Start der Fritz.Box neu zu laden. -.. code:: wiki +.. code:: bash URL="http://adblockplus.mozdev.org/easylist/easylist.txt" ACTION=/var/tmp/flash/privoxy/user.action @@ -124,12 +124,12 @@ Nähere Infos unter: If you want to store the action and filter file external in stead of flash: -.. code:: wiki +.. code:: bash ACTION=/var/media/ftp/uFlash/privoxy/user.action FILTER=/var/media/ftp/uFlash/privoxy/user.filter -.. code:: wiki +.. code:: bash rm /tmp/flash/privoxy/user.filter rm /tmp/flash/privoxy/user.action diff --git a/wiki/packages/prosody.rst b/wiki/packages/prosody.rst index 63d17a5..0c489e1 100644 --- a/wiki/packages/prosody.rst +++ b/wiki/packages/prosody.rst @@ -16,13 +16,13 @@ Konfiguration Zunächst kopieren wir uns die Beispielkonfiguration aus /var/mod/etc/: -.. code:: wiki +.. code:: bash cp /var/mod/etc/prosody.cfg.lua /var/tmp/flash/mod/prosody.cfg.lua Diese können wir dann mit vi bearbeiten: -.. code:: wiki +.. code:: bash vi /var/tmp/flash/mod/prosody.cfg.lua @@ -35,7 +35,7 @@ Zunächst sollte man einen VirtualHost konfigurieren, dazu verändert man man die "example.com" in die gewünschte Domain und entfernt das enabled = false -.. code:: wiki +.. code:: bash VirtualHost "example.com" enabled = false -- Remove this line to enable this host @@ -52,7 +52,7 @@ Speichermedium (z.B. USB-Stick) auf die FritzBox übertragen. Die Pfade dazu müssen in der prosody.cfg.lua entsprechend verändert werden: -.. code:: wiki +.. code:: bash ssl = { key = "/var/media/ftp/uStor01/certs/localhost.key"; @@ -82,7 +82,7 @@ mit einem XMPP-Client registrieren. Alternativ kann man mit der Shell Benutzer erstellen: -.. code:: wiki +.. code:: bash prosodyctl adduser [Benutzer]@[Domain] @@ -96,7 +96,7 @@ logging aktivieren kann, muss POSIX aktiviert werden. Zunächst aktiviert man das Modul in der prosody.cfg.lua: -.. code:: wiki +.. code:: bash modules_enabled = { -- andere Module @@ -106,7 +106,7 @@ Zunächst aktiviert man das Modul in der prosody.cfg.lua: Zusätzlich wird noch ein pid-File benötigt, dazu fügen wir in der prosody.cfg.lua an: -.. code:: wiki +.. code:: bash pidfile = "/var/tmp/flash/mod/prosody.pid" @@ -119,7 +119,7 @@ Damit die Benutzerdateien nicht auf der FritzBox sondern auf einem externen Medium gespeichert werden, erstellt man eine symbolische Verlinkung: -.. code:: wiki +.. code:: bash ln -s /var/media/ftp/uStor01/prosody/data /var/tmp/flash/mod/prosody/ @@ -131,7 +131,7 @@ Benutzer hinzufügen Damit prosody nicht mit root-Rechten geöffnet werden muss, wird ein anderer Benutzer benötigt. Diesen kann man mithilfe der Shell erstellen: -.. code:: wiki +.. code:: bash addgroup prosody adduser -G prosody prosody @@ -145,14 +145,14 @@ Bei Systemstart ausführen Wenn man die Daten nicht extern speichert, reicht es, wenn mit vi /tmp/flash/mod/rc.custom folgendes hinzufügt: -.. code:: wiki +.. code:: bash prosodyctl start Wenn man die Daten extern speichert, sollte man in das Verzeichnis /var/tmp/flash/mod wechseln und dort die folgenden Dateien anlegen: -.. code:: wiki +.. code:: bash root@fritz:/var/tmp/flash/mod# vi rc.prosody #!/bin/sh @@ -180,7 +180,7 @@ Wenn man die Daten extern speichert, sollte man in das Verzeichnis exit 0 -.. code:: wiki +.. code:: bash root@fritz:/var/tmp/flash/mod# vi rc.external #!/bin/sh @@ -195,7 +195,7 @@ Wenn man die Daten extern speichert, sollte man in das Verzeichnis eventadd 1 "Running custom rc.external done." -.. code:: wiki +.. code:: bash root@fritz:/var/tmp/flash/mod# vi /var/tmp/flash/onlinechanged-cgi case "$1" in @@ -224,7 +224,7 @@ Wenn man die Daten extern speichert, sollte man in das Verzeichnis |Warning| Damit diese Änderung beim Neustart erhalten bleibt müssen diese gespeichert werden: -.. code:: wiki +.. code:: bash modsave all @@ -235,7 +235,7 @@ Prosody ausführen Prosody kann auch manuell gestartet werden mit: -.. code:: wiki +.. code:: bash prosodyctl start diff --git a/wiki/packages/radvd.en.rst b/wiki/packages/radvd.en.rst index 60f4451..0bce7ce 100644 --- a/wiki/packages/radvd.en.rst +++ b/wiki/packages/radvd.en.rst @@ -34,24 +34,24 @@ Creating a Feetz Image with Radvd | After the following step you can configure the packages you want to have included in your image. -.. code:: wiki +.. code:: bash make menuconfig Make sure the following is selected: -.. code:: wiki +.. code:: bash [*] Show advanced options [*] Enable IPv6 support -.. code:: wiki +.. code:: bash Package selection ---> Standard packages ---> [*] radvd (router advertisement daemon) I also advice to add the following for easier troubleshooting: -.. code:: wiki +.. code:: bash Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] ping6 command Advanced options ---> BusyBox options ---> IPv6 Options ---> [*] traceroute6 command @@ -69,7 +69,7 @@ I also advice to add the following for easier troubleshooting: With the following commands executed before make you can have this enhancement included also: -.. code:: wiki +.. code:: bash cd ~/freetz-1.2/make/radvd/files/root/etc/default.radvd/ wget "/browser/trunk/make/radvd/files/root/etc/default.radvd/radvd.cfg?rev=9419&format=txt" -O radvd.cfg @@ -121,7 +121,7 @@ WinXP Clients | With my WinXP system I had no problems to obtain an IPv6. All I had to do was to was to enable IPv6 with: -.. code:: wiki +.. code:: bash netsh interface ipv6 install @@ -129,7 +129,7 @@ WinXP Clients temporary one. | You can also see them with: -.. code:: wiki +.. code:: bash netsh interface ipv6 show address @@ -151,7 +151,7 @@ Win7 Clients - | next use the following commands (note I used both commands without verifying correctly which one was needed): - .. code:: wiki + .. code:: bash netsh int ipv6 reset c:\ipv6_reset.log netsh interface isatap set state enabled diff --git a/wiki/packages/rrdstats.rst b/wiki/packages/rrdstats.rst index 486f253..6742866 100644 --- a/wiki/packages/rrdstats.rst +++ b/wiki/packages/rrdstats.rst @@ -50,7 +50,7 @@ Auf der Box: Freetz:modules das bzw. die Kernel-Modul(e) untereinander eintragen (aber ohne "modprobe" o.ä.!) -.. code:: wiki +.. code:: bash pl2303 ftdi_sio @@ -65,7 +65,7 @@ Backup Sinnvoll ist die Anpassung der Pfade, falls man regelmäßige Backups der Messdaten machen möchte, z.B.: -.. code:: wiki +.. code:: bash Backup Verzeichnis: /var/media/ftp/uStor01/rrdstats/backup @@ -77,7 +77,7 @@ z.B. alle 20-30 Minuten, sind die Lücken in den Graphen bei entsprechend kurzen Box-Ausfallzeiten auch nicht zu groß. Im Freetz-WebGUI gibt man dazu unter "Einstellungen / Freetz: crontab" z.B. folgendes ein: -.. code:: wiki +.. code:: bash 00 * * * * /etc/init.d/rc.rrdstats backup 20 * * * * /etc/init.d/rc.rrdstats backup @@ -148,14 +148,14 @@ Loggen der Kanäle erweitern: | 1) Am Anfang der dump.xml vor den Zeilen - .. code:: wiki + .. code:: bash <ds> <name> up </name> dies hinzufügen - .. code:: wiki + .. code:: bash <name> txfq2 </name> <type> GAUGE </type> @@ -184,7 +184,7 @@ Loggen der Kanäle 2) 12 Zeilen vor allen ``</cdp_prep>`` Zeilen dies hinzufügen - .. code:: wiki + .. code:: bash <ds> <primary_value> 0.0000000000e+00 </primary_value> diff --git a/wiki/packages/rudi-shell/install.rst b/wiki/packages/rudi-shell/install.rst index e56da62..3adb2a2 100644 --- a/wiki/packages/rudi-shell/install.rst +++ b/wiki/packages/rudi-shell/install.rst @@ -18,7 +18,7 @@ nach dem Menüeintrag "Extras". Dort fügen wir die Zeile für Rudi ein (im Beispiel sieht man noch die bei Ihnen evtl. nicht vorhandene Zeile für meinen Backup/Restore-Mod): -.. code:: wiki +.. code:: bash cat << EOF <div id="extras"><a href="/cgi-bin/extras.cgi">Extras</a></div> diff --git a/wiki/packages/rudi-shell/tips.rst b/wiki/packages/rudi-shell/tips.rst index 8656130..559cd6e 100644 --- a/wiki/packages/rudi-shell/tips.rst +++ b/wiki/packages/rudi-shell/tips.rst @@ -92,7 +92,7 @@ Der gesamte Vorgang erfordert zwischendurch die Eingabe einer Passphrase für den Serverschlüssel sowie von persönlichen Daten für das Zertifikat. Das sieht dann inkl. Ein- und Ausgaben beispielsweise so aus: -.. code:: wiki +.. code:: bash $ openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus @@ -180,7 +180,7 @@ services* folgende Konfiguration ein, um eben diese Web-Oberfläche, in der wir uns gerade aufhalten, zukünftig HTTPS-gesichert verfügbar zu machen: -.. code:: wiki +.. code:: bash [freetz_web] cert = /tmp/stunnel-key.pem @@ -209,7 +209,7 @@ machen, müssen entweder die üblichen Einstellungen in ``/var/flash/ar7.cfg`` vorgenommen werden, also z.B. folgender Abschnitt unter *forwardrules* -.. code:: wiki +.. code:: bash "tcp 0.0.0.0:443 0.0.0.0:443", diff --git a/wiki/packages/s3fslite.rst b/wiki/packages/s3fslite.rst index cd051ef..6bc49f4 100644 --- a/wiki/packages/s3fslite.rst +++ b/wiki/packages/s3fslite.rst @@ -15,7 +15,7 @@ Usage See the home page for detailed usage instructions. Be sure to specify the following options: -.. code:: wiki +.. code:: bash -o attr_cache= -o writeback_cache= @@ -25,7 +25,7 @@ larger files (your box could crash and reboot). For example: -.. code:: wiki +.. code:: bash s3fs <bucket> <mount point> \ -o attr_cache=/var/media/ftp/uStor01/... \ @@ -44,7 +44,7 @@ objects from internet: (for example for a static web site)  Using *rsync* to make backups: -.. code:: wiki +.. code:: bash rsync -avW --delete /source-folder/ /mount-point/ diff --git a/wiki/packages/samba.rst b/wiki/packages/samba.rst index 736689e..2fe4f03 100644 --- a/wiki/packages/samba.rst +++ b/wiki/packages/samba.rst @@ -189,7 +189,7 @@ Einstellungen → Samba Freigaben **Beispiel:** -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/Videos hdd1 1 0 - Videos /var/media/ftp/uStor01/Bilder hdd1 1 0 - Bilder @@ -201,11 +201,11 @@ Fremdrechner z. B. mit ext2 oder ext3 formatiert, sind oft keine Schreibrechte und auch nicht ``ftpuser`` als Eigentümer gesetzt. In der FRITZBox kann das mit folgenden Kommandos korrigiert werden: -.. code:: wiki +.. code:: bash chmod -R 777 uStor01 -.. code:: wiki +.. code:: bash chown ftpuser -R uStor01 @@ -226,7 +226,7 @@ Weitere Tuningmöglichkeiten gibt es hier: | Für Performanceverbesserungen kann folgendes unter 'Erweitert' eingetragen werden: -.. code:: wiki +.. code:: bash socket options = TCP_NODELAY IPTOS_LOWDELAY read raw = yes diff --git a/wiki/packages/sane-backends.rst b/wiki/packages/sane-backends.rst index 752071f..0e023b3 100644 --- a/wiki/packages/sane-backends.rst +++ b/wiki/packages/sane-backends.rst @@ -86,7 +86,7 @@ Windows Umgebungsvariable ``LANG`` auf ``de`` setzt. Z.B. Folgendes in xsane.bat: - .. code:: wiki + .. code:: bash @echo off set LANG=de @@ -183,7 +183,7 @@ AGFA SnapScan e20 - die Dateien "``snapscan.conf``" und "``snapscan.conf.in``" aus dem Ordner "``source/sane-backends-1.0.19/backend``" anpassen: -.. code:: wiki +.. code:: bash #------------------------------ General ----------------------------------- @@ -205,7 +205,7 @@ Mustek BearPaw 1200 TA `​http://www.meier-geinitz.de/sane/gt68xx-backend/ <http://www.meier-geinitz.de/sane/gt68xx-backend/>`__ - In freetz Verzeichnis eingeben: - .. code:: wiki + .. code:: bash mkdir -p make/sane-backends/files/root/usr/share/sane/gt68xx cp <Pfad zu A1fw.usb> make/sane-backends/files/root/usr/share/sane/gt68xx diff --git a/wiki/packages/sispmctl.rst b/wiki/packages/sispmctl.rst index 617e7a0..bf5b23b 100644 --- a/wiki/packages/sispmctl.rst +++ b/wiki/packages/sispmctl.rst @@ -125,7 +125,7 @@ Optionen. Die `​man-page <http://sispmctl.sourceforge.net/#mozTocId756141>`__ findet sich aber auch auf der Homepage des Projekts. -.. code:: wiki +.. code:: bash root@fritz:/var/mod/root# sispmctl -h diff --git a/wiki/packages/smstools3.rst b/wiki/packages/smstools3.rst index b06dc6f..05dd9e8 100644 --- a/wiki/packages/smstools3.rst +++ b/wiki/packages/smstools3.rst @@ -33,13 +33,13 @@ Senden und Empfangen mit dem Terminal Eine SMS kann man diesem Befehl versendet werden, der Parameter ``flash`` ist optional: -.. code:: wiki +.. code:: bash rc.smstools3 sendsms flash +497771234567 Text der Nachricht Empfangene SMS können so aufgelistet angezeigt: -.. code:: wiki +.. code:: bash rc.smstools3 listsms diff --git a/wiki/packages/strace.rst b/wiki/packages/strace.rst index ad75dc3..6b808f8 100644 --- a/wiki/packages/strace.rst +++ b/wiki/packages/strace.rst @@ -32,7 +32,7 @@ Aufrufe separat notiert. Darunter leidet aber die Lesbarkeit, weil man weiter unten oft nicht mehr weiß, zum welchem "unfinished" welches "resume" gehört (hier im Beispiel ist es noch einfach): -.. code:: wiki +.. code:: bash 719 14:55:13.562840 clock_gettime(CLOCK_MONOTONIC, <unfinished ...> 1010 14:55:13.563457 getppid( <unfinished ...> diff --git a/wiki/packages/stunnel.rst b/wiki/packages/stunnel.rst index ba8ae8e..7260e4d 100644 --- a/wiki/packages/stunnel.rst +++ b/wiki/packages/stunnel.rst @@ -30,7 +30,7 @@ Konfiguration #. Erzeugen der Keys auf dem PC (unter Linux): - .. code:: wiki + .. code:: bash openssl genrsa 1024 > host.key openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert @@ -41,7 +41,7 @@ Konfiguration 3. Die gewünschten Services hinzufügen. Zum Beispiel: - .. code:: wiki + .. code:: bash [freetz https Web-Interface] client = no diff --git a/wiki/packages/subversion.rst b/wiki/packages/subversion.rst index 05e719e..af20d64 100644 --- a/wiki/packages/subversion.rst +++ b/wiki/packages/subversion.rst @@ -68,7 +68,7 @@ Konfiguration Ein Repository wird mit folgendem Befehl angelegt -.. code:: wiki +.. code:: bash svnadmin create --fs-type fsfs /PFAD_ZU_DEM_EXT2_TRAEGER/REPOSITORY_NAME @@ -89,14 +89,14 @@ aussehen: **passwd** -.. code:: wiki +.. code:: bash [users] DeinName = DeinPasswort **svnserve.conf** -.. code:: wiki +.. code:: bash [general] anon-access = none diff --git a/wiki/packages/sundtek.rst b/wiki/packages/sundtek.rst index a1d3163..c42aab0 100644 --- a/wiki/packages/sundtek.rst +++ b/wiki/packages/sundtek.rst @@ -34,7 +34,7 @@ Treiber verwenden Um den Treiber benutzen zu können muss vorher dieser Befehl ausgeführt werden: -.. code:: wiki +.. code:: bash export LD_PRELOAD=/usr/lib/libmediaclient.so @@ -46,7 +46,7 @@ USB-Stick initialisieren Der USB-Stick muss für die Fritzbox in den Übertrangungsmodus "bulk" versetzt werden: -.. code:: wiki +.. code:: bash mediaclient --dtvtransfermode=bulk diff --git a/wiki/packages/syslogd.en.rst b/wiki/packages/syslogd.en.rst index ce30e48..a680d57 100644 --- a/wiki/packages/syslogd.en.rst +++ b/wiki/packages/syslogd.en.rst @@ -25,7 +25,7 @@ Usage of syslog The syslog messages can be displayed via the web-interface via: -.. code:: wiki +.. code:: bash Status > Syslog @@ -35,14 +35,14 @@ packages (e.g. hostapd, login, INADYN). Another option is to view the messages via a telnet or ssh connection using the following commands: -.. code:: wiki +.. code:: bash logread You can monitor the syslog messages where all new messages are displayed using the command: -.. code:: wiki +.. code:: bash logread -f diff --git a/wiki/packages/syslogd.rst b/wiki/packages/syslogd.rst index 3ab9d8d..13d3983 100644 --- a/wiki/packages/syslogd.rst +++ b/wiki/packages/syslogd.rst @@ -36,7 +36,7 @@ Es kann entweder über **Netzwerk** oder **lokal** geloggt werden. Optionen -------- -.. code:: wiki +.. code:: bash Usage: syslogd [OPTIONS] diff --git a/wiki/packages/tinyproxy.rst b/wiki/packages/tinyproxy.rst index 6dd08f9..897d616 100644 --- a/wiki/packages/tinyproxy.rst +++ b/wiki/packages/tinyproxy.rst @@ -31,7 +31,7 @@ URL blocking - Check option *FilterURLs* - Add URL's to text box *content of filter file* -.. code:: wiki +.. code:: bash doubleclick\.net googleadservices\.com diff --git a/wiki/packages/transmission.en.rst b/wiki/packages/transmission.en.rst index f1fe2c8..c84146f 100644 --- a/wiki/packages/transmission.en.rst +++ b/wiki/packages/transmission.en.rst @@ -9,7 +9,7 @@ know that you have to provide a blocklist yourself. The simplest is to make a 'update-blocklist.sh' with the content below and to invoke it daily or so using cron (don't forget to make the file executable). -.. code:: wiki +.. code:: bash #!/var/tmp/sh @@ -32,7 +32,7 @@ Number of peers It is probably a good idea to reduce the number of peers by editing the *…/bittorrent/config/settings.json* file: -.. code:: wiki +.. code:: bash "peer-limit-global": 150, "peer-limit-per-torrent": 50, @@ -40,7 +40,7 @@ It is probably a good idea to reduce the number of peers by editing the You have to stop transmission before changing this! Or you could use this command to reload the config file: -.. code:: wiki +.. code:: bash killall -HUP transmission-daemon @@ -77,7 +77,7 @@ Limit memory usage To prevent memory shortage (could cause reboots and crashing processes): -.. code:: wiki +.. code:: bash "cache-size-mb": 1, "open-file-limit": 32, @@ -96,7 +96,7 @@ Watchdog It may be necessary to disable the watchdog by adding this line to for example *rc.custom*: -.. code:: wiki +.. code:: bash echo "disable">/dev/watchdog diff --git a/wiki/packages/trickle.rst b/wiki/packages/trickle.rst index 7dda4b9..d32f644 100644 --- a/wiki/packages/trickle.rst +++ b/wiki/packages/trickle.rst @@ -27,7 +27,7 @@ die Box optimal genutzt werden. Syntax ------ -.. code:: wiki +.. code:: bash Usage: trickle [-hvVs] [-d <rate>] [-u <rate>] [-w <length>] [-t <seconds>] [-l <length>] [-n <path>] command ... @@ -44,7 +44,7 @@ Syntax -L <ms> Set latency to <ms> milliseconds -P <path> Preload the specified .so instead of the default one -.. code:: wiki +.. code:: bash Usage: trickled [-hvVfs] [-d <rate>] [-u <rate>] [-t <seconds>] [-l <length>] [-p <priority>] [-c <file>] [-n <path>] [-N <seconds>] @@ -71,11 +71,11 @@ Beispiele für die Benutzung von trickle **1. Über einen Proxy:** -.. code:: wiki +.. code:: bash trickle -s -u 20 -d 100 /var/mod/etc/init.d/rc.privoxy start -.. code:: wiki +.. code:: bash wget -e "http_proxy = http://192.168.127.253:8118" http://speedtest.netcologne.de/test_10mb.bin --2010-02-21 10:07:58-- http://speedtest.netcologne.de/test_10mb.bin @@ -88,7 +88,7 @@ Beispiele für die Benutzung von trickle **2. Direkt auf die Anwendung:** -.. code:: wiki +.. code:: bash trickle -s -u 50 -d 70 wget http://speedtest.netcologne.de/test_10mb.bin --2010-03-06 22:54:02-- http://speedtest.netcologne.de/test_10mb.bin @@ -104,7 +104,7 @@ Beispiele für die Benutzung von trickle **Auslastung der Box (aus top):** -.. code:: wiki +.. code:: bash 2660 1901 root S 3028 10% 2% wget http://speedtest.netcologne.de/test_10mb.bin diff --git a/wiki/packages/usbroot.rst b/wiki/packages/usbroot.rst index 2cbc6e1..d4793a0 100644 --- a/wiki/packages/usbroot.rst +++ b/wiki/packages/usbroot.rst @@ -93,7 +93,7 @@ entpackt, Schritte 1, 3, 4) auf den USB-Stick zu kopieren, sofern dieser am PC angeschlossen oder über NFS erreichbar ist. Erstere Variante ist vermutlich die häufigere und sieht so aus: -.. code:: wiki +.. code:: bash Freetz Configuration ==================== @@ -134,7 +134,7 @@ führen, daher **MUSS vor dem Firmware-Update bzw Recover die usbroot-Funktion wieder deaktiviert werden''', wahlweise über das Freetz Webinterface oder aus der Shell mit:** -.. code:: wiki +.. code:: bash echo kernel_args > /proc/sys/urlader/environment echo kernel_args1 > /proc/sys/urlader/environment @@ -142,7 +142,7 @@ Webinterface oder aus der Shell mit:** Bemerkt man dies zu spät (Die Box startet als Beispiel gleich nach 5 Sekunden neu) helfen die ADAM2 Befehle: -.. code:: wiki +.. code:: bash quote SETENV kernel_args quote SETENV kernel_args1 diff --git a/wiki/packages/virtualip.rst b/wiki/packages/virtualip.rst index 0bee457..8f2693a 100644 --- a/wiki/packages/virtualip.rst +++ b/wiki/packages/virtualip.rst @@ -68,7 +68,7 @@ dsld-Syslogmeldung Fehlermeldung im Syslog: -.. code:: wiki +.. code:: bash user.err dsld[1243]: internet: 192.168.178.253 not an intern host, forwardrule "tcp 0.0.0.0:85 192.168.178.253:85 0 # Test" ignored diff --git a/wiki/packages/vsftpd.rst b/wiki/packages/vsftpd.rst index 78672d6..783a0a1 100644 --- a/wiki/packages/vsftpd.rst +++ b/wiki/packages/vsftpd.rst @@ -74,7 +74,7 @@ Order-Struktur auf der USB-Platte wird vorbereitet. Dazu die folgenden Ordner im Hauptverzeichnis der Platte erstellen: -.. code:: wiki +.. code:: bash user1 #Heimverzeichnis user1 user1/shared @@ -107,7 +107,7 @@ Diensteinstellungen werden im Freetz-Menü eingestellt. → *Zugriff* -.. code:: wiki +.. code:: bash [ ]Anonymes FTP [X]Lokale Benutzer @@ -122,7 +122,7 @@ Diensteinstellungen werden im Freetz-Menü eingestellt. → *Zusätzliche Konfigurationsoptionen (für Experten)* -.. code:: wiki +.. code:: bash user_config_dir=/var/media/ftp/uStor01/vsftp_user_conf @@ -130,7 +130,7 @@ Später werden wir die Schreibrechte für die Benutzer getrennt festlegen. →\ *Übernehmen*\ ← -.. code:: wiki +.. code:: bash Saving settings...done. Saving vsftpd.cfg...done. @@ -155,13 +155,13 @@ Die lokalen Benutzer werden eingerichtet. Jeder Benutzer erhält dabei ein explizites Heim-Verzeichnis welches von vsFTP automatisch übernommen wird. -.. code:: wiki +.. code:: bash adduser -h /var/media/ftp/uStor01/user1 user1 adduser -h /var/media/ftp/uStor01/user2 user2 adduser -h /var/media/ftp/uStor01/public gast -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/ # adduser -h /var/media/ftp/uStor01/user1/ user1 adduser: /var/media/ftp/uStor01/user1/: File exists @@ -184,11 +184,11 @@ vsFTP automatisch übernommen wird. Die neuen Zugangsdaten werden erstmal gespeichert. -.. code:: wiki +.. code:: bash modsave all -.. code:: wiki +.. code:: bash /var/media/ftp/uStor01/technik # modsave all Saving users, groups and passwords...done. @@ -209,7 +209,7 @@ unmount-Befehle in die *autoend.sh*. */var/media/ftp/uStor01/autorun.sh* -.. code:: wiki +.. code:: bash mount -o bind /var/media/ftp/uStor01/shared /var/media/ftp/uStor01/user1/shared mount -o bind /var/media/ftp/uStor01/shared /var/media/ftp/uStor01/user2/shared @@ -219,7 +219,7 @@ unmount-Befehle in die *autoend.sh*. */var/media/ftp/uStor01/autoend.sh* -.. code:: wiki +.. code:: bash umount /var/media/ftp/uStor01/user1/shared umount /var/media/ftp/uStor01/user2/shared @@ -238,19 +238,19 @@ Schreibrechte hat oder nicht. */var/media/ftp/uStor01/vsftp_user_conf/user1* -.. code:: wiki +.. code:: bash write_enable=yes */var/media/ftp/uStor01/vsftp_user_conf/user2* -.. code:: wiki +.. code:: bash write_enable=yes */var/media/ftp/uStor01/vsftp_user_conf/gast* -.. code:: wiki +.. code:: bash write_enable=no @@ -259,14 +259,14 @@ Schreibrechte hat oder nicht. Benutzer zu verbieten. Hierzu fügt man folgende Zeile in die Datei ein und entfernt die nicht gewünschten Befehle: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER Alternativ kann man auch einzelne FTP-Befehle verbieten (ab vsftpd Version 2.1.0): -.. code:: wiki +.. code:: bash cmds_denied=DELE,RMD @@ -278,7 +278,7 @@ Gelöst wird das ganze ebenfalls über die Benutzerdateien. Hierzu fügt man folgende Zeile in die Datei ein und **entfernt** die Befehle die der User nicht ausführen darf: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER @@ -286,7 +286,7 @@ User nicht ausführen darf: anlegen, jedoch diese nicht wieder löschen. Also muß folgendes in der Datei stehen: -.. code:: wiki +.. code:: bash cmds_allowed=ABOR,ACCT,ALLO,APPE,AUTH,CDUP,CWD,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PBSZ,PORT,PROT,PWD,QUIT,REIN,REST,RETR,RNFR,RNTO,SITE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER @@ -321,7 +321,7 @@ Anmeldebildschirm bei vsftpd ändern | Name: **ftp-startbild** | Inhalt: -.. code:: wiki +.. code:: bash Herzlich Willkommen bei _ _ _ _ _ _ _ _ _ @@ -340,7 +340,7 @@ Anmeldebildschirm bei vsftpd ändern folgender Eintrag unter **Zusätzliche Konfigurationsoptionen (für Experten)** eingetragen. -.. code:: wiki +.. code:: bash banner_file=/var/media/ftp/uStor01/ftp-startbild diff --git a/wiki/packages/wol.rst b/wiki/packages/wol.rst index f24bf41..233bc49 100644 --- a/wiki/packages/wol.rst +++ b/wiki/packages/wol.rst @@ -35,7 +35,7 @@ Um Wake on LAN zu nutzen, muss wenigstens die Mac-Adresse und der Hostname eingegeben werden, am Besten einfach gleich noch die IP-Adresse und das Interface (meist eth0). Beispiele: -.. code:: wiki +.. code:: bash #<ip> <mac> <interface> <host> [<description>] (*... nicht definiert) * 0A:B1:2C:D3:4E:F5 * server diff --git a/wiki/packages/xrelayd.rst b/wiki/packages/xrelayd.rst index c8770b3..c7cd87f 100644 --- a/wiki/packages/xrelayd.rst +++ b/wiki/packages/xrelayd.rst @@ -38,7 +38,7 @@ Konfiguration #. Erzeugen der Keys auf dem PC (unter Linux): - .. code:: wiki + .. code:: bash openssl genrsa 1024 > host.key openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert @@ -48,7 +48,7 @@ Konfiguration 3. Die gewünschten Services hinzufügen. Zum Beispiel: - .. code:: wiki + .. code:: bash 0.0.0.0:4433 127.0.0.1:81 Freetz-Webinterface @@ -61,7 +61,7 @@ Konfiguration Zertifikate auf der Box erzeugen -------------------------------- -.. code:: wiki +.. code:: bash xrelayd -f -K 1024 -p host.key -U "CN=localhost" -p host.key -A host.cert cat host.key > /tmp/flash/.xrelayd/key.pem diff --git a/wiki/packages/ziproxy.rst b/wiki/packages/ziproxy.rst index 896e582..8d22aa2 100644 --- a/wiki/packages/ziproxy.rst +++ b/wiki/packages/ziproxy.rst @@ -27,7 +27,7 @@ Relatively heavy. It may be necessary to disable the watchdog by adding this line to for example *rc.custom*: -.. code:: wiki +.. code:: bash echo "disable">/dev/watchdog @@ -48,7 +48,7 @@ URL no processing list You want probably at least: -.. code:: wiki +.. code:: bash http://mt*.google.com/* http://khm*.google.com/* @@ -64,7 +64,7 @@ URL deny list Something like: -.. code:: wiki +.. code:: bash http://*.doubleclick.net/* http://*.googleadservices.com/* @@ -79,7 +79,7 @@ Something like: and maybe: -.. code:: wiki +.. code:: bash http://*/*.swf diff --git a/wiki/patch.rst b/wiki/patch.rst index 415c0f6..1f8ca67 100644 --- a/wiki/patch.rst +++ b/wiki/patch.rst @@ -18,7 +18,7 @@ Patch auch noch angewendet werden kann falls an der zu patchenden Datei eine Änderung vorgenommen wurde und die Zeilennummern nicht mehr korrekt sind. -.. code:: wiki +.. code:: bash Dieser Patch ist ein Beispiel und fügt menuconfig einen neuen Eintrag hinzu. @@ -56,20 +56,20 @@ Erzeugen eines Patches Man hat eine Datei (Config.in) geändert und difft sie gegen SVN: -.. code:: wiki +.. code:: bash svn diff Config.in > Config.patch Alle Änderungen im Verzeichnis + Unterverzeichnisse: -.. code:: wiki +.. code:: bash svn diff > all.patch Falls man neue Dateien angelegt hat müssen diese erst dem SVN hinzugefügt werden: -.. code:: wiki +.. code:: bash svn add Datei- oder Verzeichnisname @@ -80,7 +80,7 @@ Patch anwenden oder rückgängig machen Patch anwenden: -.. code:: wiki +.. code:: bash $ patch -p0 < Config.patch patching file Config.in @@ -88,7 +88,7 @@ Patch anwenden: Patch rückgängig machen: -.. code:: wiki +.. code:: bash $ patch -Rp0 < Config.patch patching file Config.in @@ -96,7 +96,7 @@ Patch rückgängig machen: Falls ihr so etwas seht: -.. code:: wiki +.. code:: bash $ patch -p0 < Config.patch patching file Config.in @@ -129,7 +129,7 @@ Im folgenden geht es darum, wie man die Web-Oberfläche von crontab nach einem Text sucht, der sonst hoffentlich selten vorkommt, "crontab" scheint hier ein guter Wert zu sein. -.. code:: wiki +.. code:: bash $ grep -r crontab make 2> /dev/null | fgrep -v /.svn/ make/mod/files/root/etc/init.d/rc.crond: cat /tmp/flash/mod/crontab /etc/cron.d/* /tmp/cron.d/* 2> /dev/null | @@ -154,7 +154,7 @@ vor. Das sagt uns leider noch nicht, was man machen muss, um eine Hilfe auf die Seite zu bringen. Also suchen wir einmal nach "Hosts", weil auf der Hosts-Seite schon eine Hilfe da ist. -.. code:: wiki +.. code:: bash $ grep -r Hosts make 2> /dev/null | fgrep -v /.svn/ ... @@ -166,7 +166,7 @@ Die Definitionsdatei, aus der der Text "hosts" kommt, ist also make/mod/files/root/etc/default.mod/hosts.def. Schauen wir uns also mal die Datei an: -.. code:: wiki +.. code:: bash $ cat make/mod/files/root/etc/default.mod/hosts.def CAPTION='Freetz: hosts' @@ -187,7 +187,7 @@ make/<Paket>/files. Die Datei sieht so aus: -.. code:: wiki +.. code:: bash $ cat .language languages diff --git a/wiki/patches/custom_udev_rules.rst b/wiki/patches/custom_udev_rules.rst index 659f83f..e70b4d9 100644 --- a/wiki/patches/custom_udev_rules.rst +++ b/wiki/patches/custom_udev_rules.rst @@ -7,7 +7,7 @@ einem Unterpunkt von "Freetz" bearbeitet werden. Damit können USB Geräte fest zugeordnet werden: -.. code:: wiki +.. code:: bash SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="7CF6976", SYMLINK+="reader1" SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="FDF4F0D", SYMLINK+="reader2" diff --git a/wiki/patches/multpile_printers.rst b/wiki/patches/multpile_printers.rst index 0b2624f..a1a7dd4 100644 --- a/wiki/patches/multpile_printers.rst +++ b/wiki/patches/multpile_printers.rst @@ -12,7 +12,7 @@ Zuordnung gewährleistet. | Da der AVM-Printserver jeweils zwei Ports belegt (n+1), wird immer ein Port übersprungen: -.. code:: wiki +.. code:: bash phys. USB-Port 0 => Port 9100 phys. USB-Port 1 => Port 9102 diff --git a/wiki/patches/onlinechanged.rst b/wiki/patches/onlinechanged.rst index e62b341..082ac31 100644 --- a/wiki/patches/onlinechanged.rst +++ b/wiki/patches/onlinechanged.rst @@ -42,7 +42,7 @@ aussehen: An application: update external IP-address for dnsd: -.. code:: wiki +.. code:: bash EXTIP="`/usr/bin/get_ip -d`" sed "s/#EXTIP#/$EXTIP/g"</tmp/flash/dnsd/dnsd_template.conf >/tmp/flash/dnsd/dnsd.conf From 9ea38596f275526a9410ca90da27a7d443e14d0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 17:06:35 +0100 Subject: [PATCH 10/13] Remove all files that don't have a heading from the doctree (fixes build warnings) --- index.rst | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/index.rst b/index.rst index d44ce74..9324e54 100644 --- a/index.rst +++ b/index.rst @@ -185,7 +185,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/help/howtos wiki/help/trouble_shooting wiki/help/fritz_faq - wiki/help/irc.en wiki/help/irc wiki/help/wikiedit wiki/help/howtos/common @@ -245,8 +244,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/help/howtos/development/developer_information/package_development_advanced wiki/help/howtos/development/developer_information/package_development_dynamic wiki/help/howtos/development/developer_information/package_development_start - wiki/help/howtos/development/developer_information/package_development_start/example_config_handling - wiki/help/howtos/development/developer_information/package_development_start/webinterface_example_1.en wiki/help/howtos/development/developer_information/package_development_start/example_2 wiki/help/howtos/development/developer_information/package_development_start/example_1 wiki/help/howtos/development/developer_information/package_development_start/.language @@ -309,7 +306,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/ncftp wiki/packages/lynx wiki/packages/smstools3 - wiki/packages/hol wiki/packages/debootstrap wiki/packages/ppp wiki/packages/xmail @@ -330,19 +326,16 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/emailrelay wiki/packages/madplay wiki/packages/nhipt - wiki/packages/siproxd wiki/packages/wput wiki/packages/netsnmp wiki/packages/transmission.en wiki/packages/imapproxy.en wiki/packages/fuse wiki/packages/hiawatha - wiki/packages/netatalk wiki/packages/cifsmount wiki/packages/matrixtunnel wiki/packages/ndas.en wiki/packages/nfs-utils - wiki/packages/ser2net wiki/packages/vpnc wiki/packages/haserl wiki/packages/obexftp @@ -367,7 +360,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/bird wiki/packages/onlinechanged_cgi wiki/packages/php - wiki/packages/phpxmail.en wiki/packages/pptp wiki/packages/mediatomb wiki/packages/inetd @@ -423,14 +415,12 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/avm-firewall wiki/packages/bash wiki/packages/asterisk - wiki/packages/xyssl wiki/packages/microperl wiki/packages/nano-shell wiki/packages/m-i-t wiki/packages/minidlna wiki/packages/inadyn-mt wiki/packages/bluez - wiki/packages/phpxmail wiki/packages/DemoPackageA wiki/packages/openvpn wiki/packages/knock From 2177dd9a2ccbce66d9e2a434aed0f7bdc9ce5594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 17:34:48 +0100 Subject: [PATCH 11/13] Add logo --- _static/freetz.png | Bin 0 -> 6948 bytes _static/freetz.svg | 98 +++++++++++++++++++++++++++++++++++++++++++++ conf.py | 1 + 3 files changed, 99 insertions(+) create mode 100644 _static/freetz.png create mode 100644 _static/freetz.svg diff --git a/_static/freetz.png b/_static/freetz.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe31e040457f1a67b6c2be80706e331709b4b0c GIT binary patch literal 6948 zcmb7}cTiJb@aR*3Pz0sdAR-D%SLqPCbfgFdArOj%-fJj9dM_%7H0dHyh=3rW1P~%! zBPCL!AV}}Mz4(1^=FR)-&F{?Ia`v9t-FxotXV09QU}CJpNY6tL000>EbhXR?0N^g= zK8Kcua+akliKbkrd^Pm$(^6U}ty4UuPv@m;<qH7Nl>Iw^oH^N36d|{tHr&tL^RZu` zz0V^+U|^txvxlp%qrKN72~VFVxogTi002*so|gLkpuE+o;6^@+9Kz=MK*1#q+VpfP zDs_Pj<b4xnt$0wPK!*RNbnO5gJ}8vUAE0Bx&1Y&NAf^Eafmlpl=+Ft+zqH7rO%S4r zyd)rYg&|Tb@GPhb^CSP=lCN*olHdMmSV2W$9?I8acVcS9e`!TP@c%aIWszU6aA3kq zugT&T+E8)7OZ*?GXkwW<I@2QKG$73Q2a$9|Q5#;6jlOT{cWR_Jw!f(dDY67r;b)<Y zE2iYlULRF2%XUID$6v&Tbl(P;y!lN%+DrM{Pf%LUqZS~wwbsFY?*cZ^%2VxmuHnJ{ z^n&zfjNBWwS=w{hAuN{jWIW<0RdvsTw`O}aFH)PeS)!2Oajki;WB10dSDv7AkzbA4 zC|N&1!5Q!Z6Er%ms|ZZ%1bgq@I&=|=jthL6vd@AMxJeYP>vk=C&>{WA)Y$5N-L)d{ zCFcKW%V5b%Sq(;+{Z$*sQ?0Z#b8vCXb68D16e=9z1QCc#sh!h(1{x5-N|>%st0z>R zqw<?MDg2{cEK@0CXpU3Fv^ba`SjDTqbr>q_CALb|SZT4jq<BfM9@2BzYCtk6rESrG z2)M6uA+H6r2XVnw-Q)!YUoJtKlM&!-a7k~t2K$m(c@o+Y%X-v_hvGNhFek*{e`1&E zI=zk#exzDN?|)<B8vcf92;T+-GxJcZbPBpqDr~VCeRH^sz5@I}dvO(Q0PYqPG>dtU z&M(>FLq24`_f7-x&PQ2FN&hl{k6D6^IfDp=_-QRNL|RxVSJL}e_By!a7Ka0qY1xwE zb#rI{aoUT4k$vw%94O9|P1L~r(N~1RRs{uD=K#nS5fye`pdB6MQT@8oq9Zy*gPLM3 z(=mT1#sY?=Xd9nFqe}ej+@$%LGXkVJNYeU4-Q`=BcVn8Oy|B+=%5XM8!7impC-meY zNfG+ev`FI0q=rwiXKYp<d&ZvBCHXu0ZD1Q)f56S*Yte`J*})-PEWMUisTu^he0Om< z@<A1o8b#M{j-}aW+E)b4@_HYnS5;^rG=h8eJlVzQnKK-cAux`zbEZjlL0a}DmP92_ z^W5fm-72MNJxFC)6um#)g1E4X&_73}<hbPJ_1hS2xNlyf4DF>Co)Z2~zOS9x+f$EU zE&@>;ENZOZ)^0Dp#Jt!_2G2QA9DCuPzmxl)q+k{8Ua~Wb4+A<<Mz%LH4E7K9UlSxw zzAn#VqKwSL8XqkpP2=M+pRbUf-3Az-t3chLw<g(AH0k{dRE<jaDY-c1B_g{8CA%Q) z@o)gekM2SI8<Cc1r!iUP3`-Wbq!F=ylcAZnV?^qP2nxP;Lb<Ukpb2OQxO+>I^66bV z(Wm)^lJxBH@w#%2;JHBt4sGbaPvq$^!3t6aOma(cFlWd}v&l>8OM=R&lFMQ(w=!?0 z(6p|dgtGLsE>Uzkh-{>YoGRDIBgJIyzcqL{c!gU)j(dctT`DtBrbp8~V!n;L|K}-k zMnr}4;9;YQme#mAx6Ez|TKXDa!&3w2l*;?8=xGWlHn=uiy3bc>^LWcRK`3*afwkxa z4;Qy0?L|r8Z4JnGJkm|eTl5uEGp{0TM#v+!B@}QWo5G%fQW+1J2Wa$PiYMUL&BEK* zrP!^#=G~F1<OKTJn-dYhxHt-xoXGM2ICR6y^{;?(3c!{Q8m+4$(`Jy<4QK%KBEfol zG#(5*8S%Qjq9x_ww>J#w2;$?!Z@{3}y32Rk#&~tjlESj~CL8~Vk$Wj53%cP4;GYNK zVwgIf2XMS7zkj#rOk*eAVUk%9?Gbdx55WFPeS6=cA+ZZz_f0*%?v_kjQha<J-OTGF zxtjKe+xp366^&6&*NQElvaC91rH8^+@4S(Gp+_RirLcJ#r)B1?yLhww|4HPm4J|l? zF=1j>v-3ZB#~tueH>>K;7%aPq{V?AF1|$%Nkh#fUU-L2~(`11IX;QT<8~8VhL{6nP z?&9I48ux(t_>>~BGuW<sy3ZKdhsS<hip>m#&Cu}~C^cR}NpeOrX_>96`?RjJ$g<tg z;KtSIxmrQw74#)(j4yIgGGA8*Xsxx_hpy<1`S|$$+dd8C1LVZtg$eX=N6b}0mM<n` zKIEkU#ECu0Yc%<jEql#%BFXz-4$v*=V$>jwEE8DlpSLEQ=o@%z(<3z`91qvh(vTn5 zv*Qy>^e`)uK!z=v7w@Q%4S<f!%$4I3!-M)q){Q1jIx$UO1_OzNS=A|1t<sUtQ>o9N zX`BAb0~BA7fPNYf#{4gQ-(fDUu$IkGeYnVF&`@c@nT?8j2lN#rvhvaGq!FJxZ&J74 zf19-IlF44S2a%=y_ewt%-$DffP2Z{|7Hc4EJpb|W3~&F>{EdkUJ<Gj3rhZy3gDaG9 zZ`rQ7b`@x>2A<a{4XYmje11hi**=?W85rqX$6ps;SHX<`B67;(rHO~rmuMh}Pw{#2 zb+{6AtLc#$((3;RZ6MA3W&7=GPqnqiwIQDzufqc!`!1#@Rhneq>8q)P0#4CaJ7Orj zY#c&PB>@5fwV-Y@5%#6bM=U+)&yL?eQy^QiO7peLuP96GHueTTAlH7PHZi`gDFa_% zdSpQ^M`PKHW18l^qZOE)<p}8)(s5Kl!bq_g^CF4haE4}<vVEGn)XCafrMM7NCAGCo zH1>rCWqfe96W->sTZ$8fC%X#B=OSUE8-{qeevt-(Cx;4?NF;z-{*?_P)LltUqWqtf zagx7mCd!DKnb}!}7mU(cJjAbqyUlpmmws#ho23z`CXpB<U89T?E2EGP=0P>Dy{Lla z!BI&2SM!#d2fMrcf2u+;0Er}Gi(V@qg)-!A{9lnU1}Qlkkw27>XuS>;E!i<8<yXh+ ziatFC`bbmMFBjrv@O*CXCYbCynVC0lfvgw8m^K792sOW67}Sd|CTeOz1O$oNl3?p- zrsA9LD*wwzb_&D<-8BZ*1*d#@Y93J7Fqzyn-Y*LYXH}%VhXYr~F=^bag?g#~6$qt7 z>0*IVq`M~M*RLK58Mt&^o3r1zKDk#bEAHd5^o4D)01~PGk7dZe0A(?%4-C-gicjMo z%y~j$I27b8-X{4CRTszk&1~Z%i=r;+Nk>tnGA729GG%lyI=l|H1@MbXXB9Z`ONr}C zGIGb4K2+a2>}TZC!3EKyRA=a+6p5NoYa8>e|M?>2|3Qhf2eb$*^3@rS773%N5wQ^| zBV8hKli1*pzwD=Hq2$kM(iXoiya{{(V}x@^yeQw&Muxs<<p>f&iVge~AV--VHQ=Kt z2~m09BIalsPkNRXEKx(LzzOUDfD&{zefS3x8o(2<4lvC8EJBAot$+31sFGTnhzc8= zODgN}EoxB`Fcok;j-l)Zf|`%7EDb2Z#FeC5c65J78IoZWo#=BzuW0(iAVFeWaMkJF z%H7LkOY#vK8(;VG9lifzlQ_DwWJjN@g}f=H3fB_sB5}ye>bJ$v`)73Aw|ILF5>4MS zq@lUHxE-m)Gv~QqPD1E4>6AOHC(sUu7Y^Hr37(r-6rGLz%~)U&KE33H2>w+Uy|1_^ zOj#NXd|fye5>zp%?zR$2ug}~0{jUn^_B~yI?Y81=N$5PI8q;A(Py_G*aaTPc7gPud zz?Z*b1lUra#mdCM9;)>_MtYkbg$=F~z>wiTVQfLy^&`IaoO4N4wQpab4oD(0M5<QI zEi$ewpM<J>OK4dOiyU%TcZF;yZwQll$Wt^!Q;1V^0ts1VR3dK&D7P;u2&-s$AJ-DQ z8aWVYkM|+_uiQSp?RAgy_Y!y|)jv0xdNd`q0T9G^fMT0vB^{HXm%-DlWtXYu%jXV7 z_72hYp(+#PSDjer=Sb-V|A<`(3}OiQ^u>1h){1{Cy>bF08r8J64g)4reF_L~V6Q5i zfJysVNUqfW<W%yEMb<ib5C$j4nu40IkWd@W$g9XOv3Ui&_;<%goT+m3yoSxJQlQ-L z+kAU1I4GRjEjC35aNPf+$+jCXp|xm5+7-ALk*S{47s-2jYZdy3`T!hox)K$3QP^SK zSruu^w$6^vq!|)-UlU((7^4gQoD^|fzTI#Y`^-Cb8+Sxt!0RZdwMckf3FvqNt!8Zm z9y<gQ_IZ@!jt|~#2QJ9BotG1~L%;SEj?}5XSvw4|rzTJ4y?SiVxmesh%ZGxxt!-lR z777h+MJV+Jkv)*wgWkUhQ>2)>j5NT#V7}_-AErc{a(?rzZzL;cD+Q-+$<I>>pCc3w zVcKU3WY`kn`{c@D;3lfA{DV)b?;Xp()A`#r3}~=Q+7$3aXGbo0Q#B#XE;N+d+WP7; zJP=rdT@2n_ml%*AZOB(v-40q~%scU%n?sHC?DMa5?{4P3TKIK-RHn8HH@_S;<<684 z9?pE+kt~$c2ji(qaF1f&u##<GYn)QpGpKp?h&v!q@z&8P49@7pIsT-e*%h_I)U4W* z@||VnnSy+8E%hkNEhgOen?y*>kl<QY5O6t*OMA=8^Vvu&0Vw%|?}@Klc!V3XWfJ1T zg$`TI6Fwz}u(8Y6aOF6ez19l>;rkA3GlDC5N!B0%1&H<cRQzQ<7dIsJi2>=e)CJW0 zO;@+rF-5AXO@g@9J;%Z!-4)bSWc|2J%G6ie0$)rk{*jO`x!q;<HkPB>ADcVQl)3G2 z8N)8x7l^*Bq*~qKL2KJJxQc}{5LWS}d9(MO8Qdt5@qK7hCO{Lzere_Olr?}=rQ!EM zsUDk!d0||bbhtKAi!K1{D^(x(B{(VI0{*rA)I;*wumtEw<cQ7W`0SlT?kcYW-~MyA z^oGRON6MIhW5<;~-em~iJ@@xV5h@NFzxZ#T*+isH>3%tK@IA~{43_+=Fy9Jq=xWfD zSo#1nE%-dRxz?{Ry`CT1@cd5N=)|p%!Cc?eKce@IPQ!(VjD}@PaG!w2T`v93#@?yE zSvqcrKcmBTX=kURdSjMuqAso*o{oj)S?9i665v(?vzjj1&goqF8Q0;0>JQMG+-LIZ zDfsRi(r0CB_0b<Hhmy|nqb=MVS|TGlJ-mK5KR|sEaDVq!qs8>ffwu6BnG2-!vvJ_o zfKZ!rnEYrp-@<t)r^67@Eha?ROLtJZZEY_1o^%y^)4#rk@pMUED1)A5aa99T53x4* zZiY>>A~t*_BrK1M(;P8yN2{n67GOS-Fw%cqF}G>)sAxK2Bs9)x4oaoGGS_nB>I{=m zbp-dQV0Ia257&$4T*LkAi;q7J^+oyzYjQ5-!x=QQPV+<izJ{-tQLV}!o$_zpo1aO) zlXg+a>gu=**YZLlG;+7-Q84xKt*%s0u1Cu``T+wBZj<WDQje)dFIbm4&kc>V@m2Mp z5n4;GkFYTZjL6qI?vb@m^b72T<SuSMU9V@on?Ct=pxfi|!>$B)*_8n^m$qe;*+d7Y zQo`KsIa`&=6D#TyrJgqfoi(|Tv7k)eE_TxkRttY7hEt2^R)OUHyz_H$%N`)^u+OC> zlcmnFsK6h>n{<qEur8hZnO|zP%1nl(Ewn_=88owo*SA}4Ez_L0vEfJr;`G?9!UzRf zxcFWxCK*BgP}PR$J(uhr6s~zZCJ3RE<!vxI0mw>}u`6rNn(jn&HI3t28w%eapSKIi z`B&9g*4?%3ZgRxmytpf_f>T&@#;fx3tzY3ubE@twgNrL0gfSqQXS6qmQ)7-a`GX4r ziOxplN(zh38Tb#6gkr|Wg?=QAYd@G7E6Vx&df_k*$+_VPRBi9JH}v86XduMDXtUG* zNNebc+1oSvcx+<*b6dz<WUTw)msX9VW1`_!x2Dsds<z090w<GAK8!_ooOSS9PX!;> zYS>Gfrv(GKiH+U*dgI<ZxS>$<hMYU^J-;Ca+#}p}D$|VecS1<iZxDXFVFOD)JYpAS zxOg`jF85@$q&V#|6eN$-9U;NA5j-l70Y6I4k8iJH(cc=dt-qO8%6A{&C9ynn2-4Gq z3GDpu$D0?2LT~5$og!rdAI`=eu)C!9Cj)W(jj>9Lp9=`6(c5-E|F<7lll9(b7p-Cy z7QbVx%pFGo&6XBlj>j(yo!ev5{Utwc3KYq`%}<m=J4FXtR*mMv-OoWTx!et@{KCl7 zp$3p@N1NqnvIpKHdhm*K%3pkUS?Hx@oNb~JN-2N-sl?!tLG=QM#_oINHQN1ljMZiD zu)-$P^S`LhF)_K=qH5~Q5-7v2VB@KF12Rd>&!Pl&tI{^Y?TwSo8&%K=pbAlrkZLIZ zL?_edPCBAhvafPoRd+uRiE#7p9I`Ko?c>@+ysRW8I<VG^9dWz3evGOaeV;%=f4}Q^ zrFUNGQ&$UzMD?-ieuz|3cdmI^j_rOeuK17I$-(?{e#4j$#lX^I6+Cwl$O;TI?+MM# zn;0k%s$aB%H|X1%d!O>nDT`uZyKR6O{A*{`6!tj?a(fX)F}qHPz}#g{gb7b~y&j*{ zwvg@4LQXLpfc6xR9cEe92w7hl%UXXbB`H0s4|mC)m~2L$EZVeAI;QsbTl7_QeQN=3 za^D^?ucmgdf<k)P+gI(j5yrAY`yV2L9)HjZE407&iwT`)INLgd>9PpzCzJ#DpN)(c zCWX(akB!;GS=SVP-G236Y2nK@DgN(iP36N)Bk#)}7rsAul-q4(*(X=Kc0MVyLNGVH zjGd6lkgXL=xd%fqgvhfmEqeG8ao<m6ruz1pp6?xI8jFagUvG$f9^Q5Jd^)8zC^&2U z`o1(ZR4xr=e30BNxs(^g!mGw<fO@}Ht`uc{)~1UiHp-4emTx7Dc)A_~KCxUQ!E*#T zvVC%A_e(cH;<;owWJA^1vwOjF863qLDpPj4cL$h2;an1Ik{*Q-B??=-z_=`4;~ze* z(!qU^pwPUL1<}B`i8Av&;{X$s@rq$M>q*w|+Sf5eifxq=7k1@__cAiKX-=U(Vb;iv zFU3{i(>!V=&hPy3oN?xjny8+(Za<`43~bDG-}hWf_Ef4*aju$3G92yb_V|+4st_#a zwI$Pp{rRP5dBWny@cp+H)^wpWhlfGrJ3MW6Ej74<DBd~IaTTGe&neeYm89L8k%Hb2 zP?;*7yqzn<qmzjB&QXlVPH<Xh7QuZde6RQu_fZBWnYt;;2|osRi>tm<QsZ0vo$U)0 z?dWW?ysES6)8Sk_0u5~x{bOesp|uyk>plFb*hcN>Q~#69$>ikr$Dj)aJ=p;#=f;Pp zH{Cu@lE!LW4Nv7OBH?`mAO?n(9GKCQt>n?#3wl#u;~V;dAf4OJPckw&(Y4-{3@Cpt z>2B>j1~#64j=TIg=;m-Of+3HxPQCeQX*hud-FS)_JqEg|9QxKUueV(dTl{%Ty!g}g zO;)l4#@SueE%5!iz1=~Y!;h+v;$_`(`IL^)6Bs=zE!O_DtU{}8Cb~Q7=P31HcNVk& z#Fr4Z$Ll~n0$-u=RMgvEyS0^#6YuRK>7J8<NqJlO*fAXIhAOGoZuV)Yaq<_M)|Tkq z!pn)fnimO871L=c?2Uy^eFJiDRU{oRri+n3%8tf`QCl{i35Bp(M1@L)q%M*IgIrg9 zd6V3~`bg^iQikLvX3uM{Jib;iSZ~d?pH}lB$p|}s#)VNhWpjfav*Ojc33(c;#J&m# zgiN*r^$&IuJejp-pZH`{t2xJFMa#`SatK*?yhke5zg^?|vBH+26r{aYG5vKY??m{| z+;R-!z|s_#qh6xJjC<k#NRzXs{7#`tON9g2qp7JVX^8O+F5@mUxO8dX+;a{j95MRv zXB>Gy*qA{7_h8}Y4Z?WOto+(6^kjc^aJIIH0Umjb(Xq*PltTyeHmxjp^X+3_jhC4$ z8+~~_UwhX2^>lbyE=Uj6U*es80j~acEo*-JRfcaf41bOB>`WU|Hb=D(xKIuiBW9nR z&dw54NCU1Xz7O^&whe{P_m#KgetWR|&^w!EX$#m=dHMX}%Dmj*@sG7Q?gE#k!{66G zrrG1<{>VhU|3X8`i=J82)wZS$WvNODC_g#RC1ty+hV1=jeqfIfa*nw}I`*THg}Pha zEg*@xJ!(3}8Yz6l;2(N@>UxNNw?!W?n^8Zt48k0fy@*5HW16JVl8etH&YHnCQS~8n zBOuQX4+&xWfz2eJt$?v2_z#zdMfLQq`ZG+&%DkVct5yq*R!QhPwUKt|ZMa|bnEJow zaNh%l@9P}M^}`+#Dp<1KTx`1lrC@oxEq-Ung>KKvSfHg!{UMxr!f{V13ad1qf}J0E zNecb(q=v_{c7<3kJ=(7b5`8s~48x?*R~D4Y1=Py&^9DBqmSH)AuUFM%xt0@uUUD6` zV{i?79fimX%NpJBhg$jq4_Lg)2s6!`qU1P7&fT9R^fwvqIypAik7;(xYMAt38rQWw zMAv(lQ@z){V;xN_YhPSCT#MyK+2uHJ{5zc<d<C6NO$9?|KV*CuKiMgeQb>RJBX0BI z?70#U)$<Nx&u)1ZQ?>&bJgz$55_1{Pzthl8V$?kO-1gs|zuAi%A<q5HNXHD9JngL< zxz5)|lwBe8y-b@)PO}q_AhY+L_ECo)=bv9}KU$wscL)yKA$B^i24>7RfMwl%7+fBN z<DR*2e9YK#OMM^ZEg?(Z(p!1#F0dE8Zn)~=+g237lSkR4e8p-NrbuM<bMNGKHeQ&O z6ZcTCbbO#~=(9-0><sm^@8i7J#i2x`ogdvtxQ)~zuo*kN$g88r_S?S}kXLskyB>4K c&mBcToux9(Q`9Obf3yI4+QwQRG?35!7iNq&;s5{u literal 0 HcmV?d00001 diff --git a/_static/freetz.svg b/_static/freetz.svg new file mode 100644 index 0000000..9819a29 --- /dev/null +++ b/_static/freetz.svg @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="300mm" + height="100mm" + viewBox="0 0 1062.9921 354.33071" + id="svg2" + version="1.1" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="freetz.svg" + inkscape:export-filename="/home/jonah/freetz.svg.png" + inkscape:export-xdpi="182.97438" + inkscape:export-ydpi="182.97438"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="759.40906" + inkscape:cy="-17.737552" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + showguides="false" + inkscape:window-width="1366" + inkscape:window-height="738" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:window-maximized="1" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-698.0315)"> + <flowRoot + xml:space="preserve" + id="flowRoot3352" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion + id="flowRegion3354"><rect + id="rect3356" + width="708.57141" + height="360" + x="1.4285715" + y="2.9021473" /></flowRegion><flowPara + id="flowPara3358" /></flowRoot> <flowRoot + xml:space="preserve" + id="flowRoot3360" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="matrix(1.8107887,0,0,1.9268504,8.8424091,619.9218)"><flowRegion + id="flowRegion3362"><rect + id="rect3364" + width="708.57141" + height="352.85715" + x="1.4285715" + y="4.330719" /></flowRegion><flowPara + id="flowPara3416" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono'"> __ __ __ __ __ __</flowPara><flowPara + id="flowPara3408" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono'">|__ |__) |__ |__ | /</flowPara><flowPara + id="flowPara3382" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono'">| | \ |__ |__ | /__</flowPara></flowRoot> <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:37.5px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.9375" + x="64.397232" + y="1003.1172" + id="text33"><tspan + sodipodi:role="line" + id="tspan31" + x="64.397232" + y="1003.1172" + style="font-size:70px;stroke-width:0.9375">The fun has just begun ...</tspan></text> + </g> +</svg> diff --git a/conf.py b/conf.py index 6a22cdc..d33d948 100644 --- a/conf.py +++ b/conf.py @@ -75,6 +75,7 @@ # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' +html_logo = '_static/freetz.png' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the From 60d15fde2dab53f1c8e7c9f6432795064d942624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 18:28:44 +0100 Subject: [PATCH 12/13] Split toctree into sections --- index.rst | 60 ++++++++++++++++++++----------------------------------- 1 file changed, 22 insertions(+), 38 deletions(-) diff --git a/index.rst b/index.rst index 9324e54..5ab592c 100644 --- a/index.rst +++ b/index.rst @@ -129,7 +129,7 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository .. toctree:: :maxdepth: 1 - :caption: Inhaltsverzeichnis + :caption: Generelles :name: sec-general wiki/packages_tagged @@ -154,6 +154,13 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/FAQ.en wiki/common/source_code.en wiki/common/source_code + + +.. toctree:: + :maxdepth: 1 + :caption: Patches + :name: sec-patches + wiki/patches/remove_myfritz wiki/patches/remove_tr069 wiki/patches/remove_assistant @@ -182,6 +189,13 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/patches/remove_ftpd wiki/patches/remove_aura_usb wiki/patches/custom_udev_rules + + +.. toctree:: + :maxdepth: 1 + :caption: Hilfe + :name: sec-help + wiki/help/howtos wiki/help/trouble_shooting wiki/help/fritz_faq @@ -262,6 +276,13 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/style/mounted wiki/libs/ftdi wiki/libs/ftdi.en + + +.. toctree:: + :maxdepth: 1 + :caption: Pakete + :name: sec-packages + wiki/packages/bridge-utils wiki/packages/sispmctl wiki/packages/empty @@ -430,43 +451,6 @@ Quellcodes <wiki/common/source_code.html>`__ aus dem Freetz-Repository wiki/packages/virtualip wiki/packages/socat wiki/packages/transmission - wiki/packages/callmonitor/config - wiki/packages/callmonitor/reverse_search - wiki/packages/callmonitor/phonebook - wiki/packages/callmonitor/maintenance - wiki/packages/callmonitor/adapt_messages - wiki/packages/callmonitor/actions - wiki/packages/callmonitor/listeners - wiki/packages/callmonitor/testcall - wiki/packages/callmonitor/faq - wiki/packages/callmonitor/events - wiki/packages/callmonitor/actions/config - wiki/packages/callmonitor/actions/call - wiki/packages/callmonitor/actions/relook - wiki/packages/callmonitor/actions/rawmsg - wiki/packages/callmonitor/actions/snarl - wiki/packages/callmonitor/actions/dbox - wiki/packages/callmonitor/actions/xbox - wiki/packages/callmonitor/actions/getmsg - wiki/packages/callmonitor/actions/mail - wiki/packages/callmonitor/actions/samsung - wiki/packages/callmonitor/actions/self-defined - wiki/packages/callmonitor/actions/wol - wiki/packages/callmonitor/actions/yac - wiki/packages/callmonitor/actions/dial - wiki/packages/callmonitor/actions/vdr - wiki/packages/callmonitor/actions/dreambox - wiki/packages/callmonitor/actions/password - wiki/packages/callmonitor/actions/musicpal - wiki/packages/callmonitor/actions/soundbridge wiki/packages/netsnmp/mrtg.en - wiki/packages/pptpd/config - wiki/packages/pptpd/webif - wiki/packages/pptpd/install - wiki/packages/rudi-shell/tips - wiki/packages/rudi-shell/limits - wiki/packages/rudi-shell/install - wiki/packages/rudi-shell/usage - wiki/packages/rudi-shell/functions .. |Warning| image:: /chrome/wikiextras-icons-16/exclamation.png From 09b28bea45cb4ac92f8a7c2c8b654d9205cd587d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv@gmx.de> Date: Sun, 24 Mar 2019 18:42:21 +0100 Subject: [PATCH 13/13] A few more fixes to the toctree --- wiki/packages/DemoPackageA.rst | 2 +- wiki/packages/digitemp.rst | 3 +++ wiki/packages/mini_fo.rst | 10 +++++----- wiki/packages/ndas.rst | 3 +++ wiki/packages/ppp.rst | 16 ++++++++-------- wiki/patch.rst | 3 +++ 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/wiki/packages/DemoPackageA.rst b/wiki/packages/DemoPackageA.rst index da20e5e..1a21958 100644 --- a/wiki/packages/DemoPackageA.rst +++ b/wiki/packages/DemoPackageA.rst @@ -1,7 +1,7 @@ .. _DemoPackageAHelloWorld: DemoPackageA "Hello World" --------------------------- +========================== Dieses Paket von `​snowyrain <http://www.ip-phone-forum.de/member.php?u=106238>`__ zeigt diff --git a/wiki/packages/digitemp.rst b/wiki/packages/digitemp.rst index 4e86ce7..c7801af 100644 --- a/wiki/packages/digitemp.rst +++ b/wiki/packages/digitemp.rst @@ -1,3 +1,6 @@ +Digitemp +======== + .. _Wasistdigitemp: **Was ist digitemp?** diff --git a/wiki/packages/mini_fo.rst b/wiki/packages/mini_fo.rst index e6d1a71..58b8bad 100644 --- a/wiki/packages/mini_fo.rst +++ b/wiki/packages/mini_fo.rst @@ -19,7 +19,7 @@ Eindruck eines einzelnen, beschreibbaren Mediums hat. .. _KonfigurationWebinterface: Konfiguration (Webinterface) -============================ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Das Paket wird über das Webinterface konfiguriert. Hierbei kann der Speicherort für die Änderungen ausgewählt werden. Entweder RAM @@ -38,7 +38,7 @@ Das Paket kann nur durch einen Reboot de-/aktiviert werden. .. _KonfigurationperHand: Konfiguration (per Hand) -======================== +~~~~~~~~~~~~~~~~~~~~~~~~ **mini_fo** ist ein Kernel-Modul, das man entweder ohne Argumente mit insmod lädt… @@ -68,7 +68,7 @@ Im Pfad /tmp/usrwww-sto befinden sich dann jegliche Änderungen. .. _MöglicheNebeneffekte: Mögliche Nebeneffekte -===================== +~~~~~~~~~~~~~~~~~~~~~ Ein Firmware-Update kann evtl. mit geladenem mini_fo Modul scheitern (getestet mit 7170 4.8x). Es gibt dann keine Fehlermeldung aber die Box @@ -99,7 +99,7 @@ gestört. .. _Restoreoriginalfile: Restore original file -===================== +~~~~~~~~~~~~~~~~~~~~~ The modified files are stored here (trunk version): @@ -116,7 +116,7 @@ file system. .. _Sieheauch: Siehe auch -========== +~~~~~~~~~~ - `​diesen Thread <http://www.ip-phone-forum.de/showthread.php?t=111226>`__ im diff --git a/wiki/packages/ndas.rst b/wiki/packages/ndas.rst index 080575b..2ef1a8e 100644 --- a/wiki/packages/ndas.rst +++ b/wiki/packages/ndas.rst @@ -1,3 +1,6 @@ +NDAS +==== + Network Direct Attached Storage (NDAS) ist ein proprietäres System zur Anbindung externer Speichermedien wie Festplatten, Flash-Speicher oder Bandlaufwerke an ein Netzwerk. Die Patente für NDAS hält die diff --git a/wiki/packages/ppp.rst b/wiki/packages/ppp.rst index 0201f22..e54a010 100644 --- a/wiki/packages/ppp.rst +++ b/wiki/packages/ppp.rst @@ -17,7 +17,7 @@ ppp-cgi .. _AllgemeineKonfiguration: Allgemeine Konfiguration -======================== +------------------------ | zu finden im Webinterface unter "Pakete" > "PPP" @@ -45,7 +45,7 @@ durch einen Reboot der Fritzbox nicht verloren geht! .. _KonfigurationfürUMTS: Konfiguration für UMTS -====================== +--------------------- .. _PEERS:chat: @@ -85,7 +85,7 @@ Optional kann hier der gewünschte Verbindungsmodus ausgewählt werden. .. _Namensauflösung: Namensauflösung -=============== +--------------- Für eine dynamisch wechselnde Namensauflösung zwischen Mobilfunk und herkömmlicher Verbindung empfiehlt sich folgendes: @@ -108,7 +108,7 @@ herkömmlicher Verbindung empfiehlt sich folgendes: .. _FirewallRoutingNAT: Firewall, Routing & NAT -======================= +----------------------- Um Masquerading zu aktivieren sind folgende Befehle nötig: @@ -138,7 +138,7 @@ Module wieder zu entladen. .. _Fallback: Fallback -======== +-------- |Warning| Dieses Feature ist noch exprimentell. Fehlfunktionen und hohe Kosten können nicht ausgeschlossen werden! @@ -156,7 +156,7 @@ werden! .. _Treiberprobleme: Treiberprobleme -=============== +--------------- Das Treibermodul *option* wird beim Start automatisch geladen. Es kann aber nötig sein es mit eigenen Parameter zu laden, zB durch @@ -167,7 +167,7 @@ aber nötig sein es mit eigenen Parameter zu laden, zB durch .. _Wasistnochzubeachten2do-Liste: Was ist noch zu beachten? (2do-Liste) -===================================== +------------------------------------ |Warning| Es können momentan nur SIMs mit deaktivierter PIN-Abfrage genutzt werden. (dies ist allerdings mit dem Package *gcom* möglich) @@ -177,7 +177,7 @@ werden. (dies ist allerdings mit dem Package *gcom* möglich) .. _Weiteres: Weiteres -======== +-------- Deaktivierung des integrierten CD-Roms bei Huawei-Sticks mittels einmaligem ``at^u2diag=0`` an das 2. virtuelle, serielle Interface diff --git a/wiki/patch.rst b/wiki/patch.rst index 1f8ca67..1d63b27 100644 --- a/wiki/patch.rst +++ b/wiki/patch.rst @@ -1,5 +1,8 @@ .. _AufbaueinesPatches: +Patches +======= + Aufbau eines Patches --------------------