Batman-adv und DKMS


#1

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


#2

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


#3

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


#4

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.)


#5

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.


#6

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

Danke hexa- für den Hinweis!


#7

Wie im IRC angemerkt kam der Hinweis von @ecsv.


#8

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


#9

Wo genau muss ich die dkms.conf hinlegen?

Antwort
In den Batman Unterordner in /usr/src


#10

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?


#11

Hatte ich überlesen


#12

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


#13

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.