Ich habe das jetzt nur überflogen auf der Suche nach dem Problem, weil ich die (vermutlich richtigen) Schritte davor nicht noch einmal lesen wollte.
1. Ein gesonderter Checkout für "binaries" sollte nicht erforderlich sein, wenn man das Repo inkl. Submodules geklont hat - was Du ja nach dem Gezeigten getan hast. In dem Verzeichnis, wo Du das "git checkout binaries" versuchst, sollten die Dateien bereits liegen und zwar dieselben, wie unter diesem Link:
https://github.com/PeterPawn/yf_bin/tree/7cd06e296f58f95eb9aa3ca616fd3765cea58c56/squashfs/x86_64
2. Lassen sich die "mksquashfs*"- und/oder "unsquashfs*"-Binaries (such Dir eins aus) aufrufen und zur Anzeige des Hilfebildschirms überreden, ist die 32-Bit-Unterstützung wohl installiert - ich weiß aktuell auch nicht, was in den Linux-Versionen für die WSL (aus dem Windows-App-Store - es gibt ja mehr als eine Distro inzwischen und ich bin per se nicht wirklich ein Ubuntu-Fan ... das war nur damals die erste (und einzige) Version, die es gab, als ich die Beiträge schrieb) installiert ist und nachinstalliert werden kann aus irgendwelchen anderen (RPM-)Repos. Funktionieren die Programme, ist alles gut - erst wenn das nicht der Fall ist, muß man nach der Ursache dafür suchen.
3. Da liegst Du richtig ... habe ich irgendwo tatsächlich (dann irrtümlich und ohne daß ich es bemerkt hätte) ein
uname -r
anstelle des korrekten
uname -m
(
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/uname.html) verwendet in einer Beschreibung? Wenn ja, wüßte ich gerne, wo das war, damit ich es korrigieren kann.
EDIT: Ggf. noch der Hinweis, daß man einige Kommandos als "root" ausführen muß, weil die (vermutlich) beschriebenen Skripte sich nicht darum kümmern, ob da nun noch ein "sudo" vor ein Kommando gehört oder nicht - das ist bei Debian-Abkömmlingen ja manchmal "unerwünscht". Ich würde hier trotzdem (mit dem Gedanken im Hinterkopf, daß das besser kein produktiv genutztes System sein sollte, auf dem man die ersten Schritte (auch wenn das nur für dieses konkrete Thema wäre) unternimmt) einfach mit einem
sudo bash
beginnen und diese Shell auch erst dann wieder verlassen, wenn alles erledigt ist. Das ist zwar ein Security-Risiko ... aber es geht eben schon beim Entpacken der Firmware (immerhin ist die selbst ein komplettes OS) los, daß man da auch Dateien entpacken muß, die Bestandteil des OS und dem Zugriff "normaler Benutzer" üblicherweise entzogen sind - das gilt besonders für "special nodes" für alle möglichen Devices.
EDIT2: Ich bin nicht mal sicher, daß die Versionen aus "x86_64" die 32-Bit-Unterstützung überhaupt (noch) brauchen ... möglicherweise beziehen sich ältere Beiträge, in denen das eine Rolle spielte, auch auf eine Version, die für den ATOM-Prozessor der Puma6-Boxen gedacht war. Nachdem ich dann aber irgendwann mal mit der Nase darauf gestoßen wurde, daß dieser ATOM-Prozessor ein paar spezielle Instruktionen bereithält und "i686" und "ATOM" eben nicht zwangsläufig wechselseitig funktionieren, habe ich die 64-Bit-Versionen dazugepackt (aus dem Gedächtnis) ... zumal heute ja viele Distros gar keinen 32-Bit-Support mehr bieten, ohne daß der Benutzer erst ein paar Verrenkungen macht.
================================================================================================
Und noch ein Hinweis, der Dich aber nicht von der "Installation" eines Shell-Zugangs abhalten soll ... das Einrichten mehr als eines DynDNS-Accounts ist auch möglich, indem man nur die "ar7.cfg" in einer Export-Datei modifiziert und diese - nach Korrektur der Prüfsumme - wieder zurückspielt.
Ich betreibe schon seit Jahren eine solche Konfiguration ... auch mit "selbstdefinierten" zusätzlichen Einträgen in der Liste der Provider. Das geht aber auch mit mehreren "userdefined"-Einträgen und ist - wenn der DynDNS-Provider auch HTTPS-Requests unterstützt - auch die bessere Wahl, weil HTTPS in den selbstdefinierten Einträgen (wo nur der Servername und nicht die URL konfiguriert wird) nicht unterstützt wird.
Code:
ddns {
accounts {
enabled = yes;
domain = "$$$$46ONWKA1GYY332IMILLBKFOVDBA6H36IYUPFJWJBKFM2ITOHFIC3SFJAMWDZY622ZZKCBPHA6SL5HXK4YXS2K22XBNGEOFWTTB4GE3DW";
username = "$$$$DBWEOR4DNLGTI33GNNADGWGE3QMFMDH6GDUZY5ER1UT5M1CDK56BD6MPXAQU4ZBJHOTJOKHSFGGVZBGR";
passwd = "$$$$NKDP2MUSS1DOZBDYR3WMJRTFLLQEYWKFYSQIF2FFSKA5ZUYR13TVZUI1KSIAATWHTNV2ACLUSYZGGJPGK65F64T2XO6S3NOCHXD6ERZ2";
ddnsprovider = "meinservice2";
} {
enabled = yes;
domain = "$$$$FCTBD1IHUWMOHHIQBYZZCWVVH6TCBNYOF5NL1GTKCMCEFH5MM1UMXFXVSB1ZOSXL2K4UXVO62HHKF1AXYBQMMLWJOG4WNRQ6F5XA4NJ2";
username = "$$$$3W4VPZJOQ2YCO32S51WG4ALK1GWIBM6SIPUL642VEOMPNXCFCJW2QP5LCUBJVVISAPK4JER5OLE2HYKO";
passwd = "$$$$P6YS31M1WWK44XZW3PJNJUWPVYWFMJL2CDXHXXOFFC1FXXVSVWJU2I1RTH562NB155QLMECDM2V5A6LSS4RCABCIAYKIL6OHIWZX6VAD";
ddnsprovider = "meinservice1";
}
types {
type = "dyndns";
url = "/nic/update?system=dyndns&hostname=<domain>&myip=<ipaddr>&wildcard=NOCHG";
} {
type = "dyndns-custom";
url = "/nic/update?system=custom&hostname=<domain>&myip=<ipaddr>&wildcard=NOCHG";
} {
type = "dyndns-statdns";
url = "/nic/update?system=statdns&hostname=<domain>&myip=<ipaddr>&wildcard=NOCHG";
} {
type = "noip";
url = "/ducupdate.php?update=<b64>username=<username>&pass=<pass>&h[]=<domain>&ip=<ipaddr></b64>";
} {
type = "dns4biz_premium";
url = "/nic/update?system=dyndns&hostname=<domain>&myip=<ipaddr>&wildcard=&mx=&backmx=&offline=NO";
} {
type = "dns4biz_business";
url = "/nic/update?system=dyndns&hostname=<domain>&myip=<ipaddr>&wildcard=&mx=&backmx=&offline=NO";
} {
type = "selfhost";
url = "/nic/update?myip=<ipaddr>&host=<domain>&textmodi=1&http_status=1";
} {
type = "strato";
url = "/nic/update?hostname=<domain>";
} {
type = "TZO";
url = "/webclient/tzoperl.html?TZOName=<domain>&Email=<username>&TZOKey=<pass>&IPAddress=<ipaddr>&system=tzodns&info=1";
} {
type = "namemaster";
url = "/dyn.php?username=<username>&password=<pass>&hostname=<domain>&dual=<dualstack>";
} {
type = "anydns";
url = "/update.php?user=<username>&password=<pass>&host=<domain>&ip=<ipaddr>&ip6=<ip6addr>";
} {
type = "ms2";
url = "/update?ip4=<ipaddr>&ip6=<ip6addr>&ip6p=<ip6lanprefix>&ds=<dualstack>&mail=1¬ify=1";
} {
type = "ms1";
url = "/update?ip4=<ipaddr>&ip6=<ip6addr>&ip6p=<ip6lanprefix>&ds=<dualstack>&mail=1¬ify=1";
} {
type = "userdefined";
url = "";
} {
type = "dyndnsfree";
url = "/dyn.php?username=<username>&password=<pass>&hostname=<domain>&dual=<dualstack>";
}
provider {
name = "dyndns.org";
type = "dyndns";
livedelay = 0w;
touchtime = 30d;
server = "members.dyndns.org";
ip6server = "";
infourl = "http://www.dyndns.org/";
ddnsmode = ddns_both;
} {
name = "dyndns.org-custom";
type = "dyndns-custom";
livedelay = 0w;
touchtime = 30d;
server = "members.dyndns.org";
ip6server = "";
infourl = "http://www.dyndns.org/";
ddnsmode = ddns_both;
} {
name = "dyndns.org-statdns";
type = "dyndns-statdns";
livedelay = 0w;
touchtime = 30d;
server = "members.dyndns.org";
ip6server = "";
infourl = "http://www.dyndns.org/";
ddnsmode = ddns_both;
} {
name = "No-IP.com";
type = "noip";
livedelay = 4m;
touchtime = 30d;
server = "dynupdate.no-ip.com:8245";
ip6server = "";
infourl = "http://www.no-ip.com/";
ddnsmode = ddns_v4;
} {
name = "DNS4BIZ.DE Premium";
type = "dns4biz_premium";
livedelay = 0w;
touchtime = 0w;
server = "au-eu.dns4biz.de";
ip6server = "";
infourl = "http://www.dns4biz.com/services_avm.php3";
ddnsmode = ddns_v4;
} {
name = "DNS4BIZ.DE Business";
type = "dns4biz_business";
livedelay = 0w;
touchtime = 0w;
server = "au-eu.dns4biz.biz";
ip6server = "";
infourl = "http://www.dns4biz.com/services_avm.php3";
ddnsmode = ddns_v4;
} {
name = "selfhost.de";
type = "selfhost";
livedelay = 0w;
touchtime = 0w;
server = "carol.selfhost.de";
ip6server = "";
infourl = "http://www.selfhost.de";
ddnsmode = ddns_v4;
} {
name = "STRATO AG";
type = "strato";
livedelay = 4m;
touchtime = 0w;
server = "dyndns.strato.com";
ip6server = "";
infourl = "http://www.strato.de/webhosting/index.html";
ddnsmode = ddns_v4;
} {
name = "TZO.com";
type = "TZO";
livedelay = 0w;
touchtime = 0w;
server = "rh.tzo.com";
ip6server = "";
infourl = "http://www.tzo.com";
ddnsmode = ddns_v4;
} {
name = "namemaster.de";
type = "namemaster";
livedelay = 0w;
touchtime = 0w;
server = "dynup.de:443";
ip6server = "ipv6.dynup.de:443";
infourl = "http://www.namemaster.de";
ddnsmode = ddns_both;
} {
name = "meinservice2";
type = "ms2";
livedelay = 3m;
touchtime = 3d;
server = "dyndns.somewhereelse.de";
ip6server = "dyndns.somewhereelse.de";
infourl = "http://dyndns.somewhereelse.de/info";
ddnsmode = ddns_both_together;
} {
name = "meinservice1";
type = "ms1";
livedelay = 3m;
touchtime = 3d;
server = "dyndns.somewhere.de";
ip6server = "dyndns.somewhere.de";
infourl = "http://dyndns.somewhere.de/info";
ddnsmode = ddns_both_together;
} {
name = "<userdefined>";
type = "userdefined";
livedelay = 4m;
touchtime = 0w;
server = "";
ip6server = "";
infourl = "";
ddnsmode = ddns_v4;
} {
name = "AnyDNS";
type = "anydns";
livedelay = 0w;
touchtime = 0w;
server = "anydns.info";
ip6server = "";
infourl = "http://www.anydns.info";
ddnsmode = ddns_both_together;
} {
name = "Dyndnsfree.de";
type = "dyndnsfree";
livedelay = 1m;
touchtime = 30d;
server = "dynup.de:443";
ip6server = "ipv6.dynup.de:443";
infourl = "http://www.dyndnsfree.de";
ddnsmode = ddns_both;
}
}
Das (also die Änderung in der "ar7.cfg") ist auch gleichzeitig der einzige mir bekannte Weg, auf dem man den DynDNS-Client der Box überreden kann, für die "benutzerdefiniert"-Einträge einen anderen Wert als die vorgegebene "touchtime" von "0w" zu verwenden - dann faßt der Client solche Einträge/Accounts nämlich gar nicht mehr an, solange sich nichts ändert ... manchmal möchte man aber eine "regelmäßige Bestätigung", daß das schon noch die richtige Box ist hinter der DynDNS-Adresse, auch nach drei Tagen (meine Einstellung oben). Allerdings hängt diese Einstellung eben wieder am "provider"-Eintrag und damit gibt es da nur einen gemeinsamen Wert, wenn man gleichzeitig noch HTTPS verwenden will.
Daher benutze ich die gezeigten "provider"-Einträge auch i.d.R. nur zum Test und verwende ansonsten auf Produktiv-Boxen eher HTTPS mit einem "benutzerdefiniert"-Eintrag, weil der DynDNS-Client per se schon "basic auth" verwendet und daher die verwendeten Credentials eigentlich immer (nur mäßig "verschleiert" durch die verwendete Base64-Kodierung) im Klartext durch die Gegend brüllt. Dabei kommt der Server gar nicht mehr dazu, seinerseits "digest auth" anzufordern bzw. der Client interpretiert das dabei dann verwendete "Unauthorized" gleich direkt als systematischen Fehler - das ist also praktisch unbenutzbar nach meinen Tests, wenn man auch nur im Ansatz einen Wert auf Sicherheit legt.
Wenn jemandem bei "benutzerdefiniert" die Aktualisierung zu lange dauern sollte nach einem Neustart, kann man bei "livedelay" die Zeit auch noch herunterdrehen ... die sorgt halt dafür, daß nicht bei jedem Neustart der Box, der ja auch bei "Installationsorgien" deutlich mehr als einmal in kurzen Abständen erfolgen kann, auch der DynDNS-Server aktualisiert wird ... mancher Service hat/hatte auch Beschränkungen, wieviele Updates in einem Zeitintervall erlaubt sind/waren.
Beim "ddnsmode" kann man dann - nach meiner Erfahrung jedenfalls - konfigurieren, ob der Provider IPv4 und IPv6 oder nur eines unterstützt und ob bei DS-Anbindung die Aktualisierung von IPv4- und IPv6-Adressen in einem gemeinsamen Request oder einzeln erfolgen soll ... was aber - bei entsprechend konfigurierter URL - nicht heißt, daß nicht die Infos für das jeweils andere Protokoll auch in dem Request enthalten wären. Hier können dann aber "server" und "ip6server" auch wieder unterschiedliche Ziele adressieren - zumindest in den selbst hinzugefügten "provider"-Einträgen.