/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Kernel compiling Problemer!
Fra : Heine Laursen


Dato : 02-10-02 07:51

Hejsa.

Ja, så er det mig igen.

Jeg har nu forsøgt at compile en kernel, op til flere gange. Nu er det
endelig lykkedes mig at compile en kernel der ikke melder fejl, når den
booter op. Men i stædet for så fryser den under boot, lige efter den har
skrevet freeing unused memory XXX kb.

Kernel er en 2.4.19 på en debian woody pc, med en P133 MMX

Jeg har apselut ingen ide om hvad der går galt,
--
Mvh
Heine Laursen

 
 
Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 09:09

Heine Laursen wrote:
> Jeg har nu forsøgt at compile en kernel, op til flere gange. Nu er det
> endelig lykkedes mig at compile en kernel der ikke melder fejl, når den
> booter op. Men i stædet for så fryser den under boot, lige efter den har
> skrevet freeing unused memory XXX kb.
> Kernel er en 2.4.19 på en debian woody pc, med en P133 MMX

Det er vist det sidste, kernen skriver, inden den kalder init.

Kunne tyde på at init går ned. Du har vel ikke rodet med den?

Du mangler måske snarere noget i kernen, som er essentielt for init.

Prøv evt. at indsætte debug-kode sidst i init/main.c i kerne-sourcen, og
se hvor langt den kommer.

--
Lars Kongshøj

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 15:27

In article <3D9AA983.19B09150@hotmail.com>, Lars Kongshøj wrote:
> Heine Laursen wrote:
>> Jeg har nu forsøgt at compile en kernel, op til flere gange. Nu er
det
>> endelig lykkedes mig at compile en kernel der ikke melder fejl, når den
>> booter op. Men i stædet for så fryser den under boot, lige efter den har
>> skrevet freeing unused memory XXX kb.
>> Kernel er en 2.4.19 på en debian woody pc, med en P133 MMX
>
> Det er vist det sidste, kernen skriver, inden den kalder init.
>
> Kunne tyde på at init går ned. Du har vel ikke rodet med den?

Nej, ikke hvad jeg ved af. Jeg kan ikke engang finde initrd på systemet

Og min 2.2.XX kernel booter op uden problemer

> Du mangler måske snarere noget i kernen, som er essentielt for init.
>
> Prøv evt. at indsætte debug-kode sidst i init/main.c i kerne-sourcen, og
> se hvor langt den kommer.

Ok.
Hvordan gøres dette lige?

--
Mvh
Heine Laursen

Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 18:23

Heine Laursen wrote:
> > Kunne tyde på at init går ned. Du har vel ikke rodet med den?
> Nej, ikke hvad jeg ved af. Jeg kan ikke engang finde initrd på systemet

Nej, tænkte jeg nok. Jeg oplevede bare en gang selv præcist samme
symptomer som dig, og det var fordi jeg havde installeret en init på et
K6-system, som var oversat på en Athlon.

> > Prøv evt. at indsætte debug-kode sidst i init/main.c i kerne-sourcen, og
> > se hvor langt den kommer.
> Hvordan gøres dette lige?

Det gøres nok kun hvis du kan programmere C. Fx.

printk("På punkt 1");

Så kan du finde ud af præcist, hvor problemet opstår.

--
Lars Kongshøj
http://www.kongshoj.com/

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 18:39

In article <3D9B2B59.50053E99@hotmail.com>, Lars Kongshøj wrote:
> Heine Laursen wrote:
>> > Kunne tyde på at init går ned. Du har vel ikke rodet med den?
>> Nej, ikke hvad jeg ved af. Jeg kan ikke engang finde initrd på systemet
>
> Nej, tænkte jeg nok. Jeg oplevede bare en gang selv præcist samme
> symptomer som dig, og det var fordi jeg havde installeret en init på et
> K6-system, som var oversat på en Athlon.

Snakker du her om hvor du definere om det eks skal være en P Classic,
P med MMX, eller Anden processor i menuconfig?

Der vælger jeg Pentium MMX

>> > Prøv evt. at indsætte debug-kode sidst i init/main.c i kerne-sourcen, og
>> > se hvor langt den kommer.
>> Hvordan gøres dette lige?
>
> Det gøres nok kun hvis du kan programmere C. Fx.

Jammen det kan jeg da. Jeg kan programmere et hello world, program og
køre gdb på det

Meeen mine evner til C programmering rækker nok ikke til kernel debuging

> printk("På punkt 1");
>
> Så kan du finde ud af præcist, hvor problemet opstår.

--
Mvh
Heine Laursen

Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 18:47

Heine Laursen wrote:
> In article <3D9B2B59.50053E99@hotmail.com>, Lars Kongshøj wrote:
> > Nej, tænkte jeg nok. Jeg oplevede bare en gang selv præcist samme
> > symptomer som dig, og det var fordi jeg havde installeret en init på et
> > K6-system, som var oversat på en Athlon.
> Snakker du her om hvor du definere om det eks skal være en P Classic,
> P med MMX, eller Anden processor i menuconfig?

Noget tilsvarende. Jeg var ikke opmærksom på at gcc som default
genererede Athlon-specifik kode, når den kører på en Athlon. Derfor
kunne en init, over sat på en Athlon, ikke køre på en K6. Det er kun ved
kerne-konfiguration, man bliver spurgt om processor, det er ikke normalt
for andre programmer.

> > Det gøres nok kun hvis du kan programmere C. Fx.
> Jammen det kan jeg da. Jeg kan programmere et hello world, program og
> køre gdb på det
> Meeen mine evner til C programmering rækker nok ikke til kernel debuging

Det er ikke så krævende. Prøv at tage et kig på det sidste 20 linier i
init/main.c

Om det så kan give dig et hint, om hvad der er galt, er så spørgsmålet.
Det fik mig på sporet.

Du har valgt support for ELF i kernen, ik'?

--
Lars Kongshøj
http://www.kongshoj.com/

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 19:17

In article <3D9B312B.6FF65474@hotmail.com>, Lars Kongshøj wrote:
> Noget tilsvarende. Jeg var ikke opmærksom på at gcc som default
> genererede Athlon-specifik kode, når den kører på en Athlon. Derfor
> kunne en init, over sat på en Athlon, ikke køre på en K6. Det er kun ved
> kerne-konfiguration, man bliver spurgt om processor, det er ikke normalt
> for andre programmer.

Dette problem burte jeg ikke have, for jeg compilere kernelen på samme
pc som den skal bruges på.

> Det er ikke så krævende. Prøv at tage et kig på det sidste 20 linier i
> init/main.c

Det ser faktisk ud som om det er noget jeg kan finde ud af aligevel.

> Om det så kan give dig et hint, om hvad der er galt, er så spørgsmålet.
> Det fik mig på sporet.
>
> Du har valgt support for ELF i kernen, ik'?

Jeps.
Det spørger du om, fordi init er en ELF Binary ik'?

--
Mvh
Heine Laursen

Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 19:24

Heine Laursen wrote:
> In article <3D9B312B.6FF65474@hotmail.com>, Lars Kongshøj wrote:
> > Noget tilsvarende. Jeg var ikke opmærksom på at gcc som default
> > genererede Athlon-specifik kode, når den kører på en Athlon. Derfor
> > kunne en init, over sat på en Athlon, ikke køre på en K6. Det er kun ved
> > kerne-konfiguration, man bliver spurgt om processor, det er ikke normalt
> > for andre programmer.
> Dette problem burte jeg ikke have, for jeg compilere kernelen på samme
> pc som den skal bruges på.

Det er ikke noget problem ved oversættelse af kernen, da man jo her får
mulighed for at vælge arkitektur.

Problemet opstår først, når man som jeg forsøgte at oversætte
almindelige programmer på min hurtigste maskine, men bruge programmerne
på min gamle.

> > Du har valgt support for ELF i kernen, ik'?
> Jeps.
> Det spørger du om, fordi init er en ELF Binary ik'?

Præcis.

--
Lars Kongshøj
http://www.kongshoj.com/

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 20:41

Ok. Kernelen stopper, fordi den prøver at åbne /dev/console
Jeg har ikke nogen /dev/console

Så skal jeg vel have fat i makedev, eller kan jeg nøjes med at sætte et
symlink?

--
Mvh
Heine Laursen

Kent Friis (02-10-2002)
Kommentar
Fra : Kent Friis


Dato : 02-10-02 20:50

Den 02 Oct 2002 19:41:12 GMT skrev Heine Laursen:
>Ok. Kernelen stopper, fordi den prøver at åbne /dev/console
>Jeg har ikke nogen /dev/console
>
>Så skal jeg vel have fat i makedev, eller kan jeg nøjes med at sætte et
>symlink?

MAKEDEV console

Mvh
Kent
--
Indlæringskurven til Linux er stejl, til tider lodret... Men for katten
hvor er udsigten på toppen dog fantastisk
- Michael G. Vendelbo i dk.snak

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 21:31

In article <anfikq$cer$1@sunsite.dk>, Kent Friis wrote:
> Den 02 Oct 2002 19:41:12 GMT skrev Heine Laursen:
>>Ok. Kernelen stopper, fordi den prøver at åbne /dev/console
>>Jeg har ikke nogen /dev/console
>>
>>Så skal jeg vel have fat i makedev, eller kan jeg nøjes med at sætte et
>>symlink?
>
> MAKEDEV console

Okay. mine evner til at debugge er åbenbart ikke særlig gode.

Fra main.c:

printk("Frier Hukommelsen");
freeinitmem();
printk("Ulåser kernel");
unlock_kernel();
printk("Åbner console");

if (open("/dev/console", O_RDWR, 0) < 0)
   printk("Warring: unable to open an initial console.\n");

(void) dup(0);
(void) dup(0);

/*
* We try each of these until one succeeds.
*
* The Bourne shell can be used instead of init if we are
* trying to recover a really broken machine.
*/

printk("Starter søgning af init");
if (execue_command)
   execve(execute_command,argv_init,envp_init);
printk("Leder i /sbin/init");
execve("/sbin/init",argv_init,envp_init);
printk("Leder i /etc/init");
execve("/etc/init",argv_init,envp_init);
printk("Leder i /bin/init");
execve("/bin/init",argv_init,envp_init);
printk("Prøver at køre /bin/sh som sidste udvej");
execve("/bin/sh",argv_init,envp_init);
printk("Panik");
panic("No init found. Try passing init= option to kernel.");

Den sidste tekst der bliver vist, under boot er 'Åbner console'

Nu er jeg lost! Hjæælp.

--
Mvh
Heine Laursen

Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 22:37

Heine Laursen wrote:
> Fra main.c:
> printk("Åbner console");
> if (open("/dev/console", O_RDWR, 0) < 0)
> printk("Warring: unable to open an initial console.\n");
> (void) dup(0);
> (void) dup(0);
> printk("Starter søgning af init");
> Den sidste tekst der bliver vist, under boot er 'Åbner console'
> Nu er jeg lost! Hjæælp.

Du burde måske også have en debug før kaldende til dup.

Er du sikker på at dine valg vedr. console i kernekonfigurationen var
korrekte?

--
Lars Kongshøj
Konsulentbistand i Oracle og Unix tilbydes
http://www.kongshoj.com/

Heine Laursen (03-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 03-10-02 12:56

In article <3D9B6700.D60EE285@hotmail.com>, Lars Kongshøj wrote:
> Er du sikker på at dine valg vedr. console i kernekonfigurationen var
> korrekte?

Jeg Har valgt VGA text console og fra valgt Video mode selection support

--
Mvh
Heine Laursen

Lars Kongshøj (03-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 03-10-02 13:29

Heine Laursen wrote:
> In article <3D9B6700.D60EE285@hotmail.com>, Lars Kongshøj wrote:
> > Er du sikker på at dine valg vedr. console i kernekonfigurationen var
> > korrekte?
> Jeg Har valgt VGA text console og fra valgt Video mode selection support

Hvad med under "character devices" ("virtual terminal", "support for
console on ...")?

--
Lars Kongshøj
http://www.kongshoj.com/

Heine Laursen (03-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 03-10-02 14:15

In article <3D9C3822.2CEC8FA3@hotmail.com>, Lars Kongshøj wrote:
> Heine Laursen wrote:
>> In article <3D9B6700.D60EE285@hotmail.com>, Lars Kongshøj wrote:
>> > Er du sikker på at dine valg vedr. console i kernekonfigurationen var
>> > korrekte?
>> Jeg Har valgt VGA text console og fra valgt Video mode selection support
>
> Hvad med under "character devices" ("virtual terminal", "support for
> console on ...")?

Her er der valgt:

Virtual terminal
Support for virtual terminal
Standart/generic (8250/15650 and combatible UARTs) serial support
Unix98 PTY support
(256) Maximum number of Unix98 PTYs in use

De bliver bygget ind i kernel.

--
Mvh
Heine Laursen

Lars Kongshøj (03-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 03-10-02 15:47

Heine Laursen wrote:
> Virtual terminal
> Support for virtual terminal
> Standart/generic (8250/15650 and combatible UARTs) serial support
> Unix98 PTY support
> (256) Maximum number of Unix98 PTYs in use
> De bliver bygget ind i kernel.

Jeg har ikke så mange ideer så. Er der stadig aktivitet på harddisken,
efter at uddata på skærmen stopper?

En mulighed er at starte helt forfra med en nyudpakket kerne, og sørge
for ikke at vælge for meget fra i første omgang.

--
Lars Kongshøj

Heine Laursen (03-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 03-10-02 17:10

In article <3D9C5861.CFBC4555@hotmail.com>, Lars Kongshøj wrote:
> Heine Laursen wrote:
>> Virtual terminal
>> Support for virtual terminal
>> Standart/generic (8250/15650 and combatible UARTs) serial support
>> Unix98 PTY support
>> (256) Maximum number of Unix98 PTYs in use
>> De bliver bygget ind i kernel.
>
> Jeg har ikke så mange ideer så. Er der stadig aktivitet på harddisken,
> efter at uddata på skærmen stopper?

Der er lys i harddisk lampen. Men efter en halv time, genstartede jeg
maskinen

> En mulighed er at starte helt forfra med en nyudpakket kerne, og sørge
> for ikke at vælge for meget fra i første omgang.

Det ser ud til det er sidste udvej!

--
Mvh
Heine Laursen

Kent Friis (03-10-2002)
Kommentar
Fra : Kent Friis


Dato : 03-10-02 15:55

Den 03 Oct 2002 13:15:15 GMT skrev Heine Laursen:
>In article <3D9C3822.2CEC8FA3@hotmail.com>, Lars Kongshøj wrote:
>> Heine Laursen wrote:
>>> In article <3D9B6700.D60EE285@hotmail.com>, Lars Kongshøj wrote:
>>> > Er du sikker på at dine valg vedr. console i kernekonfigurationen var
>>> > korrekte?
>>> Jeg Har valgt VGA text console og fra valgt Video mode selection support
>>
>> Hvad med under "character devices" ("virtual terminal", "support for
>> console on ...")?
>
>Her er der valgt:
>
>Virtual terminal
>Support for virtual terminal
>Standart/generic (8250/15650 and combatible UARTs) serial support
>Unix98 PTY support
>(256) Maximum number of Unix98 PTYs in use

Jeg kan ikke lige så omtalte "support for console on virtual terminal"
på din liste...

Mvh
Kent
--
"Intelligence is the ability to avoid doing work, yet get the work done"
- Linus Torvalds

Leo Laursen (03-10-2002)
Kommentar
Fra : Leo Laursen


Dato : 03-10-02 16:58

Heine Laursen <gozar@myrealbox.com>:
> Virtual terminal
> Support for virtual terminal
> Standart/generic (8250/15650 and combatible UARTs) serial support
> Unix98 PTY support
> (256) Maximum number of Unix98 PTYs in use

> De bliver bygget ind i kernel.

Bare lige en hurtig strøtanke. Du skulle vel ikke have valgt devfs uden
at have dæmonen kørende, eller måske snarere omvendt.

Leo
--
Bilbo's First Law:
   You cannot count friends that are all packed up in barrels.

Heine Laursen (03-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 03-10-02 17:11

In article <anhpf1$g9r$1@sunsite.dk>, Leo Laursen wrote:
> Heine Laursen <gozar@myrealbox.com>:
>> Virtual terminal
>> Support for virtual terminal
>> Standart/generic (8250/15650 and combatible UARTs) serial support
>> Unix98 PTY support
>> (256) Maximum number of Unix98 PTYs in use
>
>> De bliver bygget ind i kernel.
>
> Bare lige en hurtig strøtanke. Du skulle vel ikke have valgt devfs uden
> at have dæmonen kørende, eller måske snarere omvendt.

Hmm, hvordan kan jeg chekke om jeg har sådan en køerende?

--
Mvh
Heine Laursen

Heine Laursen (02-10-2002)
Kommentar
Fra : Heine Laursen


Dato : 02-10-02 20:55

In article <3d9b4bd8$0$32551$edfadb0f@dspool01.news.tele.dk>, Heine Laursen wrote:

Okay. Endnuengang har jeg hvist været lidt for hurtigt på tasterne.

> Ok. Kernelen stopper, fordi den prøver at åbne /dev/console
> Jeg har ikke nogen /dev/console
>
> Så skal jeg vel have fat i makedev, eller kan jeg nøjes med at sætte et
> symlink?

Hvis jeg skal bruge makedev, hvad for nogne tal skal jeg så skrive?
Hvis jeg kan lave et symlink, hvad skal jeg så lave et symlink fra?

--
Mvh
Heine Laurse

Lars Kongshøj (02-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 02-10-02 21:30

Heine Laursen wrote:
>
> In article <3d9b4bd8$0$32551$edfadb0f@dspool01.news.tele.dk>, Heine Laursen wrote:
>
> Okay. Endnuengang har jeg hvist været lidt for hurtigt på tasterne.
>
> > Ok. Kernelen stopper, fordi den prøver at åbne /dev/console
> > Jeg har ikke nogen /dev/console
> > Så skal jeg vel have fat i makedev, eller kan jeg nøjes med at sætte et
> > symlink?
> Hvis jeg skal bruge makedev, hvad for nogne tal skal jeg så skrive?

Det er vist

mknod /dev/console c 5 1

--
Lars Kongshøj
http://www.kongshoj.com/

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste