kernel-betreffend

eeknay

Well-Known Member
hi,

ich hab mal nach dem handbook mein kernel angepasst, hat auch alles funktioniert, aber ich würde gerne mal wissen wie ich einsehen kann ob das jetzt auch wirklich der kernel mit meinen anpassungen ist.

wie geht denn sowas?

gruß
eeknay
 
/usr/src/sys/i386/conf/LINT:

# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
# strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
#
options INCLUDE_CONFIG_FILE # Include this file in kernel


vielleicht hilft das.
 
Original geschrieben von current
Schau dir mal die Ausgabe von 'uname -a' an.

root@orange: /usr/obj/usr/src/sys/GENERIC i386


demnach ist das nicht der kernel den ich angepasst habe, der heißt MYKERNEL.
ich habe mich genau an die anweisungen im handbook gehalten.
mein kernel liegt in /usr/src/sys/i386/conf als MYKERNEL

...hm

ps.: mit dem posten von
kith kann ich irgendwie nichts anfangen
 
Original geschrieben von eeknay
root@orange: /usr/obj/usr/src/sys/GENERIC i386
demnach ist das nicht der kernel den ich angepasst habe, der heißt MYKERNEL.

asg@huibuh:/home/asg:uname -a
FreeBSD huibuh.encephalon.de 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Wed Sep 10 10:28:54 CEST 2003 asg@huibuh.encephalon.de:/usr/obj/usr/src/sys/SPEZI i386

In dicken Lettern der Befehl und der Name des Kernels. Dazu noch das Builddatum.

ich habe mich genau an die anweisungen im handbook gehalten.
mein kernel liegt in /usr/src/sys/i386/conf als MYKERNEL

Das ist Deine Konfigurationsdatei für Deinen Kernel.

Was hast Du gemacht um den kernel zu bauen. Bitte posten.
 
hm, das datum bei meiner ausgabe ist schon von heute, nur hab ich den glaub ich nur recompilier.

gemacht habe ich das hier:

Code:
make buildkernel KERNCONF=MYKERNEL

und dann
Code:
make installkernel KERNCONF=MYKERNEL
 
Ahja, und was steht in der Kernel Konfigurationsdatei "MYKERNEL" drin?
Mich interessiert nur ein Eintrag:

ident SPEZI

Steht da bei Dir noch GENERIC drin?

Ich tippe mal ja. Und, hast Du Änderungen an der Kernelconfig vorgenommen, oder einfach nochmal übersetzt?
 
das steht:

ident MYKERNEL

ich hab zu allererst, das GENERIC nach MYKERNEL kopiert und dort dann angepasst.
 
was genau kann ich denn dagegen tun, bzw. wo bekomm ich die datei denn her?
anscheinend ist sie im GENERIC integriert weil sonst meine nic nicht funktionieren würde.
 
Du hast einen Netzwerktreiber in der Kernel-configuration der den 'miibus' braucht (media independent interface), aber den miibus gelöscht. Füge "device miibus" zu deiner Kernel-Config hinzu.

Tip: Statt GENERIC abzuändern ist es einfacher, ein Configfile zu erstellen, indem die Treiber gelöscht sind, die man nicht braucht. Siehe meinen TYBALT im Attachment...
 

Anhänge

  • tybalt.txt
    2,3 KB · Aufrufe: 300
nee, da hast du mich leider falsch verstanden.

device miibus steht in der kernelconfig mein netzwerk wird ohne nicht funktionieren, was ich also brauche ist diese miibus_if.h ...

wegen dem tip, genau das habe ich ja gemacht, ich hab mein kernel gemäße dem handbook angepasst und alles das was ich nicht benötige auskommentiert.
da mein netzwerkdevice untern den miibus 'sachen' aufgeführt ist muss der leider drin bleiben. ich verstehe nur nicht warum das ding fehlt. vorallem muss es ja wohl eine möglichkeit geben den wieder zu bekommen, falls der mir irgendwie abhanden gekommen ist.

gruß
eeknay

ps.: das bsd ist ja ohnehin schon SEHR nett, aber mit nem angepassten kernel soll's ja noch besser sein.
 
Hups, ich habe nicht weit genug nach oben gescrollt. 'make buildkernel' geht davon aus, dass Du vorher ein 'make buildworld' gemacht hast. Falls nicht, führ folgendes aus
Code:
cd /usr/src/sys/i386/conf
config MYKERNEL
cd ../compile/MYKERNEL
make depend && make && make install
 
danke, davon wusste ich nix.
also diese befehle führe ich vor 'make buildkernel' ?
muss ich dann auch noch make buildworld machen? was genau bewirkt letzters?

gruß
eeknay
 
Es sollte reichen einen Kernel so zu bauen:
cd /usr/src/
make buildkernel KERNCONF=MYKERNEL
danach
make installkernel KERNCONF=MYKERNEL
Gut ist.

Wenn er die obige miibus Datei vermisst, dann schau doch mal auf Deinem System ob diese überhaupt vorhanden ist. Wenn er etwas vermisst dann wird es wohl nicht da sein. Was für mich dann wieder bedeutet, installier Dir die sourcen.
 
Im Handbuch sind ja zwei Methoden beschrieben. Einmal der Zweizeiler und dann noch "the traditional way" Also ich hab es bis jetzt IMMER the traditional way gemacht weil ich bis jetzt IMMER irgendwelche Probleme mit der anderen Methode hatte.

Mein Tip machs wie current es gesagt hat, auch in Zukunft.
 
Benutze, seit es die "neue" Methode gibt, ausschliesslich diese, und, habe 0 (in Worten "NULL") Probleme damit. Weder unter STABLE noch unter CURRENT.
 
ok, ich lass es jetzt mal nach current's methode laufen. die miibus sache fehlt ganz, obwohl ich die sourcen installiert habe.

ich sag einfach mal bescheid wenn er fertig ist.

gruß
eeknay
 
Code:
mly_cam.o(.text+0x955): undefined reference to `cam_periph_find'
mly_cam.o(.text+0x95f): undefined reference to `xpt_free_path'
umass.o: In function `umass_cam_attach_sim':
umass.o(.text+0x12bf): undefined reference to `cam_simq_alloc'
umass.o(.text+0x12e5): undefined reference to `cam_sim_alloc'
umass.o(.text+0x12fe): undefined reference to `xpt_bus_register'
umass.o(.text+0x130e): undefined reference to `cam_simq_free'
umass.o: In function `umass_cam_rescan_callback':
umass.o(.text+0x1327): undefined reference to `xpt_free_path'
umass.o: In function `umass_cam_rescan':
umass.o(.text+0x1371): undefined reference to `xpt_periph'
umass.o(.text+0x137a): undefined reference to `xpt_create_path'
umass.o(.text+0x138d): undefined reference to `xpt_setup_ccb'
umass.o(.text+0x13a8): undefined reference to `xpt_action'
umass.o: In function `umass_cam_detach_sim':
umass.o(.text+0x145f): undefined reference to `xpt_bus_deregister'
umass.o(.text+0x147d): undefined reference to `cam_sim_free'
umass.o: In function `umass_cam_detach':
umass.o(.text+0x14be): undefined reference to `xpt_create_path'
umass.o(.text+0x14df): undefined reference to `xpt_async'
umass.o(.text+0x14e7): undefined reference to `xpt_free_path'
umass.o: In function `umass_cam_action':
umass.o(.text+0x1805): undefined reference to `xpt_done'
umass.o(.text+0x1815): undefined reference to `xpt_done'
umass.o: In function `umass_cam_cb':
umass.o(.text+0x1911): undefined reference to `xpt_done'
umass.o: In function `umass_cam_sense_cb':
umass.o(.text+0x1988): undefined reference to `xpt_done'
umass.o(.text+0x1999): undefined reference to `xpt_done'
*** Error code 1

Stop in /usr/obj/usr/src/sys/MYKERNEL
*** Error code 1

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

Stop in /usr/src.

...
 
also, es hing mit scsi zusammen, da war ein modul das von usb gebraucht wurde, das war offensichtlich alles. ;)

gruß
eeknay
 
ich habe mit der neuen Methode den Kernel zu backen auch noch nie Probleme gehabt. Hatte erst auch immer die alte genutzt, fand die aber doof zu merken :-)

Gruß, incmc
 
Zurück
Oben