[gentoo] kernel recompile tijdens oracle install

Pagina: 1
Acties:

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:38
Tijdens het installeren van oracle 8.1.7 wordt er gevraagd om een aantal shared memory parameters aan te passen en vervolgens je kernel te rebuilden.

Voordat trouwens iemand vraagt, waarom 8.1.7., oracle 9 heeft toch een betere linux ondersteuning: ja dat klopt, maar ik heb maar 256 MB RAM, en 9 vraagt 512 MB.

Op zich is het aanpassen van die parameters niet zo spannend (met de manual erbij dan), maar om een of andere reden kan ik geen kernel hercompileren.

Wat heb ik gedaan:
1. /usr/src/linux/.config gebackupped naar /var/tmp/
2. make mrproper
3. make menuconfig --> oude .config geladen
4. make dep && make clean bzImage modules modules_install

Vervolgens gaat tijdens stap 4 wat fout (bij make bzImage), ik krijg een error [1], die verder niets helders verteld. :? Ik weet zeker dat de .config goed is, aangezien ik deze heb gebruikt bij mijn vorige kernel compilatie. Nu dus ineens niet meer.

Is het echt nodig om te hercompileren, of kan ik gewoon die hercompile (en dus die shared memory parameters) ignoren?

Egoist: A person of low taste, more interested in themselves than in me


Verwijderd

Ik denk dat die aanpassing wel nodig is in je kernel, want anders zou oracle er niet om vragen. Kan je wat meer vertellen over welke kernel je gebruikt, en welke distributie. Misschien zou je ook de foutmelding kunnen posten.

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Tegenwoordig kun je toch gewoon
code:
1
echo xxx > /proc/sys/kernel/shmmax

met xxx het aantal bytes dat je als maximum shared memory
wilt hebben ?

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Om welke shared mem parameters gaat het eigenlijk ?

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:38
distributie is gentoo, het gaat om oracle 8.1.7.
De parameters die oracle aangepast wil zien zijn
in /usr/src/linux/include/asm/shmparm.h: SHMMAX, SHMMIN, SHMMNI, SHMSEG
en in /usr/src/linux/include/linux/sem.h: SEMMNI, SEMMSL, SEMMNS, SEMOPS, SEMVMX

Deze parameters waren niet in gebruikt. Het heeft allemaal te maken met je shared memory pool (maar echt het fijne weet ik er niet van).

Als ik een kernel wil compileren (ff opnieuw
code:
1
 make dep&& make clean bzImage modules, modules_install

aanschoppen...)

code:
1
2
3
4
5
/usr/src/linux-2.4.19-gentoo-r5/include/linux/sem.h:66: undefined or invalid # directive
/usr/src/linux-2.4.19-gentoo-r5/include/linux/sem.h:68: parse error before `SEMMNI'
/usr/src/linux-2.4.19-gentoo-r5/include/linux/sem.h:74: undefined or invalid # directive
/usr/src/linux-2.4.19-gentoo-r5/include/linux/sem.h:88: parse error before `}'
make: *** [init/main.o] Error 1


zal het met die parameters te maken hebben?


edit:
, nog even de values erbij:

define SEMMNI 100 /* <= IPCMNI max # of semaphore identifiers */
define SEMMSL 210 /* <= 8 000 max num of semaphores per id */
define SEMMNS 21000 /* <= INT_MAX max # of semaphores in system */
define SEMOPM 100 /* <= 1 000 max num of ops per semop call */
define SEMVMX 32767 /* <= 32767 semaphore maximum value */


Dit stond allemaal uitgecommentarieerd met
#define bla bla bla bla...

[ Voor 0% gewijzigd door JaQ op 29-08-2002 23:44 . Reden: toch maar even de values erbij ]

Egoist: A person of low taste, more interested in themselves than in me


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Hmm , tja ik weet ook niet.
ik neem aan dat je aan die voorwaarden
SEMMNI = max IPCMNI voldoet.
Voor de termen:
SEMMNI = SEMaphore Max Nr of Identifiers , SHMMNI = SHared Mem Max Nr of Ident.
SEM en SHM zijn beide IPC (Inter Process Communication)
Voor mijn idee mogen SEMMNI plus SHMMNI samen niet meer zijn
als de IPCMNI ....

kun je daar wat mee ? :)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:38
eigenlijk niet, maar dat komt omdat ik niet genoeg van de stof weet. Ik ga maar eens wat spitten op kernel.org, misschien dat ik daar wat HOW-TO's kan vinden.

Toch bedankt... ;)

Egoist: A person of low taste, more interested in themselves than in me


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:55

Creepy

Tactical Espionage Splatterer

die # moet je NIET weghalen, die horen daar te staan ;)
Het is geen shellscript waarin # een commentaar is. # hoort bij de DEFINE te staan

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Doh !
Creepy heeft helemaal gelijk. Zou ik dan toch naar bed toe moeten ? :)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Ja ;)

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:38
Creepy>> je bedoelt dat #define een parameter is die wel meegenomen wordt?
De foutmelding betekend dan dus dat # voor define moet staan.

Als ik die # weghaal, kijg ik een andere error, maar die kan weleens met hetzelfde te maken hebben, alleen dan in shmparm.h Zal wel met hetzelfde te maken hebben

Thx. Ik denk dat ik er op deze manier wel uit kom.

(wel uitkijken, want na want drank maak je makkelijker fouten ;)

[code: error melding]
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:8: warning: `SHMMAX' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:12: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:9: warning: `SHMMIN' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:13: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:10: warning: `SHMMNI' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:14: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:11: warning: `SHMSEG' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:16: warning: this is the location of the previous definition
shm.c:68: parse error before `='
shm.c:69: parse error before `='
shm.c:69: parse error before `='
shm.c:69: initializer element is not constant
shm.c:70: parse error before `='
shm.c: In function `newseg':
shm.c:188: parse error before `='
shm.c: In function `sys_shmctl':
shm.c:413: parse error before `='
make[2]: *** [shm.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r5/ipc'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r5/ipc'
make: *** [_dir_ipc] Error 2
[/code]

ben er dus nog niet helemaal. Deze wordt even goed uitzoeken, maar met de eerder geboden hulp zou ik er nu echt uit moeten kunnen komen dacht ik.

[ Voor 0% gewijzigd door JaQ op 30-08-2002 02:09 . Reden: aanvulling na compile ]

Egoist: A person of low taste, more interested in themselves than in me


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:55

Creepy

Tactical Espionage Splatterer

DrFrankenstoner schreef op 30 augustus 2002 @ 02:04:
Creepy>> je bedoelt dat #define een parameter is die wel meegenomen wordt?
De foutmelding betekend dan dus dat # voor define moet staan.
Zoiets ja.. weet je iets van programmeren?? Kijk dan eens naar de taal C (waarin de kernel is geschreven!). Een #DEFINE is onderdeel van de taal C dus. en de # is hierin verplicht.
Als ik die # weghaal, kijg ik een andere error, maar die kan weleens met hetzelfde te maken hebben, alleen dan in shmparm.h Zal wel met hetzelfde te maken hebben

Thx. Ik denk dat ik er op deze manier wel uit kom.

(wel uitkijken, want na want drank maak je makkelijker fouten ;)

[code: error melding]
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:8: warning: `SHMMAX' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:12: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:9: warning: `SHMMIN' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:13: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:10: warning: `SHMMNI' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:14: warning: this is the location of the previous definition
/usr/src/linux-2.4.19-gentoo-r5/include/asm/shmparam.h:11: warning: `SHMSEG' redefined
/usr/src/linux-2.4.19-gentoo-r5/include/linux/shm.h:16: warning: this is the location of the previous definition
shm.c:68: parse error before `='
shm.c:69: parse error before `='
shm.c:69: parse error before `='
shm.c:69: initializer element is not constant
shm.c:70: parse error before `='
shm.c: In function `newseg':
shm.c:188: parse error before `='
shm.c: In function `sys_shmctl':
shm.c:413: parse error before `='
make[2]: *** [shm.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r5/ipc'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r5/ipc'
make: *** [_dir_ipc] Error 2
[/code]

ben er dus nog niet helemaal. Deze wordt even goed uitzoeken, maar met de eerder geboden hulp zou ik er nu echt uit moeten kunnen komen dacht ik.
[/quote]
In die shm.h file of de shmparam.h heb je die dingen zeker toegevoegd??? Haal ze weg in de file waaraan je ze hebt toegevoegd, en pas ze in de ander aan.
En zo te zien heb je nog enige typfoutjes gemaakt bij het aanpassen van de shm.c file.
Je bent namelijk in de source van de Linux kernel aan het eehh.. rommelen (nofi), en dat is in feite programmeren. Als je C niet kent, volg dan precies tot op de letter de aanwijzingen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:38
wazig, ik heb exact de manual gevolgd. enkel wijzigingen gemaakt (geen toevoegingen)

commentaar tussen /* */ gevoegd (ik had al een i.d. dat het C was)
ik zal vanavond even controleren op tikvoutjes (ben nu niet thuis).

thx

Egoist: A person of low taste, more interested in themselves than in me

Pagina: 1