[Frage] Boot-Information Negiotation-Layer (BINL-Server)

MrTweek1987

Neuer User
Mitglied seit
2 Mai 2011
Beiträge
116
Punkte für Reaktionen
0
Punkte
0
Ok, ich habe seit ner weile bereits einen BINL-Server auf meiner Box am laufen und wollte fragen, ob überhaupt Interesse besteht an solch ein Freetz-Package <.< ...

Okay jetz erstmal zur frage, "WTF ist ein BINL-Server und wofür brauche ich ihn?!":

Wir wissen alle, dass man Windows XP/200X über Netzwerk installieren kann oder das Windows PE 1.5 bzw BartPE direkt laden kann. bei etwas älteren mini-schleppbüchern, hat man aber eben mal kein DVD-Laufwerk.
man kan also XP über USB installieren oder über Netzwerk Um aber das letztere zu ermöglichen ist mehr als ein DNSMASQ nötig, man benötigt zusätzlich einen BINL-Server, welcher dem Windows-Setup (Setuploader)
sagt, WELCHEN Netzwerkkarten-Treiber, das Setup am "ende vom laden der eigenen Treiber" zu laden hat, damit es auf die SMB-Freigabe und auf die Installations-dateien zugreifen kann.

jedoch ohne einen BINL_Server erhalten wir folgende Fehlermeldung und das setup wird beendet: http://diddy.boot-land.net/pxe/files/img/binl1.jpg

Da ich bereits einen BINL-Server auf der fritzbox 7270 kompiliert habe (man kann ihn problemlos mittels Freetz selber bauen), wollte ich fragen ob das evtl jemand nützlich findet,
weil dann könnte man ein Package-basteln und es als ins repo hinzufügen. allerdings gibt es 2 probleme (naja okay 1 Problem)

- man müsste ein WebIF für schreiben, wo man die Hardware-IDS einträgt, damit der BINL-Server dem Client ja sagen muss, was das Setup für Netzwerkkartentreiber laden muss, dafür muss eine Nics.txt erstellt werden.
es muss ein MAKE-File gebaut werden, was den Pfad der Nics.txt angibt bzw festlegt. die nics.txt hat folgende zeilen pro treiber:

#Vendor-ID Device-ID treiber.sys servicename

1011 0019 dc21x4.sys DC21x4
1022 2000 PCNTPCI5.sys PCnet

diese werte bekommen wir aus der inf-datei des Windows Treibers

PCI\VEN_1011&DEV_0019 - servicename.sys servicename


sowas sollte man dann auch problemlos von einer textbox mit CAT irgendwo reinschreiben können <.<

könnt ja mal kommentare ablassen ob ihr das für nötig bzw brauchbar hältet
 
Zuletzt bearbeitet:
Code:
freetz@Medice-PC:/opt/freetz$ make ris-linux-precompiled
mkdir -p packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/ris-linux-0.4/root
if test -d make/ris-linux/files; then tar -c -C make/ris-linux/files --exclude=.svn . | tar -x -C packages/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/ris-linux-0.4 ; fi
---> package/ris-linux: preparing... tools/gunzip -c dl/ris-linux-0.4.tar.gz | tar -C source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1 -x
set -e; shopt -s nullglob; for i in make/ris-linux/patches/*.patch; do tools/freetz_patch source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/ris-linux-0.4 $i; done
    applying patch file make/ris-linux/patches/100-nicfiles.patch
    patching file binlsrv.c
    ----------------------------------------------------------------------
cmd() { PATH="/opt/freetz/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin:/opt/freetz/toolchain/build/mipsel_gcc-4.6.4/mipsel-unknown-linux-gnu/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" LD_RUN_PATH="/usr/lib/freetz" make -j2  "$@"  || { printf "\n\\033[33m%s\\033[m\n" "ERROR: Build failed.";  exit 1; } };        if [ -e source/.echo_item_start -a ! -e source/.echo_item_build ]; then echo -n "building... "; touch source/.echo_item_build; fi; cmd -C  \
        CC="/opt/freetz/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc" \
        CFLAGS="-march=4kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" \

building... make: *** CC=/opt/freetz/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc: Datei oder Verzeichnis nicht gefunden.  Schluss.

irgendwie klappt das nicht <.< ...

ris-linux.mk

Code:
$(call PKG_INIT_BIN, 0.4)
$(PKG)_SOURCE:=ris-linux-$($(PKG)_VERSION).tar.gz
$(PKG)_SOURCE_MD5:=7315e1d02436668299f3d6aaf4efc87e
$(PKG)_SITE:=http://oss.netfarm.it/guides
$(PKG)_BINARY:=$($(PKG)_DIR)/binlsrv
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/binlsrv

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)


$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
	$(SUBMAKE) -C $(RIS-LINUX_DIR) \
	CC="$(TARGET_CC)" \
	CFLAGS="$(TARGET_CFLAGS)" \
	

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
	$(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
	-$(SUBMAKE) -C $($(PKG)_DIR) clean
	$(RM) $($(PKG)_DIR)/.configured

$(pkg)-uninstall:
	$(RM) $($(PKG)_TARGET_BINARY)

$(PKG_FINISH)

nicfiles-patch:

Code:
--- binlsrv_orig.c	2007-03-17 03:38:46.000000000 +0100
+++ binlsrv.c	2013-10-21 03:36:56.814261156 +0200
@@ -36,7 +36,7 @@
 #endif
 
 #ifndef NICFILE
-#define NICFILE "nics.txt"
+#define NICFILE "/var/tmp/nics.txt"
 #endif
 
 #ifndef __LITTLE_ENDIAN
 
Zuletzt bearbeitet:
Bei den groß geschriebenen Variablen Namen wird das Minus in Unterstrich umgewandelt, es muss also heißen RIS_LINUX_DIR, nicht RIS-LINUX_DIR.

Die Datei nics.txt könnte man als Konstante vorgeben, es gibt nicht so viele gängige Netzwerkkarten.
 

Statistik des Forums

Themen
244,694
Beiträge
2,216,663
Mitglieder
371,313
Neuestes Mitglied
virFortis
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.