Schwierigkeiten mit Kernelbau!

MadBSE

Windows Fluechtling
Moin miteinander,

Bei FreeBSD 6.1 BETA2 werde ich einfach nicht schlau aus dem Handbook Habe ich da irgendwas wichtiges übersehen?:confused:

Code:
# cd /root/kernels
# config MYKERNEL
config: ../compile/MYKERNEL: No such file or directory
# make buildkernel KERNCONF=MYKERNEL
make: don't know how to make buildkernel. Stop
# cd /usr/src
FreeBSD# make buildkernel KERNCONF=MYKERNEL
ERROR: Missing kernel configuration file(s) (MYKERNEL).
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
# /usr/sbin/config MYKERNEL
config: ../compile/MYKERNEL: No such file or directory
#
 
in die make.conf eintragen KERNCONF=MYKERNEL

und nach handbuch beschrieben kernelbau 5.x bauen...das funktioniert..bzw. make clean auch nach error unter /usr/src bzw. bauverzeichnis machen
 
Die Kernel-Configs sind, hier für die i386-Architektur, in
/usr/src/sys/i386/conf.

Wenn du dort eine Kernel-Config-Datei hast, die MYKERNEL heisst,
dann wechselst du nach
/usr/src
und kannst mit
# make kernel KERNCONF=MYKERNEL
den Kernel bauen und installieren.
# make kernel
fasst die beiden Befehle
# make buildkernel
# make installkernel
zusammen.
 
Ich weiß ja nicht ob ich der einzige mit diesen Schwierigkeiten bin.
Danke für die tips allerdings bin ich immer noch genau soweit wie vorher
und dabei habe ich All(e);) Packages und die Port Sammlung auf meinem AMD(i386) Sempron 2800+ Installiert. In meiner make.conf steht auch KERNCONF=MYKERNEL.
Das kann es also auch nicht sein.;'(

Code:
# make kernel KERNCONF=MYKERNEL
ERROR: Missing kernel configuration file(s) (MYKERNEL).
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
#

# make KERNCONF=MYKERNEL buildkernel installkernel
ERROR: Missing kernel configuration file(s) (MYKERNEL).
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
#
 
Ich vermute immer noch, dass Deine Kernel Config nicht unter /usr/src zu finden ist und deswegen der Fehler kommt.
 
Wenn du i386-Architektur benutzt, zeige mal die Ausgabe von:
$ ls -la /usr/src/sys/i386/conf
 
Zuletzt bearbeitet:
Das sieht dann so aus.
Code:
# ls -la /usr/src/sys/i386/conf
total 60
drwxr-xr-x   2 root  wheel    512 Mar 12 19:59 .
drwxr-xr-x  14 root  wheel    512 Mar 12 19:59 ..
-rw-r--r--   1 root  wheel     13 Jun 20  2005 .cvsignore
-rw-r--r--   1 root  wheel    372 Oct 28 19:21 DEFAULTS
-rw-r--r--   1 root  wheel  10160 Jan 23 14:19 GENERIC
-rw-r--r--   1 root  wheel   1741 Jan 14  2005 GENERIC.hints
-rw-r--r--   1 root  wheel    120 Feb 26  2003 Makefile
-rw-r--r--   1 root  wheel  33483 Dec 14 00:52 NOTES
-rw-r--r--   1 root  wheel   1782 Nov  8 22:28 PAE
-rw-r--r--   1 root  wheel    322 Sep 18  2005 SMP
#

Wie auch schon am Anfang gepostet.
Verfahren 1. Bau eines Kernels mit der “herkömmlichen” Methode

Das Ergebnis daraus.
Code:
# /usr/sbin/config MYKERNEL
config: ../compile/MYKERNEL: No such file or directory
 
Du hast im angegebenen Verzeichnis keine Kernel-Konfigurationsdatei,
die MYKERNEL heisst.

Darum kannst du auch keinen Kernel bauen.
 
Nachdem ich MYKERNEL als root nach /usr/src/sys/i386/conf kopiert habe gab es folgende Ergebnisse.
Code:
# /usr/sbin/config MYKERNEL
config: MYKERNEL:23: syntax error

# make kernel KERNCONF=MYKERNEL
make: don't know how to make kernel. Stop
#
 
Code:
# /usr/sbin/config MYKERNEL
config: MYKERNEL:23: syntax error

Das sagt , das du in die Config Datei MYKERNEL in Zeile 23 Fehler vorliegt.
Poste deine MYKERNEL.
 
Es gab einen Tippfehler in MYKERNEL, Zeile 23. Danke für den hinweis.:cool:

Ok, soweit so gut jetzt gibt’s allerdings neue Schwierigkeiten und die sehen folgendermaßen aus.:confused:
Code:
# make depend
rm -f .newdep
make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES |  MKDEP_CPP="cc -E" CC="cc" xargs mkdep -a -f .newdep -O -pipe -march=athlon-xp -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -fformat-extensions -std=c99 -g -nostdinc -I-  -I. -I../../.. -I../../../contrib/altq -I../../../contrib/ipfilter -I../../../contrib/pf -I../../../contrib/dev/ath -I../../../contrib/dev/ath/freebsd -I../../../contrib/ngatm -I../../../dev/twa -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding
../../../dev/usb/if_aue.c:106:23: miibus_if.h: No such file or directory
../../../dev/usb/if_axe.c:105:23: miibus_if.h: No such file or directory
../../../dev/usb/if_rue.c:105:23: miibus_if.h: No such file or directory
../../../pci/if_sis.c:105:23: miibus_if.h: No such file or directory
mkdep: compile failed
*** Error code 1

Stop in /usr/src/sys/i386/compile/MYKERNEL.
#
 
In der Kernel-Konfigurationsdatei GENERIC steht doch:

Code:
# USB Ethernet, requires miibus
device          aue             # ADMtek USB Ethernet
device          axe             # ASIX Electronics USB Ethernet
device          cdce            # Generic USB over Ethernet
device          cue             # CATC USB Ethernet
device          kue             # Kawasaki LSI USB Ethernet
device          rue             # RealTek RTL8150 USB Ethernet

Hast du das auskommentiert?

Und führst du ein
Code:
# make depend
aus, wozu?

Es ist doch ganz einfach, nachdem du deine Kernelkonfigurationsdatei
korrekt angepasst und in /usr/src/sys/i386/conf gespeichert hast, machst du folgendes:
Code:
# cd /usr/src
# make kernel KERNCONF=MYKERNEL
 
Geh doch endlich nach dem neuen schema vor. Den ganzen Kram mit 'make config' und 'make depend' kannst du in die Tonne kippen.

# make buildkernel
# make installkernel
 
Ich gebe Kamikaze voll und ganz recht lasst mal bitte den alten kram.

am besten is du versuchst erstmal den generic zu compilen und wenn das klappt kopierste den GENERIC und machst deine aenderungen

cd /usr/src

make KERNCONF=GENERIC buildkernel
make KERNCONF=GENERIC installkernel

das KERNCONF is nur dafuer da um zu definieren welche config er nehmen soll die unter /usr/src/sys/i386/conf/ zu finden ist und die kernel config's auch nirgends anders sein sollten.
Also wenn du ne neue config machen willst kopiere erst die GENERIC und editier die. Die sollte per default 1A durchlaufen.

cd /usr/src/sys/i386/conf/
cp GENERIC MYKERNEL

cd /usr/src
make KERNCONF=MYKERNEL buildkernel
make KERNCONF=MYKERNEL installkernel

und dann nen reboot.
fertig aus und nich anders ;)


PS. wenn das immernoch nich funktioniert mach /usr/src leer und fetche die neuen source mit cvsup und probiers nochmal.
 
Zurück
Oben