Firmware bouwen – Freetz (voor Fritz!Box)
Freetz is een Linux platform/(bouw)pakket voor “embedded devices” net zoals OpenWrt maar alleen voor Fritz!Box Routers, je kan firmware maken met de door jou samengestelde pakketten en modules!
Informatie (ENG)
Freetz (more about the name and history in the FAQs) is a firmware-extension (modification) for the AVM Fritz!Box 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 and is developed by Oliver Metz, Alexander Kriegisch and others.
Wat heb je nodig?
Een Linux omgeving, bijvoorbeeld Debian of Ubuntu in een Virtual Box
1) Virtual Box
2) Virtual Box – Debian / Ubuntu
LET OP: Freetz heeft heel veel schijfruimte nodig, zo ongeveer 6GB, heb je meerdere versies en/of builds, dan kan het >20Gb worden, stel daarom de schijf “flexibel” in bij gebruikt van Virtual Box.
Voorbereiding
Voordat je met freetz aan de slag kan, moet je eerst de nodige (bouw)pakketten installeren via APT-GET met het commando:
1 |
sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk flex quilt git-core libssl-dev bison autoconf |
Ter info: De allernieuwste DEV heeft nodig: Standaard paketten + libssl-dev
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
Pakketlijsten worden ingelezen... Klaar Boom van vereisten wordt opgebouwd De status informatie wordt gelezen... Klaar De volgende extra pakketten zullen geïnstalleerd worden: autopoint diffstat dpkg-dev g++ g++-4.7 gettext git git-man libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl liberror-perl libfile-fcntllock-perl libgettextpo0 libsigsegv2 libstdc++6-4.7-dev libsvn1 libtinfo-dev rsync Voorgestelde pakketten: debian-keyring bison g++-multilib g++-4.7-multilib gcc-4.7-doc libstdc++6-4.7-dbg gawk-doc gettext-doc git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb ncurses-doc libstdc++6-4.7-doc graphviz openssh-server subversion-tools De volgende NIEUWE pakketten zullen geïnstalleerd worden: autopoint build-essential diffstat dpkg-dev flex g++ g++-4.7 gawk gettext git git-core git-man libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl liberror-perl libfile-fcntllock-perl libgettextpo0 libncurses5-dev libsigsegv2 libstdc++6-4.7-dev libsvn1 libtinfo-dev quilt rsync subversion zlib1g-dev 0 pakketten opgewaardeerd, 28 pakketten nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd. Er moeten 27,6 MB aan archieven opgehaald worden. Door deze operatie zal er 66,8 MB extra schijfruimte gebruikt worden. Wilt u doorgaan [J/n]? j Ophalen:1 http://ftp.nl.debian.org/debian/ wheezy/main flex amd64 2.5.35-10.1 [332 kB] Ophalen:2 http://ftp.nl.debian.org/debian/ wheezy/main libsigsegv2 amd64 2.9-4 [28,9 kB] Ophalen:3 http://ftp.nl.debian.org/debian/ wheezy/main gawk amd64 1:4.0.1+dfsg-2.1 [972 kB] Ophalen:4 http://ftp.nl.debian.org/debian/ wheezy/main libgettextpo0 amd64 0.18.1.1-9 [145 kB] Ophalen:5 http://ftp.nl.debian.org/debian/ wheezy/main libsvn1 amd64 1.6.17dfsg-4+deb7u8 [935 kB] Ophalen:6 http://ftp.nl.debian.org/debian/ wheezy/main liberror-perl all 0.17-1 [23,6 kB] Ophalen:7 http://ftp.nl.debian.org/debian/ wheezy/main git-man all 1:1.7.10.4-1+wheezy1 [1074 kB] Ophalen:8 http://ftp.nl.debian.org/debian/ wheezy/main git amd64 1:1.7.10.4-1+wheezy1 [6683 kB] Ophalen:9 http://ftp.nl.debian.org/debian/ wheezy/main git-core all 1:1.7.10.4-1+wheezy1 [1336 B] Ophalen:10 http://ftp.nl.debian.org/debian/ wheezy/main autopoint all 0.18.1.1-9 [629 kB] Ophalen:11 http://ftp.nl.debian.org/debian/ wheezy/main libstdc++6-4.7-dev amd64 4.7.2-5 [1726 kB] Ophalen:12 http://ftp.nl.debian.org/debian/ wheezy/main g++-4.7 amd64 4.7.2-5 [8011 kB] Ophalen:13 http://ftp.nl.debian.org/debian/ wheezy/main g++ amd64 4:4.7.2-1 [1374 B] Ophalen:14 http://ftp.nl.debian.org/debian/ wheezy/main libdpkg-perl all 1.16.15 [958 kB] Ophalen:15 http://ftp.nl.debian.org/debian/ wheezy/main dpkg-dev all 1.16.15 [1356 kB] Ophalen:16 http://ftp.nl.debian.org/debian/ wheezy/main build-essential amd64 11.5 [7178 B] Ophalen:17 http://ftp.nl.debian.org/debian/ wheezy/main diffstat amd64 1.55-3 [30,0 kB] Ophalen:18 http://ftp.nl.debian.org/debian/ wheezy/main gettext amd64 0.18.1.1-9 [1975 kB] Ophalen:19 http://ftp.nl.debian.org/debian/ wheezy/main libalgorithm-diff-perl all 1.19.02-2 [51,5 kB] Ophalen:20 http://ftp.nl.debian.org/debian/ wheezy/main libalgorithm-diff-xs-perl amd64 0.04-2+b1 [12,9 kB] Ophalen:21 http://ftp.nl.debian.org/debian/ wheezy/main libalgorithm-merge-perl all 0.08-2 [13,5 kB] Ophalen:22 http://ftp.nl.debian.org/debian/ wheezy/main libfile-fcntllock-perl amd64 0.14-2 [17,2 kB] Ophalen:23 http://ftp.nl.debian.org/debian/ wheezy/main libtinfo-dev amd64 5.9-10 [105 kB] Ophalen:24 http://ftp.nl.debian.org/debian/ wheezy/main libncurses5-dev amd64 5.9-10 [223 kB] Ophalen:25 http://ftp.nl.debian.org/debian/ wheezy/main quilt all 0.60-2 [377 kB] Ophalen:26 http://ftp.nl.debian.org/debian/ wheezy/main rsync amd64 3.0.9-4 [369 kB] Ophalen:27 http://ftp.nl.debian.org/debian/ wheezy/main subversion amd64 1.6.17dfsg-4+deb7u8 [1316 kB] Ophalen:28 http://ftp.nl.debian.org/debian/ wheezy/main zlib1g-dev amd64 1:1.2.7.dfsg-13 [215 kB] 27,6 MB opgehaald in 3s (8998 kB/s) Selecting previously unselected package flex. (Database inlezen ... 138097 files and directories currently installed.) Uitpakken van flex (uit .../flex_2.5.35-10.1_amd64.deb) ... Selecting previously unselected package libsigsegv2. Uitpakken van libsigsegv2 (uit .../libsigsegv2_2.9-4_amd64.deb) ... Processing triggers for install-info ... Processing triggers for man-db ... Instellen van libsigsegv2 (2.9-4) ... Selecting previously unselected package gawk. (Database inlezen ... 138146 files and directories currently installed.) Uitpakken van gawk (uit .../gawk_1%3a4.0.1+dfsg-2.1_amd64.deb) ... Selecting previously unselected package libgettextpo0:amd64. Uitpakken van libgettextpo0:amd64 (uit .../libgettextpo0_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package libsvn1:amd64. Uitpakken van libsvn1:amd64 (uit .../libsvn1_1.6.17dfsg-4+deb7u8_amd64.deb) ... Selecting previously unselected package liberror-perl. Uitpakken van liberror-perl (uit .../liberror-perl_0.17-1_all.deb) ... Selecting previously unselected package git-man. Uitpakken van git-man (uit .../git-man_1%3a1.7.10.4-1+wheezy1_all.deb) ... Selecting previously unselected package git. Uitpakken van git (uit .../git_1%3a1.7.10.4-1+wheezy1_amd64.deb) ... Selecting previously unselected package git-core. Uitpakken van git-core (uit .../git-core_1%3a1.7.10.4-1+wheezy1_all.deb) ... Selecting previously unselected package autopoint. Uitpakken van autopoint (uit .../autopoint_0.18.1.1-9_all.deb) ... Selecting previously unselected package libstdc++6-4.7-dev. Uitpakken van libstdc++6-4.7-dev (uit .../libstdc++6-4.7-dev_4.7.2-5_amd64.deb) ... Selecting previously unselected package g++-4.7. Uitpakken van g++-4.7 (uit .../g++-4.7_4.7.2-5_amd64.deb) ... Selecting previously unselected package g++. Uitpakken van g++ (uit .../g++_4%3a4.7.2-1_amd64.deb) ... Selecting previously unselected package libdpkg-perl. Uitpakken van libdpkg-perl (uit .../libdpkg-perl_1.16.15_all.deb) ... Selecting previously unselected package dpkg-dev. Uitpakken van dpkg-dev (uit .../dpkg-dev_1.16.15_all.deb) ... Selecting previously unselected package build-essential. Uitpakken van build-essential (uit .../build-essential_11.5_amd64.deb) ... Selecting previously unselected package diffstat. Uitpakken van diffstat (uit .../diffstat_1.55-3_amd64.deb) ... Selecting previously unselected package gettext. Uitpakken van gettext (uit .../gettext_0.18.1.1-9_amd64.deb) ... Selecting previously unselected package libalgorithm-diff-perl. Uitpakken van libalgorithm-diff-perl (uit .../libalgorithm-diff-perl_1.19.02-2_all.deb) ... Selecting previously unselected package libalgorithm-diff-xs-perl. Uitpakken van libalgorithm-diff-xs-perl (uit .../libalgorithm-diff-xs-perl_0.04-2+b1_amd64.deb) ... Selecting previously unselected package libalgorithm-merge-perl. Uitpakken van libalgorithm-merge-perl (uit .../libalgorithm-merge-perl_0.08-2_all.deb) ... Selecting previously unselected package libfile-fcntllock-perl. Uitpakken van libfile-fcntllock-perl (uit .../libfile-fcntllock-perl_0.14-2_amd64.deb) ... Selecting previously unselected package libtinfo-dev:amd64. Uitpakken van libtinfo-dev:amd64 (uit .../libtinfo-dev_5.9-10_amd64.deb) ... Selecting previously unselected package libncurses5-dev. Uitpakken van libncurses5-dev (uit .../libncurses5-dev_5.9-10_amd64.deb) ... Selecting previously unselected package quilt. Uitpakken van quilt (uit .../archives/quilt_0.60-2_all.deb) ... Selecting previously unselected package rsync. Uitpakken van rsync (uit .../rsync_3.0.9-4_amd64.deb) ... Selecting previously unselected package subversion. Uitpakken van subversion (uit .../subversion_1.6.17dfsg-4+deb7u8_amd64.deb) ... Selecting previously unselected package zlib1g-dev:amd64. Uitpakken van zlib1g-dev:amd64 (uit .../zlib1g-dev_1%3a1.2.7.dfsg-13_amd64.deb) ... Processing triggers for man-db ... Processing triggers for install-info ... Instellen van flex (2.5.35-10.1) ... Instellen van gawk (1:4.0.1+dfsg-2.1) ... Instellen van libgettextpo0:amd64 (0.18.1.1-9) ... Instellen van libsvn1:amd64 (1.6.17dfsg-4+deb7u8) ... Instellen van liberror-perl (0.17-1) ... Instellen van git-man (1:1.7.10.4-1+wheezy1) ... Instellen van git (1:1.7.10.4-1+wheezy1) ... Instellen van git-core (1:1.7.10.4-1+wheezy1) ... Instellen van autopoint (0.18.1.1-9) ... Instellen van libdpkg-perl (1.16.15) ... Instellen van dpkg-dev (1.16.15) ... Instellen van diffstat (1.55-3) ... Instellen van gettext (0.18.1.1-9) ... Instellen van libalgorithm-diff-perl (1.19.02-2) ... Instellen van libalgorithm-diff-xs-perl (0.04-2+b1) ... Instellen van libalgorithm-merge-perl (0.08-2) ... Instellen van libfile-fcntllock-perl (0.14-2) ... Instellen van libtinfo-dev:amd64 (5.9-10) ... Instellen van libncurses5-dev (5.9-10) ... Instellen van quilt (0.60-2) ... Instellen van rsync (3.0.9-4) ... update-rc.d: using dependency based boot sequencing Instellen van subversion (1.6.17dfsg-4+deb7u8) ... Instellen van zlib1g-dev:amd64 (1:1.2.7.dfsg-13) ... Instellen van g++-4.7 (4.7.2-5) ... Instellen van g++ (4:4.7.2-1) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Instellen van build-essential (11.5) ... Instellen van libstdc++6-4.7-dev (4.7.2-5) ... |
Freetz SVN?
SVN?
SVN is een soort van Github, iedereen kan code aanpassen of toevoegen, de hele freetz software is hierop gebaseerd.
SVN moet je zien als een lijn t/m 2015 met daartussen ankers/labels (stabiele releases) van de versies zoals ze hieronder staan, SVN werkt met een “revision” (revisie) checkout.
SVN tags
Tags zijn een soort van labels gehangen aan een checkout welke een stabiele versie van openwrt betreft, zodra een tag is gegeven kan je deze versie downloaden, wel worden de verbeteringen meegenomen mochten deze later nog toegevoegd worden.
Freetz Downloaden?
1) Ga naar Linux home/desktop omgeving met het commando:
cd ~/
2) Download Freetz:
Freetz 2.0:
sudo svn co http://svn.freetz.org/branches/freetz-stable-2.0 freetz
3) Zet de rechten op de huidige gebruiker: sudo chown -Rv [gebruiker] ~/freetz
4) Ga naar de Freetz map:
cd freetz
5) Freetz is klaar om gestart te worden
Algemene configuratie:
make menuconfig
[#/software/freetz” ]