Wie in meinem früheren Post über das Snom 870 erwähnt, fehlen auf dem Snom 870 mit aktueller Firmware (V8.7.3.25) die Kernelmodule für iptables.
Auf dem Snom läuft ein Linux 2.6.19. Der geneigte Linux-Nutzer weiß, dass man diese Module cross-compilen kann.
Wie geht das?
Zunächst lädt man sich von Snom “Necessary tools to compile snom710,720,760,821,870,Vision und MeetingPoint sources” herunter und entpackt diese.
Danach benötigt man den Linux-Kernel mit der Version 2.6.19 (aus dem Kernel-Git oder direkt von http://kernel.org).
Anschließend kopiert man die Sourcen der iptables-Module des Vanilla-Kernels in den entsprechenden Ordner des Snom-Kernels, und bearbeitet mit seinem Lielingstool die Config des Snom-Kernels um die Module zu kompilieren.
Anschließnd fügt man Toolchain und Compiler seinem Path hinzu
export PATH=/pfad/zu/necessary/tools/firmware/toolchain/CodeSourcery/Sourcery_G++_Lite/libexec/gcc/arm-none-linux-gnueabi/4.2.0:/pfad/zu/necessary/toolsfirmware/toolchain/CodeSourcery/Sourcery_G++_Lite/bin/:$PATH
Anschließend kann man die Module mit
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules
kompilieren und mit
an seine Lieblingsstelle kopieren.
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules_install INSTALL_MOD_PATH=/pfad/zu/modules
Die Module kann man nun auf das snom nach /lib/modules/KERNELVERSION/kernel
laden.
Zuletzt muss man die /lib/modules/KERNELVERSION/modules.dep
anpassen, damit mit module korrekt geladen werden können.
kernel/net/ipv4/netfilter/ipt_ecn.ko:
kernel/net/ipv4/netfilter/ip_tables.ko:
kernel/net/ipv4/netfilter/ip_conntrack_proto_sctp.ko:
kernel/net/ipv4/netfilter/ip_nat.ko:kernel/net/ipv4/netfilter/ip_conntrack.ko
kernel/net/ipv4/netfilter/ipt_TCPMSS.ko:
kernel/net/ipv4/netfilter/arpt_mangle.ko:
kernel/net/ipv4/netfilter/ipt_CLUSTERIP.ko:
kernel/net/ipv4/netfilter/ipt_tos.ko:
kernel/net/ipv4/netfilter/ipt_ttl.ko:
kernel/net/ipv4/netfilter/ipt_hashlimit.ko:
kernel/net/ipv4/netfilter/ip_nat_h323.ko:
kernel/net/ipv4/netfilter/ip_nat_pptp.ko:
kernel/net/ipv4/netfilter/ip_nat_snmp_basic.ko:
kernel/net/ipv4/netfilter/ipt_SAME.ko:
kernel/net/ipv4/netfilter/ipt_owner.ko:
kernel/net/ipv4/netfilter/iptable_nat.ko:
kernel/net/ipv4/netfilter/ip_nat_tftp.ko:
kernel/net/ipv4/netfilter/ip_conntrack.ko:
kernel/net/ipv4/netfilter/ip_conntrack_h323.ko:
kernel/net/ipv4/netfilter/iptable_raw.ko:
kernel/net/ipv4/netfilter/ipt_addrtype.ko:
kernel/net/ipv4/netfilter/ip_conntrack_pptp.ko:
kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko:
kernel/net/ipv4/netfilter/ip_conntrack_netbios_ns.ko:
kernel/net/ipv4/netfilter/ip_conntrack_irc.ko:
kernel/net/ipv4/netfilter/ipt_ah.ko:
kernel/net/ipv4/netfilter/arp_tables.ko:
kernel/net/ipv4/netfilter/ip_conntrack_sip.ko:
kernel/net/ipv4/netfilter/ipt_recent.ko:
kernel/net/ipv4/netfilter/ip_nat_amanda.ko:
kernel/net/ipv4/netfilter/ipt_ULOG.ko:
kernel/net/ipv4/netfilter/ipt_REDIRECT.ko:
kernel/net/ipv4/netfilter/ipt_REJECT.ko:
kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko:
kernel/net/ipv4/netfilter/ip_nat_ftp.ko:
kernel/net/ipv4/netfilter/iptable_filter.ko:
kernel/net/ipv4/netfilter/ip_nat_irc.ko:
kernel/net/ipv4/netfilter/ipt_NETMAP.ko:
kernel/net/ipv4/netfilter/ip_conntrack_amanda.ko:
kernel/net/ipv4/netfilter/ip_nat_sip.ko:
kernel/net/ipv4/netfilter/ipt_ECN.ko:
kernel/net/ipv4/netfilter/ipt_LOG.ko:
kernel/net/ipv4/netfilter/arptable_filter.ko:
kernel/net/ipv4/netfilter/ipt_iprange.ko:
kernel/net/ipv4/netfilter/iptable_mangle.ko:
kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko:
kernel/net/ipv4/netfilter/ipt_TOS.ko:
kernel/net/ipv4/netfilter/ipt_TTL.ko:
Es sind wahrscheinlich nicht alle Abhängigkeiten damit abgedeckt, aber für viele Zwecke reichen diese.