Batman-adv und DKMS

Hallo

ich versuche aktuell unter Debian 9 Batman-adv 2018.2 ins DKMS zu bekommen damit es bei Kernelupdates gleich wieder richtig mitgebaut wird. Leider komm ich da nicht ganz weiter, vielleicht kann mir wer helfen.

Ich hab die Batman sourcen nach /usr/src/batman-adv-2018.2.0 kopiert und eine dkms.conf darin angelegt mit den Inhalt:

Wenn ich es dann versuche zu bauen, entsteht folgendes:

und die make.log dazu:

er scheint es eigentlich erfolgreich durchzubauen, sagt aber dennoch das es gescheitert ist. Ich werde daraus nicht ganz schlau, jemand eine Idee wie man das richtig hinbekommt?

mfg

Christian

1 „Gefällt mir“

Der Build liefert idR mindestens einen schweren Fehler weil „Secure Boot“ kann natürlich „so“ nicht gebaut werde, mangels signkey. (Und was natürlich hier auch gar nicht nötig ist)

Da wird es vermutlich eine Compiler-Option geben, den Teil zu überspringen.
Wenn Du das findest, sage doch bitte auch hier Bescheid, dann könnte ich meine Scripte anpassen.

  INSTALL /tmp/batman-adv-2018.2/net/batman-adv/batman-adv.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory

Dein log meint ja auch du sollst noch bitte libelf-dev o.ä. installieren.
dkms mit batman 2017.2 funktionierte bei mir mit Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-133-generic x86_64).
Bin aber nicht mehr sicher wo ich das genau her hatte. kpanic hat da ein package gebacken.

Wenn ich mich richtig entsinne, hatte ich damit auch mal was gefrickelt …
… für ein Debian
Datei anlegen: /etc/apt/sources.list.d/freifuck.list
Text rein kopieren: deb https://freifuck.de/debian [jessie|stretch] main
apt-key adv --keyserver pool.sks-keyservers . net --recv-keys B2522557E6AB9BF5 (bitte die Leerzeichen bei „net“ entfernen … wg. Forum-Regel „nur 2 Links pro Post“)
apt update
apt install batman-adv batctl

Bei Ubuntu:
wget https://freifuck.de/debian/pool/main/b/batctl/batctl_2017.3-stretch-1_amd64.deb
installiere es per:
dpkg -i ./batctl_2017.3-stretch-1_amd64.deb

falls Fehler, fehlt vermutlich die aktuelle Lib
sudo apt install libnl-genl-3-dev # ging bei einer VM
oder evtl. geht ein:
apt install libnl-genl-3-200 # ging bei ner anderen VM

Wegen der Mcast-„optimierungen“ (aka: unsubscription-Bugs) will man schon batman2018.2 benutzen (oder ein 201x.y mit vielen relevanten Backports), zumindest wenn man Knoten mit Gluon 2018.1.x im Netz hat.

Daher halte ich Tipps, um batman2017.2 o.ä. zu installieren für nicht besonders hilfreich. (Es sei denn man stellt über die bat-up-scripte wirklich sicher, mcast-support sicher zu disabeln.)

War halt die letzte Version, die ich mit dkms ans laufen gebracht hatte. Aber kpanic hat in dem besagten repo auch die 2018.2 drin.

Lösung: in dkms.conf muss der Build-Pfad jetzt so sein:
BUILT_MODULE_LOCATION=net/batman-adv

Danke hexa- für den Hinweis!

2 „Gefällt mir“

Wie im IRC angemerkt kam der Hinweis von @ecsv.

Danke klappt :slight_smile: Hier noch eine komplette Anleitung mit funkionierender config (waren noch paar weitere Kleinigkeiten oben falsch):

https://wiki.freifunk-franken.de/w/Freifunk-Gateway_aufsetzen/Batman-adv#DKMS_f.C3.BCr_batman-adv

2 „Gefällt mir“

Wo genau muss ich die dkms.conf hinlegen?

Antwort
In den Batman Unterordner in /usr/src

1 „Gefällt mir“

Im Wiki-Beitrag steht aber, dass die dkms.conf in den Batman-Unterordnet kommt:

Unter /usr/src einen Ordner anlegen mit NAME-Version z.b. batman-adv-2018.2 (zum aktuellen Zeitpunkt die aktuelle Version). Hier hinein entpackt man nun die Batman-adv sourcen und legt eine dkms.conf ebenfalls in dem Ordner an:

Oder ist es egal, Hauptsache irgendwo in dem Tree?

Hatte ich überlesen

ich bin ja ein ehrlicher Mensch, nach deiner Rückfrage…

https://wiki.freifunk-franken.de/mediawiki/index.php?title=Freifunk-Gateway_aufsetzen%2FBatman-adv&type=revision&diff=11998&oldid=11995

hab ich das etwas ausführlicher nochmal bearbeitet :wink:

mfg

Christian

1 „Gefällt mir“

Das freifuck Repo von @kpanic wird inzwischen u.a. von mir mit frischen Paketen versorgt für batman-adv 2018.3 und batctl, für debian jessie-backports sowie debian stretch.
die Pakete enthalten jetzt auch die notwendigen Abhängigkeitsdefinitionen, damit man da nichts mehr vergessen kann und vermeidet ein nicht zum Kernel passendes Paket zu installieren.

3 „Gefällt mir“

@rotanid @kpanic

Könntet ihr bitte Batman 2018 für Debian 8 in eurem Repo bereitstellen?

Danke euch!

müsste möglich sein, aber dann ungetestet, da das keiner von uns nutzt.
daher bisher nur jessie-backports und stretch.
ich glaube batman-adv 2018.4 fehlt noch im repo weil kpanic bisher keine Zeit hatte die builds einzupflegen

Das wäre super vielleicht hat @kpanic ja mal Zeit dafür.

@rotanid du schriebst oben, dass ihr via jessie-backports auch Batman 2018 bereit stellt.

Ich bekomme aber nur 2017. Hast du dich verschrieben oder mach ich was falsch?

Nachtrag:
Ich hatte jessie-backports vergessen…

Jetzt geht’s danke!

cat <<-EOF>> /etc/apt/sources.list.d/freifuck.list
deb https://freifuck.de/debian jessie main
deb https://freifuck.de/debian jessie-backports main
EOF
2 „Gefällt mir“

inzwischen gibt es auch batman-adv und batctl 2019.1 für jessie, jessie-backports, stretch und stretch-backports von mir, evtl. auch buster schon von @kpanic
nicht alles davon liegt aber schon im repository, muss er noch einpflegen.

2 „Gefällt mir“

übrigens pflege ich diese builds für mich/uns immer noch, wer also ein aktuelles batman-adv (aktuell 2020.1) benötigt für Debian 8/9/10 und Ubuntu 16.04/18.04 (jeweils normale und Backport/HWE) kann sich bei mir melden.
batctl kann bei Debian 9+10 aus den offiziellen Repos bezogen werden, das wird dort von Sven/ecsv gepflegt, für Debian 8 und Ubuntu wiederum gerne bei mir melden.
Nein, ich möchte keine öffentlichen Links posten, weil es großteils nicht getestet ist.

-rw-r--r-- 1 root root  52352 Jun  2 03:11 batctl_2020.1-0~tecff~deb8u1_amd64.deb
-rw-r--r-- 1 root root  54316 Jun  2 03:11 batctl_2020.1-0~tecff~ubuntu0.16.04u1_amd64.deb
-rw-r--r-- 1 root root  56092 Jun  2 03:11 batctl_2020.1-0~tecff~ubuntu0.18.04u1_amd64.deb
-rw-r--r-- 1 root root 102012 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb10u2_amd64.deb
-rw-r--r-- 1 root root 106212 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb10u2.bpo.1_amd64.deb
-rw-r--r-- 1 root root  96942 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb8u2_amd64.deb
-rw-r--r-- 1 root root  94940 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb8u2.bpo.1_amd64.deb
-rw-r--r-- 1 root root  95722 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb9u2_amd64.deb
-rw-r--r-- 1 root root 101176 Jun  2 03:11 batman-adv_2020.1-0~tecff~deb9u2.bpo.1_amd64.deb
-rw-r--r-- 1 root root 107176 Jun  2 03:11 batman-adv_2020.1-0~tecff~ubuntu0.16.04u1_amd64.deb
-rw-r--r-- 1 root root 108836 Jun  2 03:11 batman-adv_2020.1-0~tecff~ubuntu0.16.04u1.hwe.1_amd64.deb
-rw-r--r-- 1 root root 108668 Jun  2 03:11 batman-adv_2020.1-0~tecff~ubuntu0.18.04u1_amd64.deb
-rw-r--r-- 1 root root 108916 Jun  2 03:11 batman-adv_2020.1-0~tecff~ubuntu0.18.04u1.hwe.1_amd64.deb
1 „Gefällt mir“

Ein normal benutzbares PPA wäre halt toll.
aber wenn’s niemand machen möchte, dann bleibt es eben dabei, dass alle lokal bauen.

das Freifuck Repo läuft doch super