|
| 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/
| |
|
|