Toon posts:

Vraagje over nieuwe kernel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Ik heb een nieuwe kernel voor Red Hat gesopt en deze wil ik configureren. Iedere kernel howto roept dat ik in moet tikken: make menuconfig. Dat doe ik maar dan krijg ik de volgende melding:
Makefile:488: Rules.make: No such file or directory make: *** No rule to make target `Rules.make'. Stop.

Hoe kom ik aan de Rules.make file?

Verwijderd

./configure?

Verwijderd

Topicstarter
Dan krijg ik: no such file or directory

Configure staat namelijk niet in de dir. Andere suggesties?

  • Wirf
  • Registratie: April 2000
  • Laatst online: 18-08 17:51
- Heb je ncurses?
- heb je de "officiele" kernel? (niet die zooi van redhat)


probeer anders eens of je make xconfig of make config kunt doen

Heeft sinds kort zijn wachtwoord weer terug gevonden!


Verwijderd

Topicstarter
Hi,

Ik heb de kernel bij ftp.nl.kernel.org vandaan getrokken (2.4.2)

Enneh wat zijn ncurses?

  • balk
  • Registratie: Januari 2000
  • Laatst online: 19-08 23:20
Doe eens 'make xconfig', en als dat niet gaat, wat is de foutmelding?

Verwijderd

Topicstarter
Foutmelding: Makefile:488: Rules.make: No such file or directory make: *** No rule to make target `Rules.make'. Stop.

Maareeh ik werk ook onder shell, dus niet in X...

Hte problee is gewoon dat ik geen Rules.make file heb en ik niet weet hoe ik daaraan kom (of hoe ik die moet genereren)

Verwijderd

Welke rules staan er in de makefile?

  • Wirf
  • Registratie: April 2000
  • Laatst online: 18-08 17:51
post anders de hele foutmelding ff..

en ncurses heb je nodig voor het stoere 8-) interface van make menuconfig

Heeft sinds kort zijn wachtwoord weer terug gevonden!


Verwijderd

Welke rules staan er in de makefile?

Verwijderd

Topicstarter
Waar staan dei rules

Ik kan de makefile wel opnenen, maar waar moet i kdan ongeveer kijken?

Verwijderd

Topicstarter
Op dinsdag 20 maart 2001 14:02 schreef Wirf het volgende:
post anders de hele foutmelding ff..

en ncurses heb je nodig voor het stoere 8-) interface van make menuconfig
Foutmelding is gewoon:
Makefile:488: Rules.make: No such file or directory make: *** No rule to make target `Rules.make'. Stop.

op het moment dat ik intik: make menuconfig

  • Wirf
  • Registratie: April 2000
  • Laatst online: 18-08 17:51
ik stuur je ander wel ff Rules.make

zet je ICQ maar aan :)

Heeft sinds kort zijn wachtwoord weer terug gevonden!


Verwijderd

Topicstarter
Ik zit nu op mijn werk en he bhier geen icq
Kan wel bij mijn mail, zou je ff willen mailen? Naar b.v.d.dries@chello.nl

Alvast bedankt!

  • Wirf
  • Registratie: April 2000
  • Laatst online: 18-08 17:51
haha.. lol.. zit ik daar een beetje tegen je icq te schreeuwen :)

maar ok, mail is onderweg

Heeft sinds kort zijn wachtwoord weer terug gevonden!


Verwijderd

Topicstarter
Ok bedankt,

Wat ik nou nog niet snap, hoe komt het nou dat ik geen Rules.make file heb? Want waar zou die normaal gesproken vandaan moeten komen?

Verwijderd

Topicstarter
Op dinsdag 20 maart 2001 14:08 schreef Wirf het volgende:
haha.. lol.. zit ik daar een beetje tegen je icq te schreeuwen :)

maar ok, mail is onderweg
Eeeh... ik heb je mail nog niet binnen, heb je hem niet teruggekregen?

Verwijderd

Op dinsdag 20 maart 2001 14:02 schreef Wibber het volgende:
Waar staan dei rules

Ik kan de makefile wel opnenen, maar waar moet i kdan ongeveer kijken?
Post eens alle woorden die op het begin van een regel staan (de 'targets') of althans de eerste paar. Misschien is daar wat uit op te maken.

Verwijderd

Topicstarter
Op dinsdag 20 maart 2001 15:05 schreef joska het volgende:

[..]

Post eens alle woorden die op het begin van een regel staan (de 'targets') of althans de eerste paar. Misschien is daar wat uit op te maken.
Ok:

VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 2
EXTRAVERSION =

KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)

ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)

CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)

HPATH = $(TOPDIR)/include
FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net

HOSTCC = gcc
HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

CROSS_COMPILE =

#
# Include the make variables (CC, etc...)
#

AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
MAKEFILES = $(TOPDIR)/.config
GENKSYMS = /sbin/genksyms
DEPMOD = /sbin/depmod
MODFLAGS = -DMODULE
CFLAGS_KERNEL =
PERL = perl

export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL

all: do-it-all

#
# Make "config" the default target if there is no configuration file or
# "depend" the target if there is no top-level dependency information.
#

ifeq (.config,$(wildcard .config))
include .config
ifeq (.depend,$(wildcard .depend))
include .depend
do-it-all: Version vmlinux
else
CONFIGURATION = depend
do-it-all: depend
endif
else
CONFIGURATION = config
do-it-all: config
endif

#
# INSTALL_PATH specifies where to place the updated kernel and system map
# images. Uncomment if you want to place them anywhere other than root.
#

#export INSTALL_PATH=/boot

#
# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
# relocations required by build roots. This is not defined in the
# makefile but the arguement can be passed to make if needed.
#

MODLIB := $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
export MODLIB

#
# standard CFLAGS
#

CPPFLAGS := -D__KERNEL__ -I$(HPATH)

CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing
AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)

#
# ROOT_DEV specifies the default root-device when making the image.
# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
# the default of FLOPPY is used by 'build'.
# This is i386 specific.
#

Verwijderd

Zit je wel in de goede directory? :)

  • wouzer
  • Registratie: Maart 2000
  • Niet online
Op dinsdag 20 maart 2001 18:41 schreef quinty het volgende:
Zit je wel in de goede directory? :)
My toughts exactly.

Verwijderd

Inderdaad?

nog een keer:

1) kernel downloaden van : www.kernel.org

2) uitpakken met gzip of tar of midnight commander >:) in /usr/src/linux
(als er al een /usr/src/linux=dan renamen of deleten ;)

3) cd /usr/src/linux

4) make menuconfig

5) make dep clean bzImage

6) lilo

7) suc6 *D

Verwijderd

Hmm ik zou die kernel-source nog maar eens een keer nakijken. Je moet namelijk wel een bestandje Rules.make hebben zoals de foutmelding ook al aangeeft. Simpelweg omdat de Makefile dat bestandje als include-file gebruikt. Zonder dat bestand is je Makefile dus onbruikbaar en kun je er niks mee.

De Rules.make wordt gebruikt om variabelen te initialiseren die door alle onderliggende Makefiles moeten worden gebruikt.

Er kunnen dus 2 dingen bij jou aan de hand zijn:

1) Je kernel-source is niet goed of niet goed uitgepakt (ik gok het laatste)
2) Je zit niet in de hoofddirectory van waar je de kernel-source hebt uitgepakt.

(Nog een kleine opmerking, die hoofddirectory waar de kernel is uitgepakt, hoeft dus niet /usr/src/linux te zijn in tegenstelling tot wat wel een gedacht wordt en (erger nog) ook wel een beweerd wordt.
Pak hem dus gewoon ergens uit waar jij wil (bijv. /usr/src/linux-<versienummer>). Na het compileren en installeren is het wel verstandig om een symlinkje te plaatsen "linux" genaamd in de directory /usr/src dat wijst naar de plaats waar je je kernel-source hebt staan, dit is simpelweg voor het feit dat sommige programma's de linux-headers (< linux-source) wel eens nodig hebben en die behoren dus wel op /usr/src/linux vindbaar te zijn.)
/me dwaalt weer iets te ver af geloof ik:)

  • N8w8
  • Registratie: Mei 2000
  • Niet online
Even een kleine correctie (om het ingewikkelder te maken):

Als je Linux uitpakt in /usr/src/linux staat Linux in /usr/src/linux/linux

Dus als je het volgens het boekje doet (welk boekje?) moet het ongeveer zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$ xhost + localhost
$ su
# mount -o remount,rw /usr/src
# cd /usr/src
# rm -fR linux
# tar yxf /mnt/sources/linux-2.4.2.tar.bz2
# cd linux
# make mrproper
# make xconfig # Doe ik iig altijd; config of menuconfig kan ook
# make dep >& dep.log
# fgrep -c -- '***' dep.log # (ik vergeet die grep parameters namelijk altijd ;)), er moet 0 uit komen.
# make bzImage >& bzImage.log
# fgrep -c -- '***' bzImage.log
# make modules >& modules.log
# fgrep -c -- '***' modules.log
# mount -o remount,rw /
# make modules_install >& modules_install.log
# fgrep -c -- '***' modules_install.log
# mount -o remount,rw /boot
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/2.4.2
# mcedit /etc/lilo.conf # ff imageje toevoegen (doe ik altijd met mcedit)
# mount -o remount,ro /
# lilo
# mount -o remount,ro /boot
# mount -o remount,ro /usr/src
# exit
$ xhost - localhost

;)
Pagina: 1